mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
Prevent duplicate api calls on text filtering
This commit is contained in:
@@ -25,6 +25,34 @@ export function isFullTextFilterRule(filterRules: FilterRule[]): boolean {
|
||||
)
|
||||
}
|
||||
|
||||
export function filterRulesDiffer(
|
||||
filterRulesA: FilterRule[],
|
||||
filterRulesB: FilterRule[]
|
||||
): boolean {
|
||||
let modified = false
|
||||
if (filterRulesA.length != filterRulesB.length) {
|
||||
modified = true
|
||||
} else {
|
||||
modified = filterRulesA.some((rule) => {
|
||||
return (
|
||||
filterRulesB.find(
|
||||
(fri) => fri.rule_type == rule.rule_type && fri.value == rule.value
|
||||
) == undefined
|
||||
)
|
||||
})
|
||||
|
||||
if (!modified) {
|
||||
// only check other direction if we havent already determined is modified
|
||||
modified = filterRulesB.some((rule) => {
|
||||
filterRulesA.find(
|
||||
(fr) => fr.rule_type == rule.rule_type && fr.value == rule.value
|
||||
) == undefined
|
||||
})
|
||||
}
|
||||
}
|
||||
return modified
|
||||
}
|
||||
|
||||
export interface FilterRule {
|
||||
rule_type: number
|
||||
value: string
|
||||
|
Reference in New Issue
Block a user