Calculate filters tree indentation from subfilters presence
[arvados-workbench2.git] / src / components / data-table-filters / data-table-filters-tree.tsx
index 0870497ee2ece84caeebaff670aca1855c5f4e1d..3615451ebaf433d3a295c33f37e1a9bb5b8e8bf1 100644 (file)
@@ -7,6 +7,7 @@ import { Tree, toggleNodeSelection, getNode, initTreeNode, getNodeChildrenIds }
 import { Tree as TreeComponent, TreeItem, TreeItemStatus } from '~/components/tree/tree';
 import { noop, map } from "lodash/fp";
 import { toggleNodeCollapse } from '~/models/tree';
+import { countNodes, countChildren } from '~/models/tree';
 
 export interface DataTableFilterItem {
     name: string;
@@ -22,8 +23,11 @@ export interface DataTableFilterProps {
 export class DataTableFiltersTree extends React.Component<DataTableFilterProps> {
 
     render() {
+        const { filters } = this.props;
+        const hasSubfilters = countNodes(filters) !== countChildren('')(filters);
         return <TreeComponent
-            items={filtersToTree(this.props.filters)}
+            levelIndentation={hasSubfilters ? undefined : 0}
+            items={filtersToTree(filters)}
             render={renderItem}
             showSelection
             onContextMenu={noop}