mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-21 10:29:29 -05:00
Fix tag / correspondent / document type toggling logic
This commit is contained in:
parent
d6894d3c64
commit
2de546fd52
@ -103,18 +103,16 @@ export class FilterEditorViewService {
|
||||
private toggleFilterByItem(item: ObjectWithId, filterRuleTypeID: number) {
|
||||
let filterRules = this.filterRules
|
||||
let filterRuleType: FilterRuleType = FILTER_RULE_TYPES.find(t => t.id == filterRuleTypeID)
|
||||
let existingRule = filterRules.find(rule => rule.type.id == filterRuleType.id)
|
||||
let existingRules = filterRules.filter(rule => rule.type.id == filterRuleType.id)
|
||||
|
||||
if (existingRule && existingRule.value == item.id) {
|
||||
filterRules.splice(filterRules.indexOf(existingRule), 1)
|
||||
} else if (existingRule && filterRuleType.id == FILTER_HAS_TAG) {
|
||||
filterRules.push({type: FILTER_RULE_TYPES.find(t => t.id == filterRuleType.id), value: item.id})
|
||||
} else if (existingRule && existingRule.value == item.id) {
|
||||
return
|
||||
} else if (existingRule) {
|
||||
existingRule.value = item.id
|
||||
if (existingRules && filterRuleType.id == FILTER_HAS_TAG) {
|
||||
let existingItemRule = existingRules?.find(rule => rule.value == item.id)
|
||||
if (existingItemRule) filterRules.splice(filterRules.indexOf(existingItemRule), 1)
|
||||
else filterRules.push({type: filterRuleType, value: item.id})
|
||||
} else if (existingRules.length) { // Correspondents & DocumentTypes only one
|
||||
filterRules.find(rule => rule.type.id == filterRuleType.id).value = item.id
|
||||
} else {
|
||||
filterRules.push({type: FILTER_RULE_TYPES.find(t => t.id == filterRuleType.id), value: item.id})
|
||||
filterRules.push({type: filterRuleType, value: item.id})
|
||||
}
|
||||
|
||||
this.filterRules = filterRules
|
||||
|
Loading…
x
Reference in New Issue
Block a user