mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	typing
This commit is contained in:
		@@ -40,17 +40,17 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  get selectedTags(): PaperlessTag[] {
 | 
					  get selectedTags(): PaperlessTag[] {
 | 
				
			||||||
    let tagRules: FilterRule[] = this.filterRules.filter(fr => fr.rule_type == FILTER_HAS_TAG)
 | 
					    let tagRules: FilterRule[] = this.filterRules.filter(fr => fr.rule_type == FILTER_HAS_TAG)
 | 
				
			||||||
    return this.tags?.filter(t => tagRules.find(tr => tr.value == t.id))
 | 
					    return this.tags?.filter(t => tagRules.find(tr => +tr.value == t.id))
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get selectedCorrespondents(): PaperlessCorrespondent[] {
 | 
					  get selectedCorrespondents(): PaperlessCorrespondent[] {
 | 
				
			||||||
    let correspondentRules: FilterRule[] = this.filterRules.filter(fr => fr.rule_type == FILTER_CORRESPONDENT)
 | 
					    let correspondentRules: FilterRule[] = this.filterRules.filter(fr => fr.rule_type == FILTER_CORRESPONDENT)
 | 
				
			||||||
    return this.correspondents?.filter(c => correspondentRules.find(cr => cr.value == c.id))
 | 
					    return this.correspondents?.filter(c => correspondentRules.find(cr => +cr.value == c.id))
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get selectedDocumentTypes(): PaperlessDocumentType[] {
 | 
					  get selectedDocumentTypes(): PaperlessDocumentType[] {
 | 
				
			||||||
    let documentTypeRules: FilterRule[] = this.filterRules.filter(fr => fr.rule_type == FILTER_DOCUMENT_TYPE)
 | 
					    let documentTypeRules: FilterRule[] = this.filterRules.filter(fr => fr.rule_type == FILTER_DOCUMENT_TYPE)
 | 
				
			||||||
    return this.documentTypes?.filter(dt => documentTypeRules.find(dtr => dtr.value == dt.id))
 | 
					    return this.documentTypes?.filter(dt => documentTypeRules.find(dtr => +dtr.value == dt.id))
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get titleFilter() {
 | 
					  get titleFilter() {
 | 
				
			||||||
@@ -100,7 +100,7 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    let filterRuleType = FILTER_RULE_TYPES.find(t => t.id == filterRuleTypeID)
 | 
					    let filterRuleType = FILTER_RULE_TYPES.find(t => t.id == filterRuleTypeID)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let existingRule = this.filterRules.find(rule => rule.rule_type == filterRuleTypeID && rule.value == value)
 | 
					    let existingRule = this.filterRules.find(rule => rule.rule_type == filterRuleTypeID && rule.value == value?.toString())
 | 
				
			||||||
    let existingRuleOfSameType = this.filterRules.find(rule => rule.rule_type == filterRuleTypeID)
 | 
					    let existingRuleOfSameType = this.filterRules.find(rule => rule.rule_type == filterRuleTypeID)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    if (existingRule) {
 | 
					    if (existingRule) {
 | 
				
			||||||
@@ -108,10 +108,10 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
 | 
				
			|||||||
      this.filterRules.splice(this.filterRules.indexOf(existingRule), 1)
 | 
					      this.filterRules.splice(this.filterRules.indexOf(existingRule), 1)
 | 
				
			||||||
    } else if (filterRuleType.multi || !existingRuleOfSameType) {
 | 
					    } else if (filterRuleType.multi || !existingRuleOfSameType) {
 | 
				
			||||||
      // if we allow multiple rules per type, or no rule of this type already exists, push a new rule.
 | 
					      // if we allow multiple rules per type, or no rule of this type already exists, push a new rule.
 | 
				
			||||||
      this.filterRules.push({rule_type: filterRuleTypeID, value: value})
 | 
					      this.filterRules.push({rule_type: filterRuleTypeID, value: value?.toString()})
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      // otherwise (i.e., no multi support AND there's already a rule of this type), update the rule.
 | 
					      // otherwise (i.e., no multi support AND there's already a rule of this type), update the rule.
 | 
				
			||||||
      existingRuleOfSameType.value = value
 | 
					      existingRuleOfSameType.value = value?.toString()
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    this.applyFilters()
 | 
					    this.applyFilters()
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -169,36 +169,36 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
 | 
				
			|||||||
  get dateCreatedBefore(): NgbDateStruct {
 | 
					  get dateCreatedBefore(): NgbDateStruct {
 | 
				
			||||||
    let createdBeforeRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_CREATED_BEFORE)
 | 
					    let createdBeforeRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_CREATED_BEFORE)
 | 
				
			||||||
    return createdBeforeRule ? {
 | 
					    return createdBeforeRule ? {
 | 
				
			||||||
      year: createdBeforeRule.value.substring(0,4),
 | 
					      year: +createdBeforeRule.value.substring(0,4),
 | 
				
			||||||
      month: createdBeforeRule.value.substring(5,7),
 | 
					      month: +createdBeforeRule.value.substring(5,7),
 | 
				
			||||||
      day: createdBeforeRule.value.substring(8,10)
 | 
					      day: +createdBeforeRule.value.substring(8,10)
 | 
				
			||||||
    } : undefined
 | 
					    } : undefined
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get dateCreatedAfter(): NgbDateStruct {
 | 
					  get dateCreatedAfter(): NgbDateStruct {
 | 
				
			||||||
    let createdAfterRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_CREATED_AFTER)
 | 
					    let createdAfterRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_CREATED_AFTER)
 | 
				
			||||||
    return createdAfterRule ? {
 | 
					    return createdAfterRule ? {
 | 
				
			||||||
      year: createdAfterRule.value.substring(0,4),
 | 
					      year: +createdAfterRule.value.substring(0,4),
 | 
				
			||||||
      month: createdAfterRule.value.substring(5,7),
 | 
					      month: +createdAfterRule.value.substring(5,7),
 | 
				
			||||||
      day: createdAfterRule.value.substring(8,10)
 | 
					      day: +createdAfterRule.value.substring(8,10)
 | 
				
			||||||
    } : undefined
 | 
					    } : undefined
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get dateAddedBefore(): NgbDateStruct {
 | 
					  get dateAddedBefore(): NgbDateStruct {
 | 
				
			||||||
    let addedBeforeRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_ADDED_BEFORE)
 | 
					    let addedBeforeRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_ADDED_BEFORE)
 | 
				
			||||||
    return addedBeforeRule ? {
 | 
					    return addedBeforeRule ? {
 | 
				
			||||||
      year: addedBeforeRule.value.substring(0,4),
 | 
					      year: +addedBeforeRule.value.substring(0,4),
 | 
				
			||||||
      month: addedBeforeRule.value.substring(5,7),
 | 
					      month: +addedBeforeRule.value.substring(5,7),
 | 
				
			||||||
      day: addedBeforeRule.value.substring(8,10)
 | 
					      day: +addedBeforeRule.value.substring(8,10)
 | 
				
			||||||
    } : undefined
 | 
					    } : undefined
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get dateAddedAfter(): NgbDateStruct {
 | 
					  get dateAddedAfter(): NgbDateStruct {
 | 
				
			||||||
    let addedAfterRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_ADDED_AFTER)
 | 
					    let addedAfterRule: FilterRule = this.filterRules.find(fr => fr.rule_type == FILTER_ADDED_AFTER)
 | 
				
			||||||
    return addedAfterRule ? {
 | 
					    return addedAfterRule ? {
 | 
				
			||||||
      year: addedAfterRule.value.substring(0,4),
 | 
					      year: +addedAfterRule.value.substring(0,4),
 | 
				
			||||||
      month: addedAfterRule.value.substring(5,7),
 | 
					      month: +addedAfterRule.value.substring(5,7),
 | 
				
			||||||
      day: addedAfterRule.value.substring(8,10)
 | 
					      day: +addedAfterRule.value.substring(8,10)
 | 
				
			||||||
    } : undefined
 | 
					    } : undefined
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,5 +12,5 @@ export function cloneFilterRules(filterRules: FilterRule[]): FilterRule[] {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export interface FilterRule {
 | 
					export interface FilterRule {
 | 
				
			||||||
  rule_type: number
 | 
					  rule_type: number
 | 
				
			||||||
  value: any
 | 
					  value: string
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user