Files
raven-client/ayanova/src/components/extensions-control.vue
2020-07-07 19:44:40 +00:00

69 lines
1.5 KiB
Vue

<template>
<v-dialog
fullscreen
hide-overlay
v-model="isVisible"
@keydown.esc="cancel"
:data-cy="!!$ay.dev ? 'extensions' : false"
>
<v-card>
<v-card-title>{{ $ay.t("Extensions") }}</v-card-title>
<v-card-subtitle class="mt-1" v-bind:class="subTitleClass()"
>{{ $ay.t("SelectedItems") }}
{{ selectedItems.length }}</v-card-subtitle
>
<v-card-text>
<v-expansion-panels focusable>
<ExtensionTags :ayaType="ayaType" :selectedItems="selectedItems" />
</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";
export default {
components: {
ExtensionTags
},
data: () => ({
isVisible: false,
resolve: null,
reject: null
}),
props: {
ayaType: {
type: Number,
default: 0
},
selectedItems: {
type: Array
}
},
methods: {
subTitleClass() {
if (this.selectedItems.length < 1) {
return "warning--text";
}
return "primary--text";
},
open() {
this.isVisible = true;
return new Promise((resolve, reject) => {
this.resolve = resolve;
this.reject = reject;
});
},
close() {
this.isVisible = false;
this.resolve(null);
}
}
};
</script>