This commit is contained in:
@@ -49,8 +49,23 @@ CURRENT TODOs
|
|||||||
|
|
||||||
@@@@@@@@@@@ ROADMAP STAGE 2:
|
@@@@@@@@@@@ ROADMAP STAGE 2:
|
||||||
|
|
||||||
|
GRID ERROR:Price first column multiple records with price the same, value should not be used as a key WTF?
|
||||||
|
BUG is that records generation is putting the value of the column as the ID of the column
|
||||||
|
This was triggered by editing the datafilter and putting price as the first column, apparently the datagrid assumes column 0 is always the ID column
|
||||||
|
So actually this may need a more deterministic way to identify the rowid like picklist does
|
||||||
|
|
||||||
|
Vue warning:
|
||||||
|
Duplicate keys detected: '123.45'. This may cause an update error.
|
||||||
|
trace:
|
||||||
|
|
||||||
|
found in
|
||||||
|
|
||||||
|
---> <GzDataTable> at src/components/gz-data-table.vue
|
||||||
|
<Widgets> at src/views/widgets.vue
|
||||||
|
<VContent>
|
||||||
|
<VApp>
|
||||||
|
<App> at src/App.vue
|
||||||
|
<Root>
|
||||||
|
|
||||||
todo: de-var-ification
|
todo: de-var-ification
|
||||||
- use const for unchanging values, let everywhere else, no var anywhere and test out before moving on
|
- use const for unchanging values, let everywhere else, no var anywhere and test out before moving on
|
||||||
|
|||||||
@@ -64,6 +64,9 @@
|
|||||||
<template v-slot:body="{ items }">
|
<template v-slot:body="{ items }">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="item in items" :key="item.id">
|
<tr v-for="item in items" :key="item.id">
|
||||||
|
{{
|
||||||
|
item.id
|
||||||
|
}}
|
||||||
<template v-if="showSelect">
|
<template v-if="showSelect">
|
||||||
<td>
|
<td>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
@@ -613,6 +616,7 @@ function buildRecords(listData, columndefinitions) {
|
|||||||
//iterate row and build object representing row data keyed to index
|
//iterate row and build object representing row data keyed to index
|
||||||
//first column is the default column which sets the id for the row
|
//first column is the default column which sets the id for the row
|
||||||
let o = { id: row[0].v, columns: {} };
|
let o = { id: row[0].v, columns: {} };
|
||||||
|
debugger;
|
||||||
for (let iColumn = 0; iColumn < row.length; iColumn++) {
|
for (let iColumn = 0; iColumn < row.length; iColumn++) {
|
||||||
let column = row[iColumn];
|
let column = row[iColumn];
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ const FORM_KEY = "adm-global-select-templates";
|
|||||||
const API_BASE_URL = "PickList/Template/";
|
const API_BASE_URL = "PickList/Template/";
|
||||||
export default {
|
export default {
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
//var vm = this;
|
//let vm = this;
|
||||||
if (this.formState.dirty) {
|
if (this.formState.dirty) {
|
||||||
window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => {
|
window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => {
|
||||||
if (dialogResult == true) {
|
if (dialogResult == true) {
|
||||||
@@ -109,7 +109,7 @@ export default {
|
|||||||
window.$gz.eventBus.$off("menu-click", clickHandler);
|
window.$gz.eventBus.$off("menu-click", clickHandler);
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
|
|
||||||
initForm(vm)
|
initForm(vm)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@@ -165,7 +165,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//enable / disable save button
|
//enable / disable save button
|
||||||
var canSave = val.dirty && val.valid && !val.readOnly;
|
let canSave = val.dirty && val.valid && !val.readOnly;
|
||||||
if (canSave) {
|
if (canSave) {
|
||||||
window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":save");
|
window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":save");
|
||||||
} else {
|
} else {
|
||||||
@@ -193,8 +193,8 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
move: function(direction, index) {
|
move: function(direction, index) {
|
||||||
var totalItems = this.workingArray.length;
|
let totalItems = this.workingArray.length;
|
||||||
var newIndex = 0;
|
let newIndex = 0;
|
||||||
//calculate new index
|
//calculate new index
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case "start":
|
case "start":
|
||||||
@@ -239,7 +239,7 @@ export default {
|
|||||||
this.getDataFromApi();
|
this.getDataFromApi();
|
||||||
},
|
},
|
||||||
getDataFromApi() {
|
getDataFromApi() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
vm.formState.loading = true;
|
vm.formState.loading = true;
|
||||||
if (!vm.templateId || vm.templateId == 0) {
|
if (!vm.templateId || vm.templateId == 0) {
|
||||||
return;
|
return;
|
||||||
@@ -257,7 +257,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
vm.availableFields = res.data;
|
vm.availableFields = res.data;
|
||||||
vm.fieldKeys = [];
|
vm.fieldKeys = [];
|
||||||
for (var i = 0; i < res.data.length; i++) {
|
for (let i = 0; i < res.data.length; i++) {
|
||||||
vm.fieldKeys.push(res.data[i].tKey);
|
vm.fieldKeys.push(res.data[i].tKey);
|
||||||
}
|
}
|
||||||
return window.$gz.translation.fetch(vm.fieldKeys);
|
return window.$gz.translation.fetch(vm.fieldKeys);
|
||||||
@@ -294,21 +294,21 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
submit() {
|
submit() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
var url = API_BASE_URL;
|
let url = API_BASE_URL;
|
||||||
//clear any errors vm might be around from previous submit
|
//clear any errors vm might be around from previous submit
|
||||||
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
||||||
|
|
||||||
//Create template data object here....
|
//Create template data object here....
|
||||||
//Note that server expects to see a string array of json template, not actual json
|
//Note that server expects to see a string array of json template, not actual json
|
||||||
var newObj = {
|
let newObj = {
|
||||||
id: vm.templateId,
|
id: vm.templateId,
|
||||||
template: "[]"
|
template: "[]"
|
||||||
};
|
};
|
||||||
//temporary array to hold template for later stringification
|
//temporary array to hold template for later stringification
|
||||||
var temp = [];
|
let temp = [];
|
||||||
for (var i = 0; i < vm.workingArray.length; i++) {
|
for (let i = 0; i < vm.workingArray.length; i++) {
|
||||||
var ti = vm.workingArray[i];
|
let ti = vm.workingArray[i];
|
||||||
if (ti.include == true) {
|
if (ti.include == true) {
|
||||||
temp.push({
|
temp.push({
|
||||||
fld: ti.key
|
fld: ti.key
|
||||||
@@ -339,14 +339,14 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
remove() {
|
remove() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
window.$gz.dialog.confirmGeneric("ResetToDefault").then(dialogResult => {
|
window.$gz.dialog.confirmGeneric("ResetToDefault").then(dialogResult => {
|
||||||
if (dialogResult == true) {
|
if (dialogResult == true) {
|
||||||
//do the delete
|
//do the delete
|
||||||
vm.formState.loading = true;
|
vm.formState.loading = true;
|
||||||
//No need to delete a new record, just abandon it...
|
//No need to delete a new record, just abandon it...
|
||||||
if (vm.templateId && vm.templateId != 0) {
|
if (vm.templateId && vm.templateId != 0) {
|
||||||
var url = API_BASE_URL + vm.templateId;
|
let url = API_BASE_URL + vm.templateId;
|
||||||
|
|
||||||
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
||||||
window.$gz.api
|
window.$gz.api
|
||||||
@@ -382,7 +382,7 @@ function clickHandler(menuItem) {
|
|||||||
if (!menuItem) {
|
if (!menuItem) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var m = window.$gz.menu.parseMenuItem(menuItem);
|
let m = window.$gz.menu.parseMenuItem(menuItem);
|
||||||
if (m.owner == FORM_KEY && !m.disabled) {
|
if (m.owner == FORM_KEY && !m.disabled) {
|
||||||
switch (m.key) {
|
switch (m.key) {
|
||||||
case "save":
|
case "save":
|
||||||
@@ -404,7 +404,7 @@ function clickHandler(menuItem) {
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
var menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
icon: null,
|
icon: null,
|
||||||
title: window.$gz.translation.get("PickListTemplates"),
|
title: window.$gz.translation.get("PickListTemplates"),
|
||||||
@@ -461,7 +461,7 @@ function initForm(vm) {
|
|||||||
// Ensures UI translated text is available
|
// Ensures UI translated text is available
|
||||||
//
|
//
|
||||||
function fetchTranslatedText(vm) {
|
function fetchTranslatedText(vm) {
|
||||||
var tKeysRequired = ["Include", "ResetToDefault"];
|
let tKeysRequired = ["Include", "ResetToDefault"];
|
||||||
|
|
||||||
return window.$gz.translation.fetch(tKeysRequired);
|
return window.$gz.translation.fetch(tKeysRequired);
|
||||||
}
|
}
|
||||||
@@ -487,12 +487,12 @@ function synthesizeWorkingArray(vm) {
|
|||||||
if (vm.obj.template == null) {
|
if (vm.obj.template == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var template = JSON.parse(vm.obj.template);
|
let template = JSON.parse(vm.obj.template);
|
||||||
|
|
||||||
//first, insert the templated fields into the working array so they are in current selected order
|
//first, insert the templated fields into the working array so they are in current selected order
|
||||||
for (var i = 0; i < template.length; i++) {
|
for (let i = 0; i < template.length; i++) {
|
||||||
var templateItem = template[i];
|
let templateItem = template[i];
|
||||||
var afItem = window.$gz._.find(vm.availableFields, [
|
let afItem = window.$gz._.find(vm.availableFields, [
|
||||||
"fieldKey",
|
"fieldKey",
|
||||||
templateItem.fld
|
templateItem.fld
|
||||||
]);
|
]);
|
||||||
@@ -509,8 +509,8 @@ function synthesizeWorkingArray(vm) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Now iterate all the available fields and insert the ones that were not in the current template
|
//Now iterate all the available fields and insert the ones that were not in the current template
|
||||||
for (var i = 0; i < vm.availableFields.length; i++) {
|
for (let i = 0; i < vm.availableFields.length; i++) {
|
||||||
var afItem = vm.availableFields[i];
|
let afItem = vm.availableFields[i];
|
||||||
//skip the active column
|
//skip the active column
|
||||||
if (afItem.isActiveColumn == true) {
|
if (afItem.isActiveColumn == true) {
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
initForm(vm)
|
initForm(vm)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
vm.rights = window.$gz.role.getRights(window.$gz.type.UserOptions);
|
vm.rights = window.$gz.role.getRights(window.$gz.type.UserOptions);
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ import ayaNovaVersion from "../api/ayanova-version";
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
created() {
|
created() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
|
|
||||||
initForm(vm)
|
initForm(vm)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@@ -182,7 +182,7 @@ export default {
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
var menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
icon: "fa-info-circle",
|
icon: "fa-info-circle",
|
||||||
title: window.$gz.translation.get("HelpAboutAyaNova"),
|
title: window.$gz.translation.get("HelpAboutAyaNova"),
|
||||||
@@ -215,15 +215,15 @@ function clickHandler(menuItem) {
|
|||||||
if (!menuItem) {
|
if (!menuItem) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var m = window.$gz.menu.parseMenuItem(menuItem);
|
let m = window.$gz.menu.parseMenuItem(menuItem);
|
||||||
if (m.owner == "about" && !m.disabled) {
|
if (m.owner == "about" && !m.disabled) {
|
||||||
switch (m.key) {
|
switch (m.key) {
|
||||||
case "copysupportinfo":
|
case "copysupportinfo":
|
||||||
//put the support info on the clipboard:
|
//put the support info on the clipboard:
|
||||||
var element = document.getElementById("ayaNovaVersioncard");
|
let element = document.getElementById("ayaNovaVersioncard");
|
||||||
var text = element.innerText || element.textContent;
|
let text = element.innerText || element.textContent;
|
||||||
|
|
||||||
var logText = "";
|
let logText = "";
|
||||||
window.$gz._.forEach(m.vm.$store.state.logArray, function appendLogItem(
|
window.$gz._.forEach(m.vm.$store.state.logArray, function appendLogItem(
|
||||||
value
|
value
|
||||||
) {
|
) {
|
||||||
@@ -263,7 +263,7 @@ function initForm(vm) {
|
|||||||
// Ensures UI translated text is available
|
// Ensures UI translated text is available
|
||||||
//
|
//
|
||||||
function fetchTranslatedText(vm) {
|
function fetchTranslatedText(vm) {
|
||||||
var tKeysRequired = [
|
let tKeysRequired = [
|
||||||
"HelpAboutAyaNova",
|
"HelpAboutAyaNova",
|
||||||
"ClientApp",
|
"ClientApp",
|
||||||
"Server",
|
"Server",
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ const FORM_KEY = "customize";
|
|||||||
const API_BASE_URL = "FormCustom/";
|
const API_BASE_URL = "FormCustom/";
|
||||||
export default {
|
export default {
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
//var vm = this;
|
//let vm = this;
|
||||||
if (this.formState.dirty) {
|
if (this.formState.dirty) {
|
||||||
window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => {
|
window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => {
|
||||||
if (dialogResult == true) {
|
if (dialogResult == true) {
|
||||||
@@ -92,7 +92,7 @@ export default {
|
|||||||
window.$gz.eventBus.$off("menu-click", clickHandler);
|
window.$gz.eventBus.$off("menu-click", clickHandler);
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
|
|
||||||
initForm(vm)
|
initForm(vm)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@@ -158,24 +158,24 @@ export default {
|
|||||||
enableSaveButton();
|
enableSaveButton();
|
||||||
},
|
},
|
||||||
submit() {
|
submit() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
var url = API_BASE_URL + vm.formCustomTemplateKey;
|
let url = API_BASE_URL + vm.formCustomTemplateKey;
|
||||||
|
|
||||||
//clear any errors vm might be around from previous submit
|
//clear any errors vm might be around from previous submit
|
||||||
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
||||||
|
|
||||||
//Create template data object here....
|
//Create template data object here....
|
||||||
//Note that server expects to see a string array of json template, not actual json
|
//Note that server expects to see a string array of json template, not actual json
|
||||||
var newObj = {
|
let newObj = {
|
||||||
formKey: vm.formCustomTemplateKey,
|
formKey: vm.formCustomTemplateKey,
|
||||||
concurrencyToken: vm.concurrencyToken,
|
concurrencyToken: vm.concurrencyToken,
|
||||||
template: "[]"
|
template: "[]"
|
||||||
};
|
};
|
||||||
//temporary array to hold template for later stringification
|
//temporary array to hold template for later stringification
|
||||||
var temp = [];
|
let temp = [];
|
||||||
//Rules:
|
//Rules:
|
||||||
for (var i = 0; i < vm.obj.length; i++) {
|
for (let i = 0; i < vm.obj.length; i++) {
|
||||||
var fldItem = vm.obj[i];
|
let fldItem = vm.obj[i];
|
||||||
if (fldItem.custom == false) {
|
if (fldItem.custom == false) {
|
||||||
//Process regular stock field
|
//Process regular stock field
|
||||||
//If it's *not* set to stockRequired (i.e. built in field with biz rules that can't be hidden or changed)
|
//If it's *not* set to stockRequired (i.e. built in field with biz rules that can't be hidden or changed)
|
||||||
@@ -252,7 +252,7 @@ function clickHandler(menuItem) {
|
|||||||
if (!menuItem) {
|
if (!menuItem) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var m = window.$gz.menu.parseMenuItem(menuItem);
|
let m = window.$gz.menu.parseMenuItem(menuItem);
|
||||||
if (m.owner == FORM_KEY && !m.disabled) {
|
if (m.owner == FORM_KEY && !m.disabled) {
|
||||||
switch (m.key) {
|
switch (m.key) {
|
||||||
case "save":
|
case "save":
|
||||||
@@ -272,7 +272,7 @@ function clickHandler(menuItem) {
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
var menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
icon: "fa-sliders-h",
|
icon: "fa-sliders-h",
|
||||||
title: window.$gz.translation.get("Customize"),
|
title: window.$gz.translation.get("Customize"),
|
||||||
@@ -330,7 +330,7 @@ function initForm(vm) {
|
|||||||
// Ensures UI translated text is available
|
// Ensures UI translated text is available
|
||||||
//
|
//
|
||||||
function fetchTranslatedText(vm) {
|
function fetchTranslatedText(vm) {
|
||||||
var tKeysRequired = [
|
let tKeysRequired = [
|
||||||
"FormFieldEntryRequired",
|
"FormFieldEntryRequired",
|
||||||
"FormFieldVisible",
|
"FormFieldVisible",
|
||||||
"UiFieldDataType",
|
"UiFieldDataType",
|
||||||
@@ -380,7 +380,7 @@ function ensureTemplateIsInStore(vm) {
|
|||||||
function initDataObject(vm) {
|
function initDataObject(vm) {
|
||||||
//Get all the fields *available* to this form (all the fields for the object defined in AyaFormFieldDefinitions.cs as SERVER)
|
//Get all the fields *available* to this form (all the fields for the object defined in AyaFormFieldDefinitions.cs as SERVER)
|
||||||
//Note: this is not the actual customization data, just the list of fields that could be customized (or not if required mandatory)
|
//Note: this is not the actual customization data, just the list of fields that could be customized (or not if required mandatory)
|
||||||
var url = "FormFieldsDefinitions/" + vm.$route.params.formCustomTemplateKey;
|
let url = "FormFieldsDefinitions/" + vm.$route.params.formCustomTemplateKey;
|
||||||
return window.$gz.api.get(url).then(res => {
|
return window.$gz.api.get(url).then(res => {
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
throw res.error;
|
throw res.error;
|
||||||
@@ -391,12 +391,12 @@ function initDataObject(vm) {
|
|||||||
//Iterate ObjectFields
|
//Iterate ObjectFields
|
||||||
//create a new object based on the f.a.f. item and any existing template values for that item
|
//create a new object based on the f.a.f. item and any existing template values for that item
|
||||||
|
|
||||||
for (var i = 0; i < res.data.length; i++) {
|
for (let i = 0; i < res.data.length; i++) {
|
||||||
//get the formAvailableField record into an object to save typing
|
//get the formAvailableField record into an object to save typing
|
||||||
var faf = res.data[i];
|
let faf = res.data[i];
|
||||||
//get the customTemplate record for this field if it exists
|
//get the customTemplate record for this field if it exists
|
||||||
|
|
||||||
var templateItem = window.$gz.formCustomTemplate.getFieldTemplateValue(
|
let templateItem = window.$gz.formCustomTemplate.getFieldTemplateValue(
|
||||||
vm.formCustomTemplateKey,
|
vm.formCustomTemplateKey,
|
||||||
faf.fieldKey
|
faf.fieldKey
|
||||||
);
|
);
|
||||||
@@ -410,7 +410,7 @@ function initDataObject(vm) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var objItem = {
|
let objItem = {
|
||||||
key: faf.fieldKey,
|
key: faf.fieldKey,
|
||||||
title: window.$gz.translation.get(faf.tKey),
|
title: window.$gz.translation.get(faf.tKey),
|
||||||
stockRequired: !faf.hideable,
|
stockRequired: !faf.hideable,
|
||||||
|
|||||||
@@ -427,14 +427,14 @@
|
|||||||
|
|
||||||
const FORM_KEY = "ay-data-list-view";
|
const FORM_KEY = "ay-data-list-view";
|
||||||
const API_BASE_URL = "DataListView/";
|
const API_BASE_URL = "DataListView/";
|
||||||
var JUST_DELETED = false;
|
let JUST_DELETED = false;
|
||||||
export default {
|
export default {
|
||||||
//unsaved changes are actually valid for this form so no need to warn
|
//unsaved changes are actually valid for this form so no need to warn
|
||||||
beforeRouteLeave(to, from, next) {
|
beforeRouteLeave(to, from, next) {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
if (this.formState.dirty && !JUST_DELETED) {
|
if (this.formState.dirty && !JUST_DELETED) {
|
||||||
//Put in unsaved listview
|
//Put in unsaved listview
|
||||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||||
formSettings.saved.dataTable.unsavedListView = JSON.stringify(
|
formSettings.saved.dataTable.unsavedListView = JSON.stringify(
|
||||||
generateListViewFromEdited(vm)
|
generateListViewFromEdited(vm)
|
||||||
);
|
);
|
||||||
@@ -450,7 +450,7 @@ export default {
|
|||||||
window.$gz.eventBus.$off("menu-click", clickHandler);
|
window.$gz.eventBus.$off("menu-click", clickHandler);
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
|
|
||||||
//set route values in data object so init form can handle
|
//set route values in data object so init form can handle
|
||||||
vm.dataListKey = this.$route.params.dataListKey;
|
vm.dataListKey = this.$route.params.dataListKey;
|
||||||
@@ -522,7 +522,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//enable / disable save button
|
//enable / disable save button
|
||||||
var canSave = val.dirty && val.valid && !val.readOnly;
|
let canSave = val.dirty && val.valid && !val.readOnly;
|
||||||
if (canSave) {
|
if (canSave) {
|
||||||
window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":save");
|
window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":save");
|
||||||
} else {
|
} else {
|
||||||
@@ -530,7 +530,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//enable / disable duplicate button
|
//enable / disable duplicate button
|
||||||
var canDuplicate = !val.dirty && val.valid && !val.readOnly;
|
let canDuplicate = !val.dirty && val.valid && !val.readOnly;
|
||||||
if (canDuplicate) {
|
if (canDuplicate) {
|
||||||
window.$gz.eventBus.$emit(
|
window.$gz.eventBus.$emit(
|
||||||
"menu-enable-item",
|
"menu-enable-item",
|
||||||
@@ -588,8 +588,8 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
move: function(direction, index) {
|
move: function(direction, index) {
|
||||||
var totalItems = this.obj.editView.length;
|
let totalItems = this.obj.editView.length;
|
||||||
var newIndex = 0;
|
let newIndex = 0;
|
||||||
//calculate new index
|
//calculate new index
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case "start":
|
case "start":
|
||||||
@@ -624,8 +624,8 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
addFilterCondition(item) {
|
addFilterCondition(item) {
|
||||||
var filterItem = { op: null, value: null, display: null };
|
let filterItem = { op: null, value: null, display: null };
|
||||||
var filterItemSet = false;
|
let filterItemSet = false;
|
||||||
//DATE relative token?
|
//DATE relative token?
|
||||||
if (item.uiFieldDataType === 1) {
|
if (item.uiFieldDataType === 1) {
|
||||||
//some kind of relative date token?
|
//some kind of relative date token?
|
||||||
@@ -711,7 +711,7 @@ export default {
|
|||||||
},
|
},
|
||||||
submit() {
|
submit() {
|
||||||
if (this.canSave) {
|
if (this.canSave) {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
//check that "unsaved filter" is not the name
|
//check that "unsaved filter" is not the name
|
||||||
//if it is, set it empty and force user to set a name
|
//if it is, set it empty and force user to set a name
|
||||||
if (vm.obj.name == vm.t("FilterUnsaved")) {
|
if (vm.obj.name == vm.t("FilterUnsaved")) {
|
||||||
@@ -720,9 +720,9 @@ export default {
|
|||||||
}
|
}
|
||||||
vm.formState.loading = true;
|
vm.formState.loading = true;
|
||||||
|
|
||||||
var url = API_BASE_URL;
|
let url = API_BASE_URL;
|
||||||
|
|
||||||
var lvSave = {
|
let lvSave = {
|
||||||
id: 0,
|
id: 0,
|
||||||
userId: vm.obj.userId || 1,
|
userId: vm.obj.userId || 1,
|
||||||
name: vm.obj.name,
|
name: vm.obj.name,
|
||||||
@@ -750,7 +750,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
//successfully updated regardless if POST or PUT so update the local cache
|
//successfully updated regardless if POST or PUT so update the local cache
|
||||||
//Update the formSettings now that it's saved
|
//Update the formSettings now that it's saved
|
||||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||||
formSettings.temp.cachedListView = lvSave.listView;
|
formSettings.temp.cachedListView = lvSave.listView;
|
||||||
formSettings.saved.dataTable.unsavedListView = null;
|
formSettings.saved.dataTable.unsavedListView = null;
|
||||||
formSettings.saved.dataTable.listViewId =
|
formSettings.saved.dataTable.listViewId =
|
||||||
@@ -793,7 +793,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
remove() {
|
remove() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
window.$gz.dialog.confirmDelete().then(dialogResult => {
|
window.$gz.dialog.confirmDelete().then(dialogResult => {
|
||||||
if (dialogResult == true) {
|
if (dialogResult == true) {
|
||||||
//do the delete
|
//do the delete
|
||||||
@@ -805,7 +805,7 @@ export default {
|
|||||||
// navigate backwards
|
// navigate backwards
|
||||||
vm.$router.go(-1);
|
vm.$router.go(-1);
|
||||||
} else {
|
} else {
|
||||||
var url = API_BASE_URL + vm.listViewId;
|
let url = API_BASE_URL + vm.listViewId;
|
||||||
|
|
||||||
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
window.$gz.form.deleteAllErrorBoxErrors(vm);
|
||||||
window.$gz.api
|
window.$gz.api
|
||||||
@@ -820,7 +820,7 @@ export default {
|
|||||||
JUST_DELETED = true;
|
JUST_DELETED = true;
|
||||||
|
|
||||||
//set it to the default list view so the caller doesn't try to load the non-existant deleted view it was just working with
|
//set it to the default list view so the caller doesn't try to load the non-existant deleted view it was just working with
|
||||||
var formSettings = window.$gz.form.getFormSettings(
|
let formSettings = window.$gz.form.getFormSettings(
|
||||||
vm.formKey
|
vm.formKey
|
||||||
);
|
);
|
||||||
formSettings.temp.cachedListView = null;
|
formSettings.temp.cachedListView = null;
|
||||||
@@ -845,11 +845,11 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
duplicate() {
|
duplicate() {
|
||||||
var vm = this;
|
let vm = this;
|
||||||
if (this.canDuplicate && vm.listViewId > 0) {
|
if (this.canDuplicate && vm.listViewId > 0) {
|
||||||
this.formState.loading = true;
|
this.formState.loading = true;
|
||||||
|
|
||||||
var url = API_BASE_URL + "duplicate/" + vm.listViewId;
|
let url = API_BASE_URL + "duplicate/" + vm.listViewId;
|
||||||
|
|
||||||
//clear any errors vm might be around from previous submit
|
//clear any errors vm might be around from previous submit
|
||||||
window.$gz.form.deleteAllErrorBoxErrors(this);
|
window.$gz.form.deleteAllErrorBoxErrors(this);
|
||||||
@@ -863,7 +863,7 @@ export default {
|
|||||||
window.$gz.form.setErrorBoxErrors(vm);
|
window.$gz.form.setErrorBoxErrors(vm);
|
||||||
} else {
|
} else {
|
||||||
//switch to the new record in the formsettings
|
//switch to the new record in the formsettings
|
||||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||||
formSettings.temp.cachedListView = null;
|
formSettings.temp.cachedListView = null;
|
||||||
formSettings.saved.dataTable.unsavedListView = null;
|
formSettings.saved.dataTable.unsavedListView = null;
|
||||||
formSettings.saved.dataTable.listViewId = res.data.id;
|
formSettings.saved.dataTable.listViewId = res.data.id;
|
||||||
@@ -900,7 +900,7 @@ function clickHandler(menuItem) {
|
|||||||
if (!menuItem) {
|
if (!menuItem) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var m = window.$gz.menu.parseMenuItem(menuItem);
|
let m = window.$gz.menu.parseMenuItem(menuItem);
|
||||||
if (m.owner == FORM_KEY && !m.disabled) {
|
if (m.owner == FORM_KEY && !m.disabled) {
|
||||||
switch (m.key) {
|
switch (m.key) {
|
||||||
case "save":
|
case "save":
|
||||||
@@ -925,7 +925,7 @@ function clickHandler(menuItem) {
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
function generateMenu(vm) {
|
function generateMenu(vm) {
|
||||||
var menuOptions = {
|
let menuOptions = {
|
||||||
isMain: false,
|
isMain: false,
|
||||||
icon: "fa-filter",
|
icon: "fa-filter",
|
||||||
title: window.$gz.translation.get("DataListView"),
|
title: window.$gz.translation.get("DataListView"),
|
||||||
@@ -993,7 +993,7 @@ function initForm(vm) {
|
|||||||
// Ensures UI translated text is available
|
// Ensures UI translated text is available
|
||||||
//
|
//
|
||||||
function fetchTranslatedText(vm) {
|
function fetchTranslatedText(vm) {
|
||||||
var tKeysRequired = [
|
let tKeysRequired = [
|
||||||
"DataListView",
|
"DataListView",
|
||||||
"GridFilterName",
|
"GridFilterName",
|
||||||
"Include",
|
"Include",
|
||||||
@@ -1210,9 +1210,9 @@ function populateFieldDefinitions(vm) {
|
|||||||
// Ensures column names are present in translation table
|
// Ensures column names are present in translation table
|
||||||
//
|
//
|
||||||
function fetchTranslatedFieldNames(vm) {
|
function fetchTranslatedFieldNames(vm) {
|
||||||
var columnKeys = [];
|
let columnKeys = [];
|
||||||
for (var i = 1; i < vm.fieldDefinitions.length; i++) {
|
for (let i = 1; i < vm.fieldDefinitions.length; i++) {
|
||||||
var cm = vm.fieldDefinitions[i];
|
let cm = vm.fieldDefinitions[i];
|
||||||
columnKeys.push(cm.tKey);
|
columnKeys.push(cm.tKey);
|
||||||
}
|
}
|
||||||
//Now fetch all the keys and await the response before returning
|
//Now fetch all the keys and await the response before returning
|
||||||
@@ -1238,7 +1238,7 @@ function setEffectiveListView(vm) {
|
|||||||
throw "ay-data-list::setEffectiveListView - listViewId is not set";
|
throw "ay-data-list::setEffectiveListView - listViewId is not set";
|
||||||
}
|
}
|
||||||
|
|
||||||
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||||
|
|
||||||
if (vm.listViewId == -1) {
|
if (vm.listViewId == -1) {
|
||||||
if (formSettings.saved.dataTable.unsavedListView != null) {
|
if (formSettings.saved.dataTable.unsavedListView != null) {
|
||||||
@@ -1287,14 +1287,14 @@ function initDataObject(vm) {
|
|||||||
throw "ay-data-list::initDataObject - fieldDefinitions are not set";
|
throw "ay-data-list::initDataObject - fieldDefinitions are not set";
|
||||||
}
|
}
|
||||||
|
|
||||||
var ret = [];
|
let ret = [];
|
||||||
|
|
||||||
//Pass 1, iterate the listview first
|
//Pass 1, iterate the listview first
|
||||||
for (var i = 0; i < vm.effectiveListView.length; i++) {
|
for (let i = 0; i < vm.effectiveListView.length; i++) {
|
||||||
var lvItem = vm.effectiveListView[i];
|
let lvItem = vm.effectiveListView[i];
|
||||||
|
|
||||||
var fld = window.$gz._.find(vm.fieldDefinitions, ["fieldKey", lvItem.fld]);
|
let fld = window.$gz._.find(vm.fieldDefinitions, ["fieldKey", lvItem.fld]);
|
||||||
var o = {
|
let o = {
|
||||||
key: fld.fieldKey,
|
key: fld.fieldKey,
|
||||||
title: vm.t(fld.tKey),
|
title: vm.t(fld.tKey),
|
||||||
include: true,
|
include: true,
|
||||||
@@ -1320,8 +1320,8 @@ function initDataObject(vm) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Add display text for filter item (same as in addFilterCondition)
|
//Add display text for filter item (same as in addFilterCondition)
|
||||||
for (var j = 0; j < o.filter.items.length; j++) {
|
for (let j = 0; j < o.filter.items.length; j++) {
|
||||||
var fi = o.filter.items[j];
|
let fi = o.filter.items[j];
|
||||||
fi.display = getDisplayForFilter(
|
fi.display = getDisplayForFilter(
|
||||||
vm,
|
vm,
|
||||||
o.uiFieldDataType,
|
o.uiFieldDataType,
|
||||||
@@ -1336,13 +1336,13 @@ function initDataObject(vm) {
|
|||||||
|
|
||||||
//Pass 2, remaining fields not already dealt with
|
//Pass 2, remaining fields not already dealt with
|
||||||
//debugger;
|
//debugger;
|
||||||
for (var i = 0; i < vm.fieldDefinitions.length; i++) {
|
for (let i = 0; i < vm.fieldDefinitions.length; i++) {
|
||||||
var fld = vm.fieldDefinitions[i];
|
let fld = vm.fieldDefinitions[i];
|
||||||
|
|
||||||
//is this field already in ret array?
|
//is this field already in ret array?
|
||||||
if (null == window.$gz._.find(ret, ["key", fld.fieldKey])) {
|
if (null == window.$gz._.find(ret, ["key", fld.fieldKey])) {
|
||||||
//nope, so add it
|
//nope, so add it
|
||||||
var o = {
|
let o = {
|
||||||
key: fld.fieldKey,
|
key: fld.fieldKey,
|
||||||
title: vm.t(fld.tKey),
|
title: vm.t(fld.tKey),
|
||||||
include: false,
|
include: false,
|
||||||
@@ -1387,9 +1387,9 @@ function initDataObject(vm) {
|
|||||||
//
|
//
|
||||||
function fetchEnums(vm) {
|
function fetchEnums(vm) {
|
||||||
//build an array of all enums then execute method
|
//build an array of all enums then execute method
|
||||||
var enumKeys = [];
|
let enumKeys = [];
|
||||||
for (var i = 0; i < vm.fieldDefinitions.length; i++) {
|
for (let i = 0; i < vm.fieldDefinitions.length; i++) {
|
||||||
var fld = vm.fieldDefinitions[i];
|
let fld = vm.fieldDefinitions[i];
|
||||||
if (fld.uiFieldDataType == 10) {
|
if (fld.uiFieldDataType == 10) {
|
||||||
enumKeys.push(fld.enumType);
|
enumKeys.push(fld.enumType);
|
||||||
}
|
}
|
||||||
@@ -1440,10 +1440,10 @@ function getDisplayForFilter(
|
|||||||
|
|
||||||
//DATE RELATIVE TOKEN FILTER
|
//DATE RELATIVE TOKEN FILTER
|
||||||
if (uiFieldDataType === 1 && filterValue[0] == "*") {
|
if (uiFieldDataType === 1 && filterValue[0] == "*") {
|
||||||
var valueDisplay = window.$gz._.find(vm.selectLists.dateFilterTokens, {
|
let valueDisplay = window.$gz._.find(vm.selectLists.dateFilterTokens, {
|
||||||
id: filterValue
|
id: filterValue
|
||||||
}).name;
|
}).name;
|
||||||
var opDisplay = filterOperator;
|
let opDisplay = filterOperator;
|
||||||
return filterOperator + " " + valueDisplay;
|
return filterOperator + " " + valueDisplay;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1456,7 +1456,7 @@ function getDisplayForFilter(
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
var valueDisplay = "selected value";
|
let valueDisplay = "selected value";
|
||||||
switch (uiFieldDataType) {
|
switch (uiFieldDataType) {
|
||||||
case 1: //date translate
|
case 1: //date translate
|
||||||
valueDisplay = window.$gz.locale.utcDateToShortDateAndTimeLocalized(
|
valueDisplay = window.$gz.locale.utcDateToShortDateAndTimeLocalized(
|
||||||
@@ -1471,7 +1471,7 @@ function getDisplayForFilter(
|
|||||||
break;
|
break;
|
||||||
case 6: //BOOL translate
|
case 6: //BOOL translate
|
||||||
//debugger;
|
//debugger;
|
||||||
var tKey = filterValue ? "True" : "False";
|
let tKey = filterValue ? "True" : "False";
|
||||||
valueDisplay = vm.t(tKey);
|
valueDisplay = vm.t(tKey);
|
||||||
break;
|
break;
|
||||||
case 10: //ENUM translate
|
case 10: //ENUM translate
|
||||||
@@ -1483,7 +1483,7 @@ function getDisplayForFilter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Operator
|
//Operator
|
||||||
var opDisplay = window.$gz._.find(vm.selectLists.stringFilterOperators, {
|
let opDisplay = window.$gz._.find(vm.selectLists.stringFilterOperators, {
|
||||||
id: filterOperator
|
id: filterOperator
|
||||||
}).name;
|
}).name;
|
||||||
|
|
||||||
@@ -1502,14 +1502,14 @@ function generateListViewFromEdited(vm) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var ret = [];
|
let ret = [];
|
||||||
|
|
||||||
for (var i = 0; i < vm.obj.editView.length; i++) {
|
for (let i = 0; i < vm.obj.editView.length; i++) {
|
||||||
var ev = vm.obj.editView[i];
|
let ev = vm.obj.editView[i];
|
||||||
if (!ev.include) {
|
if (!ev.include) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
var o = {
|
let o = {
|
||||||
fld: ev.key
|
fld: ev.key
|
||||||
};
|
};
|
||||||
if (ev.sort != null) {
|
if (ev.sort != null) {
|
||||||
@@ -1517,15 +1517,15 @@ function generateListViewFromEdited(vm) {
|
|||||||
}
|
}
|
||||||
if (ev.filter && ev.filter.items && ev.filter.items.length > 0) {
|
if (ev.filter && ev.filter.items && ev.filter.items.length > 0) {
|
||||||
// debugger;
|
// debugger;
|
||||||
var f = {
|
let f = {
|
||||||
items: []
|
items: []
|
||||||
};
|
};
|
||||||
if (ev.filter.any) {
|
if (ev.filter.any) {
|
||||||
f.any = true;
|
f.any = true;
|
||||||
}
|
}
|
||||||
for (var j = 0; j < ev.filter.items.length; j++) {
|
for (let j = 0; j < ev.filter.items.length; j++) {
|
||||||
var evfi = ev.filter.items[j];
|
let evfi = ev.filter.items[j];
|
||||||
var thisFilterItem = {
|
let thisFilterItem = {
|
||||||
op: evfi.op,
|
op: evfi.op,
|
||||||
value: evfi.value
|
value: evfi.value
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user