This commit is contained in:
2020-10-29 23:20:50 +00:00
parent c586142f10
commit 92315313af

View File

@@ -1,32 +1,31 @@
<template> <template>
<v-row> <v-row>
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error> <gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
<div v-if="formState.ready"> <v-col
<v-col v-for="(item, i) in availableItems"
v-for="(item, i) in availableItems" :key="i"
:key="i" class="d-flex child-flex"
class="d-flex child-flex" cols="12"
cols="12" sm="6"
sm="6" lg="4"
lg="4" xl="3"
xl="3" >
> <gz-dash
<gz-dash :title="item.title"
:title="item.title" :id="item.id"
:id="item.id" v-on:dash-remove="dashRemove"
v-on:dash-remove="dashRemove" v-on:dash-move-start="dashMoveStart"
v-on:dash-move-start="dashMoveStart" v-on:dash-move-back="dashMoveBack"
v-on:dash-move-back="dashMoveBack" v-on:dash-move-forward="dashMoveForward"
v-on:dash-move-forward="dashMoveForward" v-on:dash-move-end="dashMoveEnd"
v-on:dash-move-end="dashMoveEnd" v-on:dash-refresh="dashRefresh"
v-on:dash-refresh="dashRefresh" />
/> </v-col>
</v-col>
</div>
</v-row> </v-row>
</template> </template>
<script> <script>
const FORM_KEY = "home-dashboard";
import DashRegistry from "../api/dash-registry"; import DashRegistry from "../api/dash-registry";
import GzDash from "../components/dash-base.vue"; import GzDash from "../components/dash-base.vue";
/** /**
@@ -99,20 +98,17 @@ export default {
item item
); );
}, },
async getDataFromApi(recordId) { async getDataFromApi() {
let vm = this; let vm = this;
window.$gz.form.setFormState({ window.$gz.form.setFormState({
vm: vm, vm: vm,
loading: true loading: true
}); });
if (!recordId) {
throw new Error(FORM_KEY + "::getDataFromApi -> Missing recordID!");
}
let url = API_BASE_URL + recordId;
try { try {
window.$gz.form.deleteAllErrorBoxErrors(vm); window.$gz.form.deleteAllErrorBoxErrors(vm);
let res = await window.$gz.api.get(url); let res = await window.$gz.api.get("dashboard-view");
if (res.error) { if (res.error) {
//Not found? //Not found?
@@ -145,6 +141,7 @@ export default {
}, },
data() { data() {
return { return {
obj: null,
availableItems: [], availableItems: [],
formState: { formState: {
ready: false, ready: false,
@@ -160,6 +157,51 @@ export default {
} }
}; };
/////////////////////////////
//
//
async function clickHandler(menuItem) {
if (!menuItem) {
return;
}
let m = window.$gz.menu.parseMenuItem(menuItem);
if (m.owner == FORM_KEY && !m.disabled) {
switch (m.key) {
case "new":
alert("STUB: Select new item to add to dashboard");
break;
default:
window.$gz.eventBus.$emit(
"notify-warning",
FORM_KEY + "::context click: [" + m.key + "]"
);
}
}
}
//////////////////////
//
//
function generateMenu(vm) {
let menuOptions = {
isMain: true,
icon: "$ayiTachometer",
title: "Dashboard",
helpUrl: "form-home-dashboard",
menuItems: []
};
menuOptions.menuItems.push({
title: "New",
icon: "$ayiPlus",
key: FORM_KEY + ":new",
vm: vm
});
window.$gz.eventBus.$emit("menu-change", menuOptions);
}
// ///////////////////////////////// // /////////////////////////////////
// // // //
// // // //