This commit is contained in:
2020-07-06 23:48:16 +00:00
parent 599711e5bb
commit d2c3e16c2f
6 changed files with 139 additions and 54 deletions

View File

@@ -122,16 +122,16 @@ export default {
});
}
//PLUGINS - for anything with a type but not necessarily an ID
if (!UTILITY_TYPES.includes(formAyaType)) {
vm.appBar.menuItems.push({
title: "More",
icon: "fa-puzzle-piece",
key: "app:plugin",
data: formAyaType,
recordId: formRecordId
});
}
// //PLUGINS - for anything with a type but not necessarily an ID
// if (!UTILITY_TYPES.includes(formAyaType)) {
// vm.appBar.menuItems.push({
// title: "More",
// icon: "fa-puzzle-piece",
// key: "app:plugin",
// data: formAyaType,
// recordId: formRecordId
// });
// }
//CUSTOMIZE
//set custom fields and link to translation text editor
@@ -292,12 +292,9 @@ export default {
// params: { ayatype: item.data.ayaType, recordid: item.data.recordId }
// });
// break;
// case "wiki":
// vm.$router.push({
// name: "ay-wiki",
// params: { ayatype: item.data.ayaType, recordid: item.data.recordId }
// });
// break;
case "plugin":
alert("STUB: plugin / more");
break;
case "review":
vm.$router.push({
name: "ay-review",

View File

@@ -722,7 +722,13 @@ function initNavPanel() {
}
//*** EVALUATION active trial license should always go to evaluation as home page
if (licenseState == 1) {
//as long as they are a normal User type and not a customer or subcontractor type
if (
(licenseState == 1) &
(window.$gz.store.state.userType == 1 ||
window.$gz.store.state.userType == 2 ||
window.$gz.store.state.userType == 3)
) {
addNavItem(
"Evaluate",
"fa-rocket",

View File

@@ -0,0 +1,83 @@
<template>
<v-dialog
fullscreen
hide-overlay
v-model="isVisible"
@keydown.esc="cancel"
:data-cy="!!$ay.dev ? 'plugin' : false"
>
<v-card>
<v-card-title>Plugins</v-card-title>
todo: show number of selected items, maybe id's? todo: find a name instead
of plugins and maybe alternate icon has to make sense both with accounting
and mass tagging and any possible grab bag ad-hoc stuff Joyce suggested
utilities, that might work, is accounting a utility? More kind of works
too as it implies you can do More
<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>Item</v-expansion-panel-header>
<v-expansion-panel-content>
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="cancel()">Cancel</v-btn>
<v-btn text @click="ok()">Save</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;
});
},
ok() {
this.isVisible = false;
this.resolve(null);
},
cancel() {
this.isVisible = false;
this.resolve(null);
}
}
};
</script>

View File

@@ -46,6 +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 reportSelectorControl from "./components/report-selector-control.vue";
import reportViewerControl from "./components/report-viewer-control.vue";
import wikiControl from "./components/wiki-control.vue";
@@ -188,6 +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-wiki", wikiControl);
Vue.component("gz-attachments", attachmentControl);
Vue.component("gz-chart-line", chartLineControl);

View File

@@ -1,14 +1,18 @@
<template>
<gz-data-table
formKey="widget-list"
:dataListKey="dataListKey"
:dataListFilter="dataListFilter"
:dataListSort="dataListSort"
:showSelect="false"
:singleSelect="false"
v-on:selection-change="handleSelected"
>
</gz-data-table>
<div>
<gz-plugins :ayaType="ayType" :selectedItems="selectedItems" ref="plugins">
</gz-plugins>
<gz-data-table
formKey="widget-list"
:dataListKey="dataListKey"
:dataListFilter="dataListFilter"
:dataListSort="dataListSort"
:showSelect="rights.change"
:singleSelect="false"
v-on:selection-change="handleSelected"
>
</gz-data-table>
</div>
</template>
<script>
@@ -28,12 +32,14 @@ export default {
dataListKey: "TestWidgetDataList",
dataListFilter: "",
dataListSort: "",
rights: window.$gz.role.defaultRightsObject()
rights: window.$gz.role.defaultRightsObject(),
ayType: window.$gz.type.Widget,
selectedItems: []
};
},
methods: {
handleSelected(selectedItems) {
console.log(selectedItems);
handleSelected(selected) {
this.selectedItems = selected;
}
}
};
@@ -41,7 +47,7 @@ export default {
/////////////////////////////
//
//
function clickHandler(menuItem) {
async function clickHandler(menuItem) {
if (!menuItem) {
return;
}
@@ -54,6 +60,10 @@ function clickHandler(menuItem) {
params: { recordid: 0 }
});
break;
case "plugins":
let res = await m.vm.$refs.plugins.open();
break;
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -104,6 +114,12 @@ function generateMenu(vm) {
vm: vm
});
menuOptions.menuItems.push({
title: "More",
icon: "fa-puzzle-piece",
key: FORM_KEY + ":plugins",
vm: vm
});
window.$gz.eventBus.$emit("menu-change", menuOptions);
}
</script>