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

Commit df12c31

Browse files
authored
feat: LSDV-3025-15: Add a message in the bottom of the outliner when user creates a new rule of filtering (#1356)
* feat: LSDV-3025-15: Add a message in the bottom of the outliner when user create a new rule of filtering * fix the number of hidden regions displayed * fix update filterList when add new region * change usecallback to usememo * add safe default * fix some ui problems
1 parent 9b2c63d commit df12c31

File tree

5 files changed

+40
-9
lines changed

5 files changed

+40
-9
lines changed

src/assets/icons/outliner/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export { ReactComponent as IconOutlinerCollapse } from './collapse.svg';
22
export { ReactComponent as IconOutlinerExpand } from './expand.svg';
3-
export { ReactComponent as IconOutlinerDrag } from './drag.svg';
3+
export { ReactComponent as IconOutlinerDrag } from './drag.svg';
4+
export { ReactComponent as IconInfo } from './info.svg';

src/assets/icons/outliner/info.svg

Lines changed: 3 additions & 0 deletions
Loading

src/components/Filter/Filter.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ export const Filter: FC<FilterInterface> = ({
1919
const [filterList, setFilterList] = useState<FilterListInterface[]>([]);
2020

2121
useEffect(() => {
22-
if(filterList.length > 0) {
23-
onChange(FilterItems(filterData, filterList));
24-
}
22+
onChange(FilterItems(filterData, filterList));
2523
}, [filterData]);
2624

2725
const addNewFilterListItem = useCallback(() => {

src/components/SidePanels/OutlinerPanel/OutlinerPanel.styl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,18 @@
33
padding 16px
44
font-size 14px
55
color rgba(#000, 0.6)
6+
7+
&__filters
8+
&-empty
9+
text-align center
10+
margin 22px 0 30px 0
11+
12+
&-title
13+
font-weight 500
14+
font-size 12px
15+
color #1f1f1f
16+
17+
&-description
18+
font-weight 400
19+
font-size 12px
20+
color #898098

src/components/SidePanels/OutlinerPanel/OutlinerPanel.tsx

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { observer } from 'mobx-react';
2-
import { FC, useCallback, useEffect, useState } from 'react';
2+
import { FC, useCallback, useEffect, useMemo, useState } from 'react';
33
import { Block, Elem } from '../../../utils/bem';
44
import { PanelBase, PanelProps } from '../PanelBase';
55
import { OutlinerTree } from './OutlinerTree';
66
import { ViewControls } from './ViewControls';
77
import './OutlinerPanel.styl';
8+
import { IconInfo } from '../../../assets/icons/outliner';
89

910
interface OutlinerPanelProps extends PanelProps {
1011
regions: any;
@@ -69,6 +70,10 @@ const OutlinerStandAlone: FC<OutlinerPanelProps> = ({ regions }) => {
6970
regions.setFilteredRegions(value);
7071
}, [regions]);
7172

73+
const hiddenRegions = useMemo(() => {
74+
return (regions?.regions?.length ?? 0) - (regions?.filter?.length ?? 0);
75+
}, [regions?.regions?.length, regions?.filter?.length]);
76+
7277
return (
7378
<Block name="outliner">
7479
<ViewControls
@@ -81,10 +86,19 @@ const OutlinerStandAlone: FC<OutlinerPanelProps> = ({ regions }) => {
8186
onFilterChange={onFilterChange}
8287
/>
8388
{regions?.regions?.length > 0 ? (
84-
<OutlinerTree
85-
regions={regions}
86-
selectedKeys={regions.selection.keys}
87-
/>
89+
<>
90+
<OutlinerTree
91+
regions={regions}
92+
selectedKeys={regions.selection.keys}
93+
/>
94+
{hiddenRegions > 0 && (
95+
<Elem name="filters-empty">
96+
<IconInfo width={21} height={20} />
97+
<Elem name="filters-title">There {hiddenRegions === 1 ? 'is' : 'are'} {hiddenRegions} hidden region{hiddenRegions > 1 && 's'}</Elem>
98+
<Elem name="filters-description">Adjust or remove filters to view</Elem>
99+
</Elem>
100+
)}
101+
</>
88102
) : (
89103
<Elem name="empty">
90104
Regions not added

0 commit comments

Comments
 (0)