This commit is contained in:
@@ -292,9 +292,9 @@ export default {
|
|||||||
// params: { ayatype: item.data.ayaType, recordid: item.data.recordId }
|
// params: { ayatype: item.data.ayaType, recordid: item.data.recordId }
|
||||||
// });
|
// });
|
||||||
// break;
|
// break;
|
||||||
case "plugin":
|
// case "plugin":
|
||||||
alert("STUB: plugin / more");
|
// alert("STUB: plugin / more");
|
||||||
break;
|
// break;
|
||||||
case "review":
|
case "review":
|
||||||
vm.$router.push({
|
vm.$router.push({
|
||||||
name: "ay-review",
|
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 decimalControl from "./components/decimal-control.vue";
|
||||||
import roleControl from "./components/role-control.vue";
|
import roleControl from "./components/role-control.vue";
|
||||||
import errorControl from "./components/error-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 reportSelectorControl from "./components/report-selector-control.vue";
|
||||||
import reportViewerControl from "./components/report-viewer-control.vue";
|
import reportViewerControl from "./components/report-viewer-control.vue";
|
||||||
import wikiControl from "./components/wiki-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-error", errorControl);
|
||||||
Vue.component("gz-report-selector", reportSelectorControl);
|
Vue.component("gz-report-selector", reportSelectorControl);
|
||||||
Vue.component("gz-report-viewer", reportViewerControl);
|
Vue.component("gz-report-viewer", reportViewerControl);
|
||||||
Vue.component("gz-plugins", pluginsControl);
|
Vue.component("gz-extensions", extensionsControl);
|
||||||
Vue.component("gz-wiki", wikiControl);
|
Vue.component("gz-wiki", wikiControl);
|
||||||
Vue.component("gz-attachments", attachmentControl);
|
Vue.component("gz-attachments", attachmentControl);
|
||||||
Vue.component("gz-chart-line", chartLineControl);
|
Vue.component("gz-chart-line", chartLineControl);
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<gz-plugins :ayaType="ayType" :selectedItems="selectedItems" ref="plugins">
|
<gz-extensions
|
||||||
</gz-plugins>
|
:ayaType="ayType"
|
||||||
|
:selectedItems="selectedItems"
|
||||||
|
ref="extensions"
|
||||||
|
>
|
||||||
|
</gz-extensions>
|
||||||
<gz-data-table
|
<gz-data-table
|
||||||
formKey="widget-list"
|
formKey="widget-list"
|
||||||
:dataListKey="dataListKey"
|
:dataListKey="dataListKey"
|
||||||
@@ -60,8 +64,8 @@ async function clickHandler(menuItem) {
|
|||||||
params: { recordid: 0 }
|
params: { recordid: 0 }
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case "plugins":
|
case "extensions":
|
||||||
let res = await m.vm.$refs.plugins.open();
|
let res = await m.vm.$refs.extensions.open();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -117,7 +121,7 @@ function generateMenu(vm) {
|
|||||||
menuOptions.menuItems.push({
|
menuOptions.menuItems.push({
|
||||||
title: "Extensions",
|
title: "Extensions",
|
||||||
icon: "fa-puzzle-piece",
|
icon: "fa-puzzle-piece",
|
||||||
key: FORM_KEY + ":plugins",
|
key: FORM_KEY + ":extensions",
|
||||||
vm: vm
|
vm: vm
|
||||||
});
|
});
|
||||||
window.$gz.eventBus.$emit("menu-change", menuOptions);
|
window.$gz.eventBus.$emit("menu-change", menuOptions);
|
||||||
|
|||||||
Reference in New Issue
Block a user