From b5227c08ce29f739ab95727218dac70eebdaa867 Mon Sep 17 00:00:00 2001 From: Pranav C <61551451+pranavxc@users.noreply.github.com> Date: Fri, 25 Jun 2021 19:52:18 +0530 Subject: [PATCH] feat: Add option to disable auto filter apply Added toggle button to toggle autofilter closes #229 Signed-off-by: Pranav C <61551451+pranavxc@users.noreply.github.com> --- .../spreadsheet/components/columnFilter.vue | 1 + .../components/columnFilterMenu.vue | 40 +++++++++++++++++-- packages/nc-gui/store/windows.js | 6 ++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/packages/nc-gui/components/project/spreadsheet/components/columnFilter.vue b/packages/nc-gui/components/project/spreadsheet/components/columnFilter.vue index 81c3d5c248..32c8386ec2 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/columnFilter.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/columnFilter.vue @@ -101,6 +101,7 @@ mdi-plus Add Filter + diff --git a/packages/nc-gui/components/project/spreadsheet/components/columnFilterMenu.vue b/packages/nc-gui/components/project/spreadsheet/components/columnFilterMenu.vue index 2a346be0f2..3e3d93c7f7 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/columnFilterMenu.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/columnFilterMenu.vue @@ -17,7 +17,25 @@ +
+ + + + + + Apply + changes + +
@@ -32,19 +50,35 @@ export default { data: () => ({ filters: [], }), + computed: { + autosave: { + set(v) { + this.$store.commit('windows/MutAutoApplyFilter', v) + }, get() { + return this.$store.state.windows.autoApplyFilter; + } + } + }, methods: {}, created() { - this.filters = this.value || []; + this.filters = this.autosave ? this.value || [] : JSON.parse(JSON.stringify(this.value || [])); }, watch: { filters: { handler(v) { - this.$emit('input', v) + if (this.autosave) { + this.$emit('input', v) + } }, deep: true }, + autosave(v) { + if (!v) { + this.filters = JSON.parse(JSON.stringify(this.value || [])); + } + }, value(v) { - this.filters = v || []; + this.filters = this.autosave ? v || [] : JSON.parse(JSON.stringify(v || [])); } } } diff --git a/packages/nc-gui/store/windows.js b/packages/nc-gui/store/windows.js index 8e27a31ce2..54cfa4beae 100644 --- a/packages/nc-gui/store/windows.js +++ b/packages/nc-gui/store/windows.js @@ -44,10 +44,14 @@ export const state = () => ({ metatables: false, nc: true, miniSponsorCard: 0, - screensaver: true + screensaver: true, + autoApplyFilter: true }); export const mutations = { + MutAutoApplyFilter(state, v) { + state.autoApplyFilter = v; + }, MutToggleLogWindow(state, show) { state.logWindow = !state.logWindow; }, MutScreensaver(state, show) {