added a filter reset button

Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
This commit is contained in:
Jakob Röhrl
2020-05-13 10:56:46 +02:00
committed by Julius Härtl
parent b65788515a
commit 9293fa2f96
2 changed files with 17 additions and 1 deletions

View File

@@ -146,6 +146,10 @@
@click="beforeSetFilter"> @click="beforeSetFilter">
<label for="noDue">{{ t('deck', 'No due date') }}</label> <label for="noDue">{{ t('deck', 'No due date') }}</label>
</div> </div>
<Button :disabled="!isFilterActive" @click="clearFilter">
{{ t('deck', 'Clear filter') }}
</Button>
</div> </div>
</template> </template>
</Popover> </Popover>
@@ -229,6 +233,11 @@ export default {
return [...this.board.labels].sort((a, b) => (a.title < b.title) ? -1 : 1) return [...this.board.labels].sort((a, b) => (a.title < b.title) ? -1 : 1)
}, },
}, },
watch: {
board() {
this.clearFilter()
},
},
methods: { methods: {
beforeSetFilter(e) { beforeSetFilter(e) {
if (this.filter.due === e.target.value) { if (this.filter.due === e.target.value) {
@@ -269,6 +278,11 @@ export default {
this.$router.push({ name: 'board.details' }) this.$router.push({ name: 'board.details' })
} }
}, },
clearFilter() {
const filterReset = { tags: [], users: [], due: '' }
this.$store.dispatch('setFilter', { ...filterReset })
this.filter = filterReset
},
}, },
} }
</script> </script>

View File

@@ -256,7 +256,9 @@ export default new Vuex.Store({
setFilter({ commit }, filter) { setFilter({ commit }, filter) {
commit('setFilter', filter) commit('setFilter', filter)
}, },
async loadBoardById({ commit }, boardId) { async loadBoardById({ commit, dispatch }, boardId) {
const filterReset = { tags: [], users: [], due: '' }
dispatch('setFilter', filterReset)
commit('setCurrentBoard', null) commit('setCurrentBoard', null)
const board = await apiClient.loadById(boardId) const board = await apiClient.loadById(boardId)
commit('setCurrentBoard', board) commit('setCurrentBoard', board)