Skip to content

Commit

Permalink
defaultDetails // More universal hook support (exclude, multiple valu…
Browse files Browse the repository at this point in the history
…es, multiple items)
  • Loading branch information
yoshnopa committed Oct 26, 2023
1 parent f0106a1 commit 0799769
Showing 1 changed file with 33 additions and 17 deletions.
50 changes: 33 additions & 17 deletions ui/v2.5/src/components/List/SavedFilterList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -167,24 +167,40 @@ export const SavedFilterList: React.FC<ISavedFilterListProps> = ({
let subViewFilter = filterHook(
new ListFilterModel(filterCopy.mode, undefined)
);
let subViewCriterion = subViewFilter.criteria[0]
.value as IHierarchicalLabelValue;
let subViewType = subViewFilter.criteria[0].criterionOption.type;
if (
Object.keys(objectFilter).indexOf(subViewType) > -1 &&
objectFilter[subViewType].modifier ===
subViewFilter.criteria[0].modifier
) {
let value = objectFilter[subViewType]
.value as IHierarchicalLabelValue;
value.items = value.items.filter(
(item) => item.id != subViewCriterion.items[0].id
);
objectFilter[subViewType].value = value;
if (value.items.length === 0 && value.excluded.length === 0) {
delete objectFilter[subViewType];
subViewFilter.criteria.forEach((criterion) => {
let subViewCriterionValue =
criterion.value as IHierarchicalLabelValue;
let subViewType = criterion.criterionOption.type;
if (
Object.keys(objectFilter).indexOf(subViewType) > -1 &&
objectFilter[subViewType].modifier === criterion.modifier
) {
let value = objectFilter[subViewType]
.value as IHierarchicalLabelValue;
value.items = value.items.filter((item) => {
let ret = true;
subViewCriterionValue.items.forEach((subViewItem) => {
if (ret) {
ret = item.id != subViewItem.id;
}
});
return ret;
});
value.excluded = value.excluded.filter((excluded) => {
let ret = true;
subViewCriterionValue.excluded.forEach((subViewExcluded) => {
if (ret) {
ret = excluded.id != subViewExcluded.id;
}
});
return ret;
});
objectFilter[subViewType].value = value;
if (value.items.length === 0 && value.excluded.length === 0) {
delete objectFilter[subViewType];
}
}
}
});
}

const newDefaultFilters = JSON.stringify({
Expand Down

0 comments on commit 0799769

Please sign in to comment.