X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/8d16d4c8b7705e68e6dc9acb4210e9df53a3fa88..7d1fded42f510a082f4274531de2b7f591919bdb:/src/components/data-table-filters/data-table-filters.tsx diff --git a/src/components/data-table-filters/data-table-filters.tsx b/src/components/data-table-filters/data-table-filters.tsx index b8a6e834..a57f29aa 100644 --- a/src/components/data-table-filters/data-table-filters.tsx +++ b/src/components/data-table-filters/data-table-filters.tsx @@ -23,6 +23,10 @@ import { } from "@material-ui/core"; import * as classnames from "classnames"; import { DefaultTransformOrigin } from "../popover/helpers"; +import { createTree, initTreeNode, mapTree } from '~/models/tree'; +import { DataTableFilters as DataTableFiltersModel, DataTableFiltersTree } from "./data-table-filters-tree"; +import { pipe } from 'lodash/fp'; +import { setNode } from '~/models/tree'; export type CssRules = "root" | "icon" | "active" | "checkbox"; @@ -74,14 +78,27 @@ interface DataTableFilterState { anchorEl?: HTMLElement; filters: DataTableFilterItem[]; prevFilters: DataTableFilterItem[]; + filtersTree: DataTableFiltersModel; } +const filters: DataTableFiltersModel = pipe( + createTree, + setNode(initTreeNode({ id: 'Project', value: { name: 'Project' } })), + setNode(initTreeNode({ id: 'Process', value: { name: 'Process' } })), + setNode(initTreeNode({ id: 'Data collection', value: { name: 'Data collection' } })), + setNode(initTreeNode({ id: 'General', parent: 'Data collection', value: { name: 'General' } })), + setNode(initTreeNode({ id: 'Output', parent: 'Data collection', value: { name: 'Output' } })), + setNode(initTreeNode({ id: 'Log', parent: 'Data collection', value: { name: 'Log' } })), + mapTree(node => ({...node, selected: true})), +)(); + export const DataTableFilters = withStyles(styles)( class extends React.Component, DataTableFilterState> { state: DataTableFilterState = { anchorEl: undefined, filters: [], - prevFilters: [] + prevFilters: [], + filtersTree: filters, }; icon = React.createRef(); @@ -116,11 +133,9 @@ export const DataTableFilters = withStyles(styles)( {this.state.filters.map((filter, index) => + key={index}> @@ -130,10 +145,13 @@ export const DataTableFilters = withStyles(styles)( )} + this.setState({ filtersTree })} />