X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/00a61a4484185dc98daa92af5f189779cc10ad3c..765f6475a53ac7e635b737642ef375459324a117:/src/views/workflow-panel/workflow-panel-view.tsx diff --git a/src/views/workflow-panel/workflow-panel-view.tsx b/src/views/workflow-panel/workflow-panel-view.tsx index 8a29cb7f..44e14fd3 100644 --- a/src/views/workflow-panel/workflow-panel-view.tsx +++ b/src/views/workflow-panel/workflow-panel-view.tsx @@ -2,22 +2,24 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import { DataExplorer } from "~/views-components/data-explorer/data-explorer"; -import { WorkflowIcon } from '~/components/icon/icon'; -import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view'; -import { WORKFLOW_PANEL_ID } from '~/store/workflow-panel/workflow-panel-actions'; +import React from 'react'; +import { DataExplorer } from "views-components/data-explorer/data-explorer"; +import { WorkflowIcon } from 'components/icon/icon'; +import { WORKFLOW_PANEL_ID } from 'store/workflow-panel/workflow-panel-actions'; import { ResourceLastModifiedDate, - RosurceWorkflowName, + ResourceWorkflowName, ResourceWorkflowStatus, - ResourceShare -} from "~/views-components/data-explorer/renderers"; -import { SortDirection } from '~/components/data-table/data-column'; -import { DataColumns } from '~/components/data-table/data-table'; -import { DataTableFilterItem } from '~/components/data-table-filters/data-table-filters'; -import { Grid } from '@material-ui/core'; + ResourceShare, + ResourceRunProcess +} from "views-components/data-explorer/renderers"; +import { SortDirection } from 'components/data-table/data-column'; +import { DataColumns } from 'components/data-table/data-table'; +import { DataTableFilterItem } from 'components/data-table-filters/data-table-filters'; +import { Grid, Paper } from '@material-ui/core'; import { WorkflowDetailsCard } from './workflow-description-card'; +import { WorkflowResource } from 'models/workflow'; +import { createTree } from 'models/tree'; export enum WorkflowPanelColumnNames { NAME = "Name", @@ -30,60 +32,69 @@ export interface WorkflowPanelFilter extends DataTableFilterItem { type: ResourceStatus; } -interface WorkflowPanelDataProps { - handleRowDoubleClick: any; - handleRowClick: any; +export interface WorkflowPanelDataProps { + workflow?: WorkflowResource; } +export interface WorfklowPanelActionProps { + handleRowDoubleClick: (workflowUuid: string) => void; + handleRowClick: (workflowUuid: string) => void; +} + +export type WorkflowPanelProps = WorkflowPanelDataProps & WorfklowPanelActionProps; + export enum ResourceStatus { PUBLIC = "Public", PRIVATE = "Private", SHARED = "Shared" } -const resourceStatus = (type: string) => { - switch (type) { - case ResourceStatus.PUBLIC: - return "Public"; - case ResourceStatus.PRIVATE: - return "Private"; - case ResourceStatus.SHARED: - return "Shared"; - default: - return "Unknown"; - } -}; +// TODO: restore filters +// const resourceStatus = (type: string) => { +// switch (type) { +// case ResourceStatus.PUBLIC: +// return "Public"; +// case ResourceStatus.PRIVATE: +// return "Private"; +// case ResourceStatus.SHARED: +// return "Shared"; +// default: +// return "Unknown"; +// } +// }; -export const workflowPanelColumns: DataColumns = [ +export const workflowPanelColumns: DataColumns = [ { name: WorkflowPanelColumnNames.NAME, selected: true, configurable: true, sortDirection: SortDirection.ASC, - filters: [], - render: (uuid: string) => + filters: createTree(), + render: (uuid: string) => }, { name: WorkflowPanelColumnNames.AUTHORISATION, selected: true, configurable: true, - filters: [ - { - name: resourceStatus(ResourceStatus.PUBLIC), - selected: true, - type: ResourceStatus.PUBLIC - }, - { - name: resourceStatus(ResourceStatus.PRIVATE), - selected: true, - type: ResourceStatus.PRIVATE - }, - { - name: resourceStatus(ResourceStatus.SHARED), - selected: true, - type: ResourceStatus.SHARED - } - ], + filters: createTree(), + // TODO: restore filters + // filters: [ + // { + // name: resourceStatus(ResourceStatus.PUBLIC), + // selected: true, + // type: ResourceStatus.PUBLIC + // }, + // { + // name: resourceStatus(ResourceStatus.PRIVATE), + // selected: true, + // type: ResourceStatus.PRIVATE + // }, + // { + // name: resourceStatus(ResourceStatus.SHARED), + // selected: true, + // type: ResourceStatus.SHARED + // } + // ], render: (uuid: string) => , }, { @@ -91,30 +102,41 @@ export const workflowPanelColumns: DataColumns = [ selected: true, configurable: true, sortDirection: SortDirection.NONE, - filters: [], + filters: createTree(), render: (uuid: string) => }, { name: '', selected: true, configurable: false, - filters: [], + filters: createTree(), render: (uuid: string) => + }, + { + name: '', + selected: true, + configurable: false, + filters: createTree(), + render: (uuid: string) => } ]; -export const WorkflowPanelView = ({...props}) => { - return +export const WorkflowPanelView = (props: WorkflowPanelProps) => { + return } /> + onContextMenu={e => e} + defaultViewIcon={WorkflowIcon} + defaultViewMessages={['Workflow list is empty.']} /> - + + + ; -}; \ No newline at end of file +};