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