diff --git a/package.json b/package.json index e76fccd..4955262 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sockeye", - "version": "8.0.10", + "version": "8.0.11", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/src/api/sockeye-version.js b/src/api/sockeye-version.js index fc48d18..46013e1 100644 --- a/src/api/sockeye-version.js +++ b/src/api/sockeye-version.js @@ -1,4 +1,4 @@ export default { - version: "8.0.10", + version: "8.0.11", copyright: "© 1999-2022, Ground Zero Tech-Works Inc." }; diff --git a/src/components/data-table-filter-control.vue b/src/components/data-table-filter-control.vue index e5baa7f..9e91667 100644 --- a/src/components/data-table-filter-control.vue +++ b/src/components/data-table-filter-control.vue @@ -380,7 +380,8 @@ export default { props: { dataListKey: { type: String, default: null }, - activeFilterId: { type: Number, default: null } + activeFilterId: { type: Number, default: null }, + defaultFilterId: { type: Number, default: null } }, data: () => ({ isVisible: false, @@ -390,6 +391,7 @@ export default { fieldDefinitions: [], editItem: { filter: { items: [] } }, activeFilter: null, + defaultFilter: null, selectLists: { dateFilterOperators: [], dateFilterTokens: [], @@ -452,13 +454,16 @@ export default { af.push(newColumnFilter); } - //turn activeFilter back into json and send back to server to save - this.activeFilter.filter = JSON.stringify(af); + //turn activeFilter back into json and send back to server to save to default filter (case 4503) + this.defaultFilter.filter = JSON.stringify(af); + + //case 4503 save as new default filter so that any saved filter is not ovewritten here, data table will ensure it flips back to default filter after this + //saves and emits a refresh command //SAVE const res = await window.$gz.api.put( "data-list-filter", - this.activeFilter + this.defaultFilter ); if (res.error) { throw new Error(window.$gz.errorHandler.errorToString(res, this)); @@ -586,6 +591,7 @@ export default { this.tableColumnData = tableColumnData; await fetchActiveFilter(this); + await fetchDefaultFilter(this); //case 4503 initEditItem(this); this.formState.dirty = false; this.isVisible = true; @@ -646,6 +652,19 @@ async function fetchActiveFilter(vm) { vm.activeFilter = res.data; } } +//////////////////// +//case 4503 +async function fetchDefaultFilter(vm) { + ///api/v8/data-list-filter/{id} + const res = await window.$gz.api.get( + `data-list-filter/${vm.defaultFilterId}` + ); + if (res.error) { + throw new Error(window.$gz.errorHandler.errorToString(res, vm)); + } else { + vm.defaultFilter = res.data; + } +} ////////////////////////////////////////////////////////// // diff --git a/src/components/data-table.vue b/src/components/data-table.vue index b4e1da8..930df49 100644 --- a/src/components/data-table.vue +++ b/src/components/data-table.vue @@ -5,6 +5,7 @@ ref="dataTableFilter" :data-list-key="dataListKey" :active-filter-id="activeFilterId" + :default-filter-id="defaultFilterId" > z.default == true); + if (dflt) { + vm.defaultFilterId = dflt.id; + return; + } else { + vm.defaultFilterId = 0; + } } }