diff --git a/img/filter_set.svg b/img/filter_set.svg index a9561096f..957bd5f78 100644 --- a/img/filter_set.svg +++ b/img/filter_set.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/components/Controls.vue b/src/components/Controls.vue index 8de4a12f8..a2dbcdbee 100644 --- a/src/components/Controls.vue +++ b/src/components/Controls.vue @@ -146,6 +146,10 @@ @click="beforeSetFilter"> + + @@ -229,6 +233,11 @@ export default { return [...this.board.labels].sort((a, b) => (a.title < b.title) ? -1 : 1) }, }, + watch: { + board() { + this.clearFilter() + }, + }, methods: { beforeSetFilter(e) { if (this.filter.due === e.target.value) { @@ -269,6 +278,11 @@ export default { this.$router.push({ name: 'board.details' }) } }, + clearFilter() { + const filterReset = { tags: [], users: [], due: '' } + this.$store.dispatch('setFilter', { ...filterReset }) + this.filter = filterReset + }, }, } diff --git a/src/store/main.js b/src/store/main.js index ebc6f040f..f1f3973b3 100644 --- a/src/store/main.js +++ b/src/store/main.js @@ -256,7 +256,9 @@ export default new Vuex.Store({ setFilter({ commit }, filter) { commit('setFilter', filter) }, - async loadBoardById({ commit }, boardId) { + async loadBoardById({ commit, dispatch }, boardId) { + const filterReset = { tags: [], users: [], due: '' } + dispatch('setFilter', filterReset) commit('setCurrentBoard', null) const board = await apiClient.loadById(boardId) commit('setCurrentBoard', board)