introduce done filter
Signed-off-by: grnd-alt <salimbelakkaf@outlook.de>
This commit is contained in:
@@ -140,6 +140,28 @@
|
|||||||
|
|
||||||
<h3>{{ t('deck', 'Filter by due date') }}</h3>
|
<h3>{{ t('deck', 'Filter by due date') }}</h3>
|
||||||
|
|
||||||
|
<div class="filter--item">
|
||||||
|
<input id="open"
|
||||||
|
v-model="filter.open"
|
||||||
|
type="radio"
|
||||||
|
class="radio"
|
||||||
|
:value="true"
|
||||||
|
@change="setFilter"
|
||||||
|
@click="beforeSetFilter">
|
||||||
|
<label for="open">{{ t('deck', 'open') }}</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="filter--item">
|
||||||
|
<input id="done"
|
||||||
|
v-model="filter.done"
|
||||||
|
type="radio"
|
||||||
|
class="radio"
|
||||||
|
:value="true"
|
||||||
|
@change="setFilter"
|
||||||
|
@click="beforeSetFilter">
|
||||||
|
<label for="done">{{ t('deck', 'done') }}</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="filter--item">
|
<div class="filter--item">
|
||||||
<input id="overdue"
|
<input id="overdue"
|
||||||
v-model="filter.due"
|
v-model="filter.due"
|
||||||
@@ -184,17 +206,6 @@
|
|||||||
<label for="dueMonth">{{ t('deck', 'Next 30 days') }}</label>
|
<label for="dueMonth">{{ t('deck', 'Next 30 days') }}</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="filter--item">
|
|
||||||
<input id="open"
|
|
||||||
v-model="filter.open"
|
|
||||||
type="radio"
|
|
||||||
class="radio"
|
|
||||||
:value="true"
|
|
||||||
@change="setFilter"
|
|
||||||
@click="beforeSetFilter">
|
|
||||||
<label for="open">{{ t('deck', 'open') }}</label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="filter--item">
|
<div class="filter--item">
|
||||||
<input id="noDue"
|
<input id="noDue"
|
||||||
v-model="filter.due"
|
v-model="filter.due"
|
||||||
@@ -304,7 +315,7 @@ export default {
|
|||||||
filterVisible: false,
|
filterVisible: false,
|
||||||
showArchived: false,
|
showArchived: false,
|
||||||
isAddStackVisible: false,
|
isAddStackVisible: false,
|
||||||
filter: { tags: [], users: [], due: '', unassigned: false, open: false},
|
filter: { tags: [], users: [], due: '', unassigned: false, open: false, done: false},
|
||||||
showAddCardModal: false,
|
showAddCardModal: false,
|
||||||
defaultPageTitle: false,
|
defaultPageTitle: false,
|
||||||
isNotifyPushEnabled: isNotifyPushEnabled(),
|
isNotifyPushEnabled: isNotifyPushEnabled(),
|
||||||
@@ -328,7 +339,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
isFilterActive() {
|
isFilterActive() {
|
||||||
return this.filter.tags.length !== 0 || this.filter.users.length !== 0 || this.filter.due !== '' || this.filter.open;
|
return this.filter.tags.length !== 0 || this.filter.users.length !== 0 || this.filter.due !== '' || this.filter.open || this.filter.done;
|
||||||
},
|
},
|
||||||
labelsSorted() {
|
labelsSorted() {
|
||||||
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)
|
||||||
@@ -376,6 +387,11 @@ export default {
|
|||||||
this.filter.open = !this.filter.open
|
this.filter.open = !this.filter.open
|
||||||
this.$store.dispatch('setFilter', { ...this.filter })
|
this.$store.dispatch('setFilter', { ...this.filter })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (e.target.id === 'done') {
|
||||||
|
this.filter.done = !this.filter.done
|
||||||
|
this.$store.dispatch('setFilter', { ...this.filter })
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setFilter() {
|
setFilter() {
|
||||||
if (this.filter.users.length > 0) {
|
if (this.filter.users.length > 0) {
|
||||||
@@ -417,7 +433,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
clearFilter() {
|
clearFilter() {
|
||||||
const filterReset = { tags: [], users: [], due: '' ,open: false}
|
const filterReset = { tags: [], users: [], due: '' ,open: false, done:false}
|
||||||
this.$store.dispatch('setFilter', { ...filterReset })
|
this.$store.dispatch('setFilter', { ...filterReset })
|
||||||
this.filter = filterReset
|
this.filter = filterReset
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -33,9 +33,12 @@ export default {
|
|||||||
getters: {
|
getters: {
|
||||||
cardsByStack: (state, getters, rootState) => (id) => {
|
cardsByStack: (state, getters, rootState) => (id) => {
|
||||||
return state.cards.filter((card) => {
|
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 allTagsMatch = true
|
||||||
let allUsersMatch = true
|
let allUsersMatch = true
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export default new Vuex.Store({
|
|||||||
searchQuery: '',
|
searchQuery: '',
|
||||||
activity: [],
|
activity: [],
|
||||||
activityLoadMore: true,
|
activityLoadMore: true,
|
||||||
filter: { tags: [], users: [], due: '', open:false},
|
filter: { tags: [], users: [], due: '', open:false, done: false},
|
||||||
shortcutLock: false,
|
shortcutLock: false,
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
|
|||||||
Reference in New Issue
Block a user