From 11a6e933de92f9e91f7511e5959f3009d6b02d4d Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 21 Feb 2020 23:18:07 +0000 Subject: [PATCH] --- ayanova/src/views/ay-data-list-view.vue | 150 ++++++++++-------------- 1 file changed, 61 insertions(+), 89 deletions(-) diff --git a/ayanova/src/views/ay-data-list-view.vue b/ayanova/src/views/ay-data-list-view.vue index 457d4a63..6503e357 100644 --- a/ayanova/src/views/ay-data-list-view.vue +++ b/ayanova/src/views/ay-data-list-view.vue @@ -433,20 +433,21 @@ export default { // window.$gz.locale.fetch(ltKeysRequired).then(next); // }, //unsaved changes are actually valid for this form so no need to warn - // beforeRouteLeave(to, from, next) { - // //var vm = this; - // if (this.formState.dirty) { - // window.$gz.dialog.confirmLeaveUnsaved().then(dialogResult => { - // if (dialogResult == true) { - // next(); - // } else { - // next(false); - // } - // }); - // } else { - // next(); - // } - // }, + beforeRouteLeave(to, from, next) { + //var vm = this; + if (this.formState.dirty) { + //Put in unsaved listview + //get current settings + var formSettings = window.$gz.form.getFormSettings(vm.formKey); + formSettings.saved.dataTable.editedListView = generateListViewFromEdited( + this + ); + + window.$gz.form.setFormSettings(vm.formKey, formSettings); + } else { + next(); + } + }, beforeDestroy() { window.$gz.eventBus.$off("menu-click", clickHandler); }, @@ -634,19 +635,6 @@ export default { //special relative token filterItem.op = "="; //equality filterItem.value = item.tempFilterToken; - // //display - // filterItem.display = getDisplayForFilter( - // this, - // item.uiFieldDataType, - // filterItem.op, - // filterItem.value - // ); - // var valueDisplay = window.$gz._.find( - // this.pickLists.dateFilterTokens, - // { id: item.tempFilterToken } - // ).name; - // var opDisplay = filterItem.op; - // filterItem.display = opDisplay + " " + valueDisplay; filterItemSet = true; } } @@ -655,30 +643,12 @@ export default { if (false == filterItemSet && item.tempFilterOperator == "*NOVALUE*") { filterItem.op = "="; filterItem.value = "*NULL*"; - //display - // var valueDisplay = window.$gz._.find( - // this.pickLists.stringFilterOperators, - // { - // id: item.tempFilterOperator - // } - // ).name; - - // filterItem.display = valueDisplay; filterItemSet = true; } if (false == filterItemSet && item.tempFilterOperator == "*HASVALUE*") { filterItem.op = "!="; filterItem.value = "*NULL*"; - // //display - // var valueDisplay = window.$gz._.find( - // this.pickLists.stringFilterOperators, - // { - // id: item.tempFilterOperator - // } - // ).name; - - // filterItem.display = valueDisplay; filterItemSet = true; } @@ -694,48 +664,6 @@ export default { //above here for tokens that isn't a restriction but //after passing through those conditions were at a point where there MUST be both if (filterItem.op && filterItem.value != null) { - // //display - // var valueDisplay = "selected value"; - // switch (item.uiFieldDataType) { - // case 1: //date localize - // valueDisplay = window.$gz.locale.utcDateToShortDateAndTimeLocalized( - // item.tempFilterValue - // ); - // break; - // case 8: //currency localize - // valueDisplay = window.$gz.locale.currencyLocalized( - // item.tempFilterValue - // ); - // break; - // case 7: //decimal localize - // valueDisplay = window.$gz.locale.decimalLocalized( - // item.tempFilterValue - // ); - // break; - // case 6: //BOOL localize - // //debugger; - // var ltKey = item.tempFilterValue ? "True" : "False"; - // valueDisplay = this.lt(ltKey); - // break; - // case 10: //ENUM localize - // valueDisplay = window.$gz.enums.get( - // item.enumType, - // item.tempFilterValue - // ); - // break; - // default: - // valueDisplay = item.tempFilterValue; - // break; - // } - - // var opDisplay = window.$gz._.find( - // this.pickLists.stringFilterOperators, - // { - // id: filterItem.op - // } - // ).name; - // filterItem.display = opDisplay + ' "' + valueDisplay + '"'; - filterItemSet = true; } } @@ -1273,8 +1201,7 @@ function initDataObject(vm) { o.tempFilterValue = []; } - //TODO:Add display text for filter item (same as in addFilterCondition) - //var filterItem = { op: null, value: null, display: null }; + //Add display text for filter item (same as in addFilterCondition) for (var j = 0; j < o.filter.items.length; j++) { var fi = o.filter.items[j]; fi.display = getDisplayForFilter( @@ -1447,6 +1374,51 @@ function getDisplayForFilter( //eoc } +////////////////////////////////////////////////////////// +// +// Convert editedList view to real list view and return +// +function generateListViewFromEdited(vm) { + //obj: { editView: [], name: "", public: true }, + if (vm.obj.editView == null || vm.obj.editView.length == 0) { + return; + } + + var ret = []; + + for (var i = 0; i < vm.obj.editView.length; i++) { + var ev = vm.obj.editView[i]; + if (!ev.include) { + continue; + } + var o = { + fieldKey: ev.key + }; + if (ev.sort != null) { + o.sort = ev.sort; + } + if (ev.filter && ev.filter.items && ev.filter.items.length > 0) { + var f = { + items: [] + }; + if (ev.filter.any) { + f.any = true; + } + for (var j = 0; j < e.filter.items; j++) { + f.items.push({ + op: e.filter.items[j].op, + value: e.filter.items[j].value + }); + } + } + ret.push(o); + } + return ret; + //eoc +} + +/////////////END OF FORM////////////////// + /*