aboutsummaryrefslogtreecommitdiffstats
path: root/apps/settings/src/components/AppAPI/DaemonEnableSelection.vue
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings/src/components/AppAPI/DaemonEnableSelection.vue')
-rw-r--r--apps/settings/src/components/AppAPI/DaemonEnableSelection.vue84
1 files changed, 84 insertions, 0 deletions
diff --git a/apps/settings/src/components/AppAPI/DaemonEnableSelection.vue b/apps/settings/src/components/AppAPI/DaemonEnableSelection.vue
new file mode 100644
index 00000000000..e8aac3705d0
--- /dev/null
+++ b/apps/settings/src/components/AppAPI/DaemonEnableSelection.vue
@@ -0,0 +1,84 @@
+<template>
+ <div class="daemon">
+ <NcListItem :name="itemTitle"
+ :details="isDefault ? t('settings', 'Default') : ''"
+ :force-display-actions="true"
+ :counter-number="daemon.exAppsCount"
+ :class="{'daemon-default': isDefault }"
+ counter-type="highlighted"
+ @click.stop="selectDaemonAndInstall">
+ <template #subname>
+ {{ daemon.accepts_deploy_id }}
+ </template>
+ </NcListItem>
+ </div>
+</template>
+
+<script>
+import NcListItem from '@nextcloud/vue/components/NcListItem'
+import AppManagement from '../../mixins/AppManagement.js'
+import { useAppsStore } from '../../store/apps-store'
+import { useAppApiStore } from '../../store/app-api-store'
+
+export default {
+ name: 'DaemonEnableSelection',
+ components: {
+ NcListItem,
+ },
+ mixins: [AppManagement],
+ props: {
+ daemon: {
+ type: Object,
+ required: true,
+ default: () => {},
+ },
+ isDefault: {
+ type: Boolean,
+ required: true,
+ default: () => false,
+ },
+ app: {
+ type: Object,
+ required: true,
+ default: () => {},
+ },
+ deployOptions: {
+ type: Object,
+ required: false,
+ default: () => null,
+ },
+ },
+ setup() {
+ const store = useAppsStore()
+ const appApiStore = useAppApiStore()
+
+ return {
+ store,
+ appApiStore,
+ }
+ },
+ computed: {
+ itemTitle() {
+ return this.daemon.name + ' - ' + this.daemon.display_name
+ },
+ daemons() {
+ return this.appApiStore.dockerDaemons
+ },
+ },
+ methods: {
+ closeModal() {
+ this.$emit('close')
+ },
+ selectDaemonAndInstall() {
+ this.closeModal()
+ this.enable(this.app.id, this.daemon, this.deployOptions)
+ },
+ },
+}
+</script>
+
+<style lang="scss">
+.daemon-default > .list-item {
+ background-color: var(--color-background-dark);
+}
+</style>