@@ -380,7 +381,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 +392,7 @@ export default {
fieldDefinitions: [],
editItem: { filter: { items: [] } },
activeFilter: null,
+ defaultFilter: null,
selectLists: {
dateFilterOperators: [],
dateFilterTokens: [],
@@ -452,13 +455,15 @@ 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;
@@ -647,6 +653,20 @@ async function fetchActiveFilter(vm) {
}
}
+////////////////////
+//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;
+ }
+}
+
//////////////////////////////////////////////////////////
//
// Ensures UI translated text is available
diff --git a/ayanova/src/components/data-table.vue b/ayanova/src/components/data-table.vue
index 1c29dc0b..59120575 100644
--- a/ayanova/src/components/data-table.vue
+++ b/ayanova/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;
+ }
}
}