Skip to content
This repository was archived by the owner on Apr 18, 2024. It is now read-only.

Commit 6288b80

Browse files
feat: LSDV-3025-4: Filtered regions hidden (#1325)
* feat: lsdv-3025-4: filtered regions hidden * fix hiding logic in filters * remove all hidden null block * fix when remove some filter annotation should reset * fix type * fix type andg * Filter changes to stop showing hides itens * set back the logic variables --------- Co-authored-by: Julio Sgarbi <[email protected]>
1 parent 3a122f3 commit 6288b80

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

src/components/Filter/Filter.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,12 @@ export const Filter: FC<FilterInterface> = ({
6363
const newList = [...oldList];
6464

6565
newList.splice(index, 1);
66+
67+
onChange(FilterItems(filterData, newList));
68+
6669
return newList;
6770
});
68-
}, [setFilterList]);
71+
}, [setFilterList, filterData]);
6972

7073
const renderFilterList = useMemo(() => {
7174
return filterList.map(({ field, operation, logic, value }, index) => (

src/mixins/Regions.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ const RegionsMixin = types
1313

1414
hidden: types.optional(types.boolean, false),
1515

16+
filtered: types.optional(types.boolean, false),
17+
1618
parentID: types.optional(types.string, ''),
1719

1820
fromSuggestion: false,
@@ -230,7 +232,14 @@ const RegionsMixin = types
230232
self.setHighlight(!self._highlighted);
231233
},
232234

233-
toggleHidden(e) {
235+
toggleFiltered(e) {
236+
self.filtered = !self.filtered;
237+
self.toggleHidden(e, true);
238+
e && e.stopPropagation();
239+
},
240+
241+
toggleHidden(e, isFiltered = false) {
242+
if (!isFiltered) self.filtered = false;
234243
self.hidden = !self.hidden;
235244
e && e.stopPropagation();
236245
},

src/stores/RegionStore.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,14 @@ export default types.model('RegionStore', {
456456

457457
setFilteredRegions(filter) {
458458
self.filter = filter;
459+
460+
const filteredIds = filter.map((filter) => filter.id);
461+
462+
self.regions.forEach((region) => {
463+
if (!region.hideable || (region.hidden && !region.filtered)) return;
464+
if (filteredIds.includes(region.id)) region.hidden && region.toggleFiltered();
465+
else if (!region.hidden) region.toggleFiltered();
466+
});
459467
},
460468

461469
/**

0 commit comments

Comments
 (0)