diff --git a/src/components/Controls.vue b/src/components/Controls.vue index bc5148ece..e6c014ae5 100644 --- a/src/components/Controls.vue +++ b/src/components/Controls.vue @@ -183,6 +183,17 @@ @click="beforeSetFilter"> + +
+ + +
(a.title < b.title) ? -1 : 1) @@ -361,6 +372,10 @@ export default { if (e.target.value === 'unassigned') { this.filter.users = [] } + if (e.target.id === 'open') { + this.filter.open = !this.filter.open + this.$store.dispatch('setFilter', { ...this.filter }) + } }, setFilter() { if (this.filter.users.length > 0) { @@ -402,7 +417,7 @@ export default { } }, clearFilter() { - const filterReset = { tags: [], users: [], due: '' } + const filterReset = { tags: [], users: [], due: '' ,open: false} this.$store.dispatch('setFilter', { ...filterReset }) this.filter = filterReset }, diff --git a/src/store/card.js b/src/store/card.js index 28b3a1c34..8c0ee263f 100644 --- a/src/store/card.js +++ b/src/store/card.js @@ -33,7 +33,9 @@ export default { getters: { cardsByStack: (state, getters, rootState) => (id) => { return state.cards.filter((card) => { - const { tags, users, due, unassigned } = rootState.filter + const { tags, users, due, unassigned,open } = rootState.filter + + if (open && card.done !== null) return false; let allTagsMatch = true let allUsersMatch = true diff --git a/src/store/main.js b/src/store/main.js index 3d0248c4c..acf1d8242 100644 --- a/src/store/main.js +++ b/src/store/main.js @@ -74,7 +74,7 @@ export default new Vuex.Store({ searchQuery: '', activity: [], activityLoadMore: true, - filter: { tags: [], users: [], due: '' }, + filter: { tags: [], users: [], due: '', open:false}, shortcutLock: false, }, getters: {