From c69c6d43021b29186717ad30bea95cf50ee8c1e6 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Wed, 25 May 2022 21:26:35 -0400 Subject: [PATCH] 19894: Show dirty indicator on process type filter Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- .../data-table-filters/data-table-filters-tree.tsx | 8 +++++++- src/components/tree/tree.tsx | 1 + src/models/tree.ts | 1 + src/store/resource-type-filters/resource-type-filters.ts | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/data-table-filters/data-table-filters-tree.tsx b/src/components/data-table-filters/data-table-filters-tree.tsx index 659a385d..fab9086e 100644 --- a/src/components/data-table-filters/data-table-filters-tree.tsx +++ b/src/components/data-table-filters/data-table-filters-tree.tsx @@ -76,7 +76,12 @@ export class DataTableFiltersTree extends React.Component } const renderItem = (item: TreeItem) => - {item.data.name}; + + {item.data.name} + {item.initialState !== item.selected ? <> + * + : null} + ; const filterToTreeItem = (filters: DataTableFilters) => (id: string): TreeItem => { @@ -92,6 +97,7 @@ const filterToTreeItem = (filters: DataTableFilters) => items: items.length > 0 ? items : undefined, open: node.expanded, selected: node.selected, + initialState: node.initialState, indeterminate: isIndeterminate, status: TreeItemStatus.LOADED, }; diff --git a/src/components/tree/tree.tsx b/src/components/tree/tree.tsx index 6e562dfa..fc9dbc74 100644 --- a/src/components/tree/tree.tsx +++ b/src/components/tree/tree.tsx @@ -97,6 +97,7 @@ export interface TreeItem { open: boolean; active: boolean; selected?: boolean; + initialState?: boolean; indeterminate?: boolean; flatTree?: boolean; status: TreeItemStatus; diff --git a/src/models/tree.ts b/src/models/tree.ts index e9291388..4a52d61a 100644 --- a/src/models/tree.ts +++ b/src/models/tree.ts @@ -14,6 +14,7 @@ export interface TreeNode { parent: string; active: boolean; selected: boolean; + initialState?: boolean; expanded: boolean; status: TreeNodeStatus; } diff --git a/src/store/resource-type-filters/resource-type-filters.ts b/src/store/resource-type-filters/resource-type-filters.ts index 64a391ca..6f766b58 100644 --- a/src/store/resource-type-filters/resource-type-filters.ts +++ b/src/store/resource-type-filters/resource-type-filters.ts @@ -56,6 +56,7 @@ const initFilter = (name: string, parent = '', isSelected?: boolean) => active: false, selected: isSelected !== undefined ? isSelected : true, expanded: false, + initialState: isSelected !== undefined ? isSelected : true, status: TreeNodeStatus.LOADED, }); -- 2.30.2