X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9ea087b587f8139416cea16fbe4caad0d6df90c4..3367b1ff2a1d1050bb435f7bc8230c03435b2529:/src/views/workflow-panel/workflow-panel.tsx diff --git a/src/views/workflow-panel/workflow-panel.tsx b/src/views/workflow-panel/workflow-panel.tsx index 92bbcad6..279097d8 100644 --- a/src/views/workflow-panel/workflow-panel.tsx +++ b/src/views/workflow-panel/workflow-panel.tsx @@ -2,142 +2,23 @@ // // SPDX-License-Identifier: AGPL-3.0 -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 { ResourcesState, getResource } from '~/store/resources/resources'; -import { navigateTo } from "~/store/navigation/navigation-action"; -import { loadDetailsPanel } from "~/store/details-panel/details-panel-action"; -import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view'; -import { WORKFLOW_PANEL_ID } from '~/store/workflow-panel/workflow-panel-actions'; -import { openContextMenu } from '~/store/context-menu/context-menu-actions'; -import { GroupResource } from '~/models/group'; -import { ContextMenuKind } from '~/views-components/context-menu/context-menu'; -import { - ResourceLastModifiedDate, - ResourceName, -} 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 { WorkflowDescriptionCard } from './workflow-description-card'; +import * as React from "react"; +import { Dispatch } from "redux"; +import { connect } from "react-redux"; +import { navigateTo } from '~/store/navigation/navigation-action'; +import { loadDetailsPanel } from '~/store/details-panel/details-panel-action'; +import { WorkflowPanelView } from '~/views/workflow-panel/workflow-panel-view'; -export enum WorkflowPanelColumnNames { - NAME = "Name", - AUTHORISATION = "Authorisation", - LAST_MODIFIED = "Last modified", -} +const mapDispatchToProps = (dispatch: Dispatch) => ({ -interface WorkflowPanelDataProps { - resources: ResourcesState; -} - -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"; - } -}; - -export const workflowPanelColumns: DataColumns = [ - { - name: WorkflowPanelColumnNames.NAME, - selected: true, - configurable: true, - sortDirection: SortDirection.ASC, - filters: [], - render: (uuid: string) => - }, - { - name: WorkflowPanelColumnNames.AUTHORISATION, - selected: true, - configurable: true, - sortDirection: SortDirection.NONE, - filters: [ - { - name: resourceStatus(ResourceStatus.PUBLIC), - selected: true, - }, - { - name: resourceStatus(ResourceStatus.PRIVATE), - selected: true, - }, - { - name: resourceStatus(ResourceStatus.SHARED), - selected: true, - } - ], - // do zmiany na ResourceAuthorisation - render: (uuid: string) => , + handleRowDoubleClick: (uuid: string) => { + dispatch(navigateTo(uuid)); }, - { - name: WorkflowPanelColumnNames.LAST_MODIFIED, - selected: true, - configurable: true, - sortDirection: SortDirection.NONE, - filters: [], - render: (uuid: string) => + + handleRowClick: (uuid: string) => { + dispatch(loadDetailsPanel(uuid)); } -]; +}); -type WorkflowPanelProps = WorkflowPanelDataProps & DispatchProp; - -export const WorkflowPanel = connect((state: RootState) => ({ - resources: state.resources -}))( - class extends React.Component { - render() { - return - - } /> - - - - - ; - } - - handleContextMenu = (event: React.MouseEvent, resourceUuid: string) => { - const resource = getResource(resourceUuid)(this.props.resources); - if (resource) { - this.props.dispatch(openContextMenu(event, { - name: '', - uuid: resource.uuid, - ownerUuid: resource.ownerUuid, - isTrashed: resource.isTrashed, - kind: resource.kind, - menuKind: ContextMenuKind.PROJECT, - })); - } - } - - handleRowDoubleClick = (uuid: string) => { - this.props.dispatch(navigateTo(uuid)); - } - - handleRowClick = (uuid: string) => { - this.props.dispatch(loadDetailsPanel(uuid)); - } - } -); \ No newline at end of file +export const WorkflowPanel= connect(undefined, mapDispatchToProps)( + (props) => ); \ No newline at end of file