From c04071992d624a6aec1185898e58ce848086684f Mon Sep 17 00:00:00 2001 From: Pawel Kowalczyk Date: Fri, 21 Sep 2018 15:40:23 +0200 Subject: [PATCH] fixed-workflow-view-layout Feature #13857 Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk --- .../data-explorer/renderers.tsx | 29 +++++++++++++++++++ src/views/workflow-panel/workflow-panel.tsx | 29 +++++++++++++++---- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/src/views-components/data-explorer/renderers.tsx b/src/views-components/data-explorer/renderers.tsx index b9475f5010..b9d0bc8ca3 100644 --- a/src/views-components/data-explorer/renderers.tsx +++ b/src/views-components/data-explorer/renderers.tsx @@ -16,6 +16,7 @@ import { GroupContentsResource } from '~/services/groups-service/groups-service' import { getProcess, Process, getProcessStatus, getProcessStatusColor } from '~/store/processes/process'; import { ArvadosTheme } from '~/common/custom-theme'; import { compose } from 'redux'; +import { WorkflowResource } from '~/models/workflow'; export const renderName = (item: { name: string; uuid: string, kind: string }) => @@ -55,10 +56,38 @@ export const renderIcon = (item: { kind: string }) => { } }; +export const renderWorkflowName = (item: { name: string; uuid: string, kind: string }) => + + + {renderIcon(item)} + + + + {item.name} + + + ; + +export const RosurceWorkflowName = connect( + (state: RootState, props: { uuid: string }) => { + const resource = getResource(props.uuid)(state.resources); + return resource || { name: '', uuid: '', kind: '' }; + })(renderWorkflowName); + export const renderDate = (date?: string) => { return {formatDate(date)}; }; +export const renderWorkflowStatus = () => { + return {"Public"}; +}; + +export const ResourceWorkflowStatus = connect( + (state: RootState, props: { uuid: string }) => { + const resource = getResource(props.uuid)(state.resources); + return {}; + })((props: { status?: string }) => renderWorkflowStatus()); + export const ResourceLastModifiedDate = connect( (state: RootState, props: { uuid: string }) => { const resource = getResource(props.uuid)(state.resources); diff --git a/src/views/workflow-panel/workflow-panel.tsx b/src/views/workflow-panel/workflow-panel.tsx index 92bbcad65a..ae058c3d0a 100644 --- a/src/views/workflow-panel/workflow-panel.tsx +++ b/src/views/workflow-panel/workflow-panel.tsx @@ -6,7 +6,7 @@ import * as React from 'react'; import { DataExplorer } from "~/views-components/data-explorer/data-explorer"; import { connect, DispatchProp } from 'react-redux'; import { RootState } from '~/store/store'; -import { WorkflowIcon } from '~/components/icon/icon'; +import { WorkflowIcon, ShareIcon } from '~/components/icon/icon'; import { ResourcesState, getResource } from '~/store/resources/resources'; import { navigateTo } from "~/store/navigation/navigation-action"; import { loadDetailsPanel } from "~/store/details-panel/details-panel-action"; @@ -17,18 +17,20 @@ import { GroupResource } from '~/models/group'; import { ContextMenuKind } from '~/views-components/context-menu/context-menu'; import { ResourceLastModifiedDate, - ResourceName, + RosurceWorkflowName, + ResourceWorkflowStatus } 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'; +import { Grid, Tooltip, IconButton } from '@material-ui/core'; import { WorkflowDescriptionCard } from './workflow-description-card'; export enum WorkflowPanelColumnNames { NAME = "Name", AUTHORISATION = "Authorisation", LAST_MODIFIED = "Last modified", + SHARE = 'Share' } interface WorkflowPanelDataProps { @@ -54,6 +56,14 @@ const resourceStatus = (type: string) => { } }; +const ResourceShare = (props: { uuid: string }) => { + return + undefined}> + + + ; +}; + export const workflowPanelColumns: DataColumns = [ { name: WorkflowPanelColumnNames.NAME, @@ -61,7 +71,7 @@ export const workflowPanelColumns: DataColumns = [ configurable: true, sortDirection: SortDirection.ASC, filters: [], - render: (uuid: string) => + render: (uuid: string) => }, { name: WorkflowPanelColumnNames.AUTHORISATION, @@ -82,8 +92,7 @@ export const workflowPanelColumns: DataColumns = [ selected: true, } ], - // do zmiany na ResourceAuthorisation - render: (uuid: string) => , + render: (uuid: string) => , }, { name: WorkflowPanelColumnNames.LAST_MODIFIED, @@ -92,6 +101,14 @@ export const workflowPanelColumns: DataColumns = [ sortDirection: SortDirection.NONE, filters: [], render: (uuid: string) => + }, + { + name: '', + selected: true, + configurable: true, + sortDirection: SortDirection.NONE, + filters: [], + render: (uuid: string) => } ]; -- 2.39.5