This commit is contained in:
@@ -43,7 +43,6 @@ CURRENT TODOs
|
|||||||
=-=-=-=-=-=-=
|
=-=-=-=-=-=-=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TODO: FILTER AT CLIENT
|
TODO: FILTER AT CLIENT
|
||||||
|
|
||||||
PICKLIST
|
PICKLIST
|
||||||
|
|||||||
@@ -665,6 +665,7 @@ export default {
|
|||||||
// requires object with one or both keys {temp:{...tempformsettings...},saved:{...persistedformsettings...}}
|
// requires object with one or both keys {temp:{...tempformsettings...},saved:{...persistedformsettings...}}
|
||||||
//
|
//
|
||||||
setFormSettings(formKey, formSettings) {
|
setFormSettings(formKey, formSettings) {
|
||||||
|
// console.log("gzform::setFormSettings for formkey:" + formKey);
|
||||||
if (window.$gz.errorHandler.devMode()) {
|
if (window.$gz.errorHandler.devMode()) {
|
||||||
if (!formSettings.saved && !formSettings.temp) {
|
if (!formSettings.saved && !formSettings.temp) {
|
||||||
throw "gzform:setFormSettings - saved AND temp keys are both missing from form data!";
|
throw "gzform:setFormSettings - saved AND temp keys are both missing from form data!";
|
||||||
|
|||||||
@@ -378,7 +378,25 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
listViewChanged: function() {
|
listViewChanged: function() {
|
||||||
alert("STUB:ListView Changed: " + this.listViewId);
|
console.log("listViewchanged: TOP");
|
||||||
|
var vm = this;
|
||||||
|
if (this.listViewId == 0) {
|
||||||
|
//default view, no saved, no cached
|
||||||
|
this.listView = undefined;
|
||||||
|
console.log(
|
||||||
|
"listViewchanged: Default NO LIST VIEW selected - Calling saveformsettings"
|
||||||
|
);
|
||||||
|
saveFormSettings(vm);
|
||||||
|
} else if (this.listViewId > 0) {
|
||||||
|
(async function() {
|
||||||
|
console.log("listViewchanged: awaiting fetchListView...");
|
||||||
|
await fetchListView(vm);
|
||||||
|
console.log(
|
||||||
|
"listViewchanged: back from fetchListView calling save form settings"
|
||||||
|
);
|
||||||
|
saveFormSettings(vm);
|
||||||
|
})();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
gridCellButtonClick(key, i) {
|
gridCellButtonClick(key, i) {
|
||||||
//translate key to actual object type from header data
|
//translate key to actual object type from header data
|
||||||
@@ -394,6 +412,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getDataFromApi() {
|
getDataFromApi() {
|
||||||
|
//console.log("getDataFromAPI::TOP");
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
//start with defaults
|
//start with defaults
|
||||||
@@ -459,11 +478,6 @@ export default {
|
|||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
initForm(vm).then(() => {
|
initForm(vm).then(() => {
|
||||||
// path: "/ay-data-list-view/:listViewId/:dataListKey",
|
|
||||||
|
|
||||||
// - formSettings.saved.dataTable.{listViewId:[0 if none or else the last saved view id selected], unsavedListView:[edited but unsaved listview json, only if listviewId=0]}
|
|
||||||
// - formSettings.temp.dataTable.cachedListView - temporary cached version of listview vm was saved at server but only if saved listviewId is non-zero
|
|
||||||
|
|
||||||
//rehydrate last form settings
|
//rehydrate last form settings
|
||||||
loadFormSettings(vm);
|
loadFormSettings(vm);
|
||||||
});
|
});
|
||||||
@@ -659,15 +673,20 @@ function populatePickLists(vm) {
|
|||||||
//
|
//
|
||||||
// Fetch and cache list view
|
// Fetch and cache list view
|
||||||
//
|
//
|
||||||
async function fetchListView(vm, listViewId) {
|
async function fetchListView(vm) {
|
||||||
if (!listViewId) {
|
console.log("fetchListView::TOP");
|
||||||
|
if (!vm.listViewId) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await window.$gz.api.get("DataListView/" + listViewId).then(res => {
|
await window.$gz.api.get("DataListView/" + vm.listViewId).then(res => {
|
||||||
if (res.error != undefined) {
|
if (res.error != undefined) {
|
||||||
window.$gz.errorHandler.handleFormError(res.error, vm);
|
window.$gz.errorHandler.handleFormError(res.error, vm);
|
||||||
} else {
|
} else {
|
||||||
vm.listView = res.data.listView;
|
vm.listView = res.data.listView;
|
||||||
|
console.log(
|
||||||
|
"fetchListView::insideGet, data returned, set listview to new value " +
|
||||||
|
vm.listView
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -675,16 +694,27 @@ async function fetchListView(vm, listViewId) {
|
|||||||
////////////////////
|
////////////////////
|
||||||
//
|
//
|
||||||
function saveFormSettings(vm) {
|
function saveFormSettings(vm) {
|
||||||
|
// console.log("saveFormSettings::TOP");
|
||||||
//do we need to persist this listview (only if it's an unsaved one)
|
//do we need to persist this listview (only if it's an unsaved one)
|
||||||
var unsavedlv = vm.listView;
|
var unsavedlv = vm.listView;
|
||||||
var cachedlv = vm.listView;
|
var cachedlv = vm.listView;
|
||||||
if (vm.listViewId != 0) {
|
|
||||||
//we have a saved one in use so there is no unsaved lv to save
|
if (vm.listViewId == 0) {
|
||||||
|
//we aren't using any listview
|
||||||
unsavedlv = undefined;
|
unsavedlv = undefined;
|
||||||
} else {
|
|
||||||
//we have an unsaved on in use so there is no need for a cached one
|
|
||||||
cachedlv = undefined;
|
cachedlv = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (vm.listViewId == -1) {
|
||||||
|
//we have an unsaved one in use so there is no need for a cached one
|
||||||
|
cachedlv = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vm.listViewId > 0) {
|
||||||
|
//we are using a saved lv so save cached one and clear anything in unsaved one
|
||||||
|
unsavedlv = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
window.$gz.form.setFormSettings(vm.formKey, {
|
window.$gz.form.setFormSettings(vm.formKey, {
|
||||||
temp: { page: vm.dataTablePagingOptions.page, cachedListView: cachedlv },
|
temp: { page: vm.dataTablePagingOptions.page, cachedListView: cachedlv },
|
||||||
saved: {
|
saved: {
|
||||||
@@ -697,35 +727,49 @@ function saveFormSettings(vm) {
|
|||||||
////////////////////
|
////////////////////
|
||||||
//
|
//
|
||||||
function loadFormSettings(vm) {
|
function loadFormSettings(vm) {
|
||||||
var formSettings = window.$gz.form.getFormSettings(this.formKey);
|
// console.log("loadFormSettings::TOP");
|
||||||
|
var formSettings = window.$gz.form.getFormSettings(vm.formKey);
|
||||||
|
//process SAVED formsettings
|
||||||
if (formSettings.saved) {
|
if (formSettings.saved) {
|
||||||
if (formSettings.saved.itemsPerPage) {
|
if (formSettings.saved.itemsPerPage) {
|
||||||
this.dataTablePagingOptions.itemsPerPage =
|
vm.dataTablePagingOptions.itemsPerPage = formSettings.saved.itemsPerPage;
|
||||||
formSettings.saved.itemsPerPage;
|
|
||||||
}
|
}
|
||||||
if (formSettings.saved.dataTable.listViewId != undefined) {
|
if (formSettings.saved.dataTable.listViewId != undefined) {
|
||||||
vm.listViewId = formSettings.saved.dataTable.listViewId;
|
vm.listViewId = formSettings.saved.dataTable.listViewId;
|
||||||
}
|
}
|
||||||
if (vm.listViewId == 0) {
|
if (vm.listViewId == 0) {
|
||||||
|
//default view, not unsaved and not saved
|
||||||
|
vm.listView = undefined;
|
||||||
|
}
|
||||||
|
if (vm.listViewId == -1) {
|
||||||
|
//-1 is code for unsaved list view
|
||||||
//check if there is a local copy of a listview vm was edited but not saved
|
//check if there is a local copy of a listview vm was edited but not saved
|
||||||
if (formSettings.saved.dataTable.editedListView != undefined) {
|
if (formSettings.saved.dataTable.editedListView != undefined) {
|
||||||
vm.listView = formSettings.saved.dataTable.editedListView;
|
vm.listView = formSettings.saved.dataTable.editedListView;
|
||||||
|
} else {
|
||||||
|
//listviewid is for unsaved but we have no unsaved so fix that up
|
||||||
|
vm.listView = undefined;
|
||||||
|
vm.listViewId = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//process TEMP form settings
|
||||||
if (formSettings.temp) {
|
if (formSettings.temp) {
|
||||||
if (formSettings.temp.page) {
|
if (formSettings.temp.page) {
|
||||||
this.dataTablePagingOptions.page = formSettings.temp.page;
|
vm.dataTablePagingOptions.page = formSettings.temp.page;
|
||||||
}
|
}
|
||||||
|
|
||||||
//check for cached local copy of saved list view in use
|
//check for cached local copy of saved list view in use
|
||||||
if (vm.listViewId != 0) {
|
if (vm.listViewId > 0) {
|
||||||
|
//0=no list view, -1=unsaved list view so any number greater than zero means there sb a cached local copy of a saved list view
|
||||||
if (formSettings.temp.dataTable.cachedListView != undefined) {
|
if (formSettings.temp.dataTable.cachedListView != undefined) {
|
||||||
vm.listView = formSettings.temp.dataTable.cachedListView;
|
vm.listView = formSettings.temp.dataTable.cachedListView;
|
||||||
} else {
|
} else {
|
||||||
//fetch it and cache it
|
//fetch it and cache it
|
||||||
(async function() {})();
|
(async function() {
|
||||||
|
await fetchListView(vm, vm.listViewId);
|
||||||
|
})();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user