From: Stephen Smith Date: Thu, 26 May 2022 01:23:22 +0000 (-0400) Subject: 18984: Add indeterminate ui for process type filters X-Git-Tag: 2.5.0~53^2~8 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/0537bee45712945bd97d28f6d28118f7589a6840 18984: Add indeterminate ui for process type filters Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- 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 6514078d..659a385d 100644 --- a/src/components/data-table-filters/data-table-filters-tree.tsx +++ b/src/components/data-table-filters/data-table-filters-tree.tsx @@ -83,6 +83,7 @@ const filterToTreeItem = (filters: DataTableFilters) => const node = getNode(id)(filters) || initTreeNode({ id: '', value: 'InvalidNode' }); const items = getNodeChildrenIds(node.id)(filters) .map(filterToTreeItem(filters)); + const isIndeterminate = !node.selected && items.some(i => i.selected || i.indeterminate); return { active: node.active, @@ -91,6 +92,7 @@ const filterToTreeItem = (filters: DataTableFilters) => items: items.length > 0 ? items : undefined, open: node.expanded, selected: node.selected, + indeterminate: isIndeterminate, status: TreeItemStatus.LOADED, }; }; diff --git a/src/components/tree/tree.tsx b/src/components/tree/tree.tsx index 3ae884b6..6e562dfa 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; + indeterminate?: boolean; flatTree?: boolean; status: TreeItemStatus; items?: Array>; @@ -292,6 +293,7 @@ export const Tree = withStyles(styles)( {showSelection(it) && !useRadioButtons && }