Files
raven-client/ayanova/src/components/extensions-control.vue
2020-10-27 17:11:33 +00:00

63 lines
1.6 KiB
Vue

<template>
<v-dialog v-model="isVisible" @keydown.esc="cancel" data-cy="extensions">
<v-card>
<v-card-title>{{ $ay.t("Extensions") }}</v-card-title>
<v-card-subtitle class="mt-1">{{ titleText() }}</v-card-subtitle>
<v-card-text>
<v-expansion-panels focusable>
<ExtensionTags :dataListSelection="dataListSelection" />
<ExtensionExport :dataListSelection="dataListSelection" />
</v-expansion-panels>
</v-card-text>
<v-card-actions>
<v-btn text @click="close()" color="primary">{{
$ay.t("Close")
}}</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</template>
<script>
import ExtensionTags from "./extension-tags-control.vue";
import ExtensionExport from "./extension-export-control.vue";
export default {
components: {
ExtensionTags,
ExtensionExport
},
data: () => ({
isVisible: false,
resolve: null,
reject: null,
dataListSelection: {
ObjectType: 0,
selectedRowIds: [],
dataListKey: null,
listView: null
}
}),
methods: {
titleText() {
if (this.dataListSelection.selectedRowIds.length < 1) {
return this.$ay.t("AllItemsInList");
}
return `${this.$ay.t("SelectedItems")} ${
this.dataListSelection.selectedRowIds.length
}`;
},
open(dls) {
this.dataListSelection = dls;
this.isVisible = true;
return new Promise((resolve, reject) => {
this.resolve = resolve;
this.reject = reject;
});
},
close() {
this.isVisible = false;
this.resolve(null);
}
}
};
</script>