diff --git a/src/components/Controls.vue b/src/components/Controls.vue
index e6c014ae5..7b93ff330 100644
--- a/src/components/Controls.vue
+++ b/src/components/Controls.vue
@@ -140,6 +140,28 @@
{{ t('deck', 'Filter by due date') }}
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
(a.title < b.title) ? -1 : 1)
@@ -376,6 +387,11 @@ export default {
this.filter.open = !this.filter.open
this.$store.dispatch('setFilter', { ...this.filter })
}
+
+ if (e.target.id === 'done') {
+ this.filter.done = !this.filter.done
+ this.$store.dispatch('setFilter', { ...this.filter })
+ }
},
setFilter() {
if (this.filter.users.length > 0) {
@@ -417,7 +433,7 @@ export default {
}
},
clearFilter() {
- const filterReset = { tags: [], users: [], due: '' ,open: false}
+ const filterReset = { tags: [], users: [], due: '' ,open: false, done:false}
this.$store.dispatch('setFilter', { ...filterReset })
this.filter = filterReset
},
diff --git a/src/store/card.js b/src/store/card.js
index 8c0ee263f..33385ad9e 100644
--- a/src/store/card.js
+++ b/src/store/card.js
@@ -33,9 +33,12 @@ export default {
getters: {
cardsByStack: (state, getters, rootState) => (id) => {
return state.cards.filter((card) => {
- const { tags, users, due, unassigned,open } = rootState.filter
+ const { tags, users, due, unassigned,open, done } = rootState.filter
- if (open && card.done !== null) return false;
+ if (open && card.done !== null)
+ return false;
+ if (done && card.done == null)
+ return false;
let allTagsMatch = true
let allUsersMatch = true
diff --git a/src/store/main.js b/src/store/main.js
index acf1d8242..ad80b298a 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: '', open:false},
+ filter: { tags: [], users: [], due: '', open:false, done: false},
shortcutLock: false,
},
getters: {