From 508746f3c7c6d7077f4290228c393e0e29d58573 Mon Sep 17 00:00:00 2001 From: Michal Klobukowski Date: Wed, 4 Jul 2018 15:54:33 +0200 Subject: [PATCH] Handle resource type in type filters Feature #13703 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- src/views/project-panel/project-panel.tsx | 31 ++++++++++++++++------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/views/project-panel/project-panel.tsx b/src/views/project-panel/project-panel.tsx index 8d779d46..7323ce2b 100644 --- a/src/views/project-panel/project-panel.tsx +++ b/src/views/project-panel/project-panel.tsx @@ -13,9 +13,14 @@ import { DataColumns } from '../../components/data-table/data-table'; import { RouteComponentProps } from 'react-router'; import { RootState } from '../../store/store'; import { ResourceKind } from '../../models/kinds'; +import { DataTableFilterItem } from '../../components/data-table-filters/data-table-filters'; export const PROJECT_PANEL_ID = "projectPanel"; +export interface ProjectPanelFilter extends DataTableFilterItem { + type: ResourceKind; +} + type ProjectPanelProps = { currentItemId: string, onItemClick: (item: ProjectPanelItem) => void, @@ -116,7 +121,9 @@ const renderOwner = (owner: string) => {owner} ; -const getItemTypeLabel = (type: string) => { + + +const typeToLabel = (type: string) => { switch(type){ case ResourceKind.Collection: return "Data collection"; @@ -124,8 +131,6 @@ const getItemTypeLabel = (type: string) => { return "Project"; case ResourceKind.Process: return "Process"; - case ResourceKind.Workflow: - return "Workflow"; default: return "Unknown"; } @@ -133,7 +138,7 @@ const getItemTypeLabel = (type: string) => { const renderType = (type: string) => { return - {getItemTypeLabel(type)} + {typeToLabel(type)} ; }; @@ -142,7 +147,9 @@ const renderStatus = (item: ProjectPanelItem) => {item.status || "-"} ; -export const columns: DataColumns = [{ + + +export const columns: DataColumns = [{ name: "Name", selected: true, sortDirection: "desc", @@ -157,11 +164,17 @@ export const columns: DataColumns = [{ name: "Type", selected: true, filters: [{ - name: "Collection", - selected: true + name: typeToLabel(ResourceKind.Collection), + selected: true, + type: ResourceKind.Collection + }, { + name: typeToLabel(ResourceKind.Process), + selected: true, + type: ResourceKind.Process }, { - name: "Project", - selected: true + name: typeToLabel(ResourceKind.Project), + selected: true, + type: ResourceKind.Project }], render: item => renderType(item.kind), width: "125px" -- 2.30.2