aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings/src/components/AppAPI/DaemonSelectionModal.vue
diff options
context:
space:
mode:
authorAndrey Borysenko <andrey18106x@gmail.com>2025-07-01 23:40:31 +0300
committerAndrey Borysenko <andrey18106x@gmail.com>2025-07-01 23:55:43 +0300
commit65c381abee053d4f6e4f8fc19984b89c90721217 (patch)
tree58f16e8c653180e99e3d3f6eeff41a48d059625a /apps/settings/src/components/AppAPI/DaemonSelectionModal.vue
parentc89856b2fa7281421fc8e86cb67223d75a890fe4 (diff)
downloadnextcloud-server-feat/settings/app_api/daemon-selection.tar.gz
nextcloud-server-feat/settings/app_api/daemon-selection.zip
feat(settings): Deploy daemon selection support during ExApp installationfeat/settings/app_api/daemon-selection
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Diffstat (limited to 'apps/settings/src/components/AppAPI/DaemonSelectionModal.vue')
-rw-r--r--apps/settings/src/components/AppAPI/DaemonSelectionModal.vue70
1 files changed, 70 insertions, 0 deletions
diff --git a/apps/settings/src/components/AppAPI/DaemonSelectionModal.vue b/apps/settings/src/components/AppAPI/DaemonSelectionModal.vue
new file mode 100644
index 00000000000..2f77cd8a992
--- /dev/null
+++ b/apps/settings/src/components/AppAPI/DaemonSelectionModal.vue
@@ -0,0 +1,70 @@
+<template>
+ <div class="daemon-selection-modal">
+ <NcModal :show="show"
+ :name="t('settings', 'Daemon selection')"
+ size="normal"
+ @close="closeModal">
+ <div class="select-modal-body">
+ <h3>{{ t('settings', 'Choose Deploy Daemon for {appName}', {appName: app.name }) }}</h3>
+ <DaemonSelectionList :app="app"
+ :deploy-options="deployOptions"
+ @close="closeModal" />
+ </div>
+ </NcModal>
+ </div>
+</template>
+
+<script>
+import NcModal from '@nextcloud/vue/components/NcModal'
+import DaemonSelectionList from './DaemonSelectionList.vue'
+import { useAppsStore } from '../../store/apps-store'
+import { useAppApiStore } from '../../store/app-api-store'
+
+export default {
+ name: 'DaemonSelectionModal',
+ components: {
+ NcModal,
+ DaemonSelectionList,
+ },
+ props: {
+ show: {
+ type: Boolean,
+ required: true,
+ default: false,
+ },
+ app: {
+ type: Object,
+ required: true,
+ },
+ deployOptions: {
+ type: Object,
+ required: false,
+ default: () => ({}),
+ },
+ },
+ setup() {
+ const store = useAppsStore()
+ const appApiStore = useAppApiStore()
+
+ return {
+ store,
+ appApiStore,
+ }
+ },
+ data() {
+ return {
+ selectDaemonModal: false,
+ }
+ },
+ methods: {
+ closeModal() {
+ this.$emit('update:show', false)
+ },
+ },
+}
+</script>
+<style scoped>
+.select-modal-body h3 {
+ text-align: center;
+}
+</style>