This commit is contained in:
@@ -292,9 +292,9 @@ export default {
|
||||
// params: { ayatype: item.data.ayaType, recordid: item.data.recordId }
|
||||
// });
|
||||
// break;
|
||||
case "plugin":
|
||||
alert("STUB: plugin / more");
|
||||
break;
|
||||
// case "plugin":
|
||||
// alert("STUB: plugin / more");
|
||||
// break;
|
||||
case "review":
|
||||
vm.$router.push({
|
||||
name: "ay-review",
|
||||
|
||||
23
ayanova/src/components/extension-tags-control.vue
Normal file
23
ayanova/src/components/extension-tags-control.vue
Normal file
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<v-col cols="12" mt-1 mb-2>
|
||||
<v-alert
|
||||
ref="errorbox"
|
||||
:data-cy="!!$ay.dev ? 'errorbox' : false"
|
||||
v-show="errorBoxMessage"
|
||||
color="error"
|
||||
icon="fa-exclamation-circle "
|
||||
transition="scale-transition"
|
||||
class="multi-line"
|
||||
outlined
|
||||
>{{ errorBoxMessage }}</v-alert
|
||||
>
|
||||
</v-col>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data: () => ({}),
|
||||
props: {
|
||||
errorBoxMessage: String
|
||||
}
|
||||
};
|
||||
</script>
|
||||
84
ayanova/src/components/extensions-control.vue
Normal file
84
ayanova/src/components/extensions-control.vue
Normal file
@@ -0,0 +1,84 @@
|
||||
<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"
|
||||
>{{ $ay.t("SelectedItems") }}
|
||||
{{ selectedItems.length }}</v-card-subtitle
|
||||
>
|
||||
<!-- <v-divider></v-divider> -->
|
||||
<v-card-text>
|
||||
<v-expansion-panels focusable>
|
||||
<v-expansion-panel v-for="(item, i) in 5" :key="i">
|
||||
<v-expansion-panel-header
|
||||
>Plugin / utility name here</v-expansion-panel-header
|
||||
>
|
||||
<v-expansion-panel-content>
|
||||
Plugin utility component here, it will decide if it's visible or
|
||||
not in a way that doesn't take up dom space (v-if I guess in an
|
||||
expansion panel?) Lorem ipsum dolor sit amet, consectetur
|
||||
adipiscing elit, sed do eiusmod tempor incididunt ut labore et
|
||||
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
|
||||
exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
||||
consequat.
|
||||
</v-expansion-panel-content>
|
||||
</v-expansion-panel>
|
||||
</v-expansion-panels>
|
||||
</v-card-text>
|
||||
<!-- <v-divider></v-divider> -->
|
||||
<v-card-actions>
|
||||
<v-btn text @click="close()" color="primary">{{
|
||||
$ay.t("Close")
|
||||
}}</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data: () => ({
|
||||
isVisible: false,
|
||||
resolve: null,
|
||||
reject: null
|
||||
}),
|
||||
props: {
|
||||
ayaType: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
selectedItems: {
|
||||
type: Array
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
// //get report list from server
|
||||
// //for now we'll fake it
|
||||
// let fakeReportList = [];
|
||||
// for (let i = 0; i < 25; i++) {
|
||||
// fakeReportList.push({
|
||||
// name: "Fake report with the number " + i,
|
||||
// id: i
|
||||
// });
|
||||
// }
|
||||
// this.reportList = fakeReportList;
|
||||
|
||||
this.isVisible = true;
|
||||
return new Promise((resolve, reject) => {
|
||||
this.resolve = resolve;
|
||||
this.reject = reject;
|
||||
});
|
||||
},
|
||||
close() {
|
||||
this.isVisible = false;
|
||||
this.resolve(null);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -46,7 +46,7 @@ import currencyControl from "./components/currency-control.vue";
|
||||
import decimalControl from "./components/decimal-control.vue";
|
||||
import roleControl from "./components/role-control.vue";
|
||||
import errorControl from "./components/error-control.vue";
|
||||
import pluginsControl from "./components/plugins-control.vue";
|
||||
import extensionsControl from "./components/extensions-control.vue";
|
||||
import reportSelectorControl from "./components/report-selector-control.vue";
|
||||
import reportViewerControl from "./components/report-viewer-control.vue";
|
||||
import wikiControl from "./components/wiki-control.vue";
|
||||
@@ -189,7 +189,7 @@ Vue.component("gz-role-picker", roleControl);
|
||||
Vue.component("gz-error", errorControl);
|
||||
Vue.component("gz-report-selector", reportSelectorControl);
|
||||
Vue.component("gz-report-viewer", reportViewerControl);
|
||||
Vue.component("gz-plugins", pluginsControl);
|
||||
Vue.component("gz-extensions", extensionsControl);
|
||||
Vue.component("gz-wiki", wikiControl);
|
||||
Vue.component("gz-attachments", attachmentControl);
|
||||
Vue.component("gz-chart-line", chartLineControl);
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<gz-plugins :ayaType="ayType" :selectedItems="selectedItems" ref="plugins">
|
||||
</gz-plugins>
|
||||
<gz-extensions
|
||||
:ayaType="ayType"
|
||||
:selectedItems="selectedItems"
|
||||
ref="extensions"
|
||||
>
|
||||
</gz-extensions>
|
||||
<gz-data-table
|
||||
formKey="widget-list"
|
||||
:dataListKey="dataListKey"
|
||||
@@ -60,8 +64,8 @@ async function clickHandler(menuItem) {
|
||||
params: { recordid: 0 }
|
||||
});
|
||||
break;
|
||||
case "plugins":
|
||||
let res = await m.vm.$refs.plugins.open();
|
||||
case "extensions":
|
||||
let res = await m.vm.$refs.extensions.open();
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -117,7 +121,7 @@ function generateMenu(vm) {
|
||||
menuOptions.menuItems.push({
|
||||
title: "Extensions",
|
||||
icon: "fa-puzzle-piece",
|
||||
key: FORM_KEY + ":plugins",
|
||||
key: FORM_KEY + ":extensions",
|
||||
vm: vm
|
||||
});
|
||||
window.$gz.eventBus.$emit("menu-change", menuOptions);
|
||||
|
||||
Reference in New Issue
Block a user