X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1c0f11ed17dea5be97e8ca63385f979925f1fb08..3397792fd6c0a2aa2000d8aa8e1b33dfe0d93577:/src/views/workbench/workbench.tsx diff --git a/src/views/workbench/workbench.tsx b/src/views/workbench/workbench.tsx index 8d8d937f5c..21396d1d49 100644 --- a/src/views/workbench/workbench.tsx +++ b/src/views/workbench/workbench.tsx @@ -5,43 +5,39 @@ import * as React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { connect, DispatchProp } from "react-redux"; -import { Route, Switch, Redirect } from "react-router"; +import { Route, Switch } from "react-router"; import { login, logout } from "~/store/auth/auth-action"; import { User } from "~/models/user"; import { RootState } from "~/store/store"; import { MainAppBar, MainAppBarActionProps, MainAppBarMenuItem } from '~/views-components/main-app-bar/main-app-bar'; -import { Breadcrumb } from '~/components/breadcrumbs/breadcrumbs'; import { push } from 'react-router-redux'; -import { TreeItem } from "~/components/tree/tree"; -import { getTreePath } from '~/store/project/project-reducer'; import { ProjectPanel } from "~/views/project-panel/project-panel"; import { DetailsPanel } from '~/views-components/details-panel/details-panel'; import { ArvadosTheme } from '~/common/custom-theme'; -import { CreateProjectDialog } from "~/views-components/create-project-dialog/create-project-dialog"; -import { detailsPanelActions, loadDetailsPanel } from "~/store/details-panel/details-panel-action"; -import { openContextMenu } from '~/store/context-menu/context-menu-actions'; -import { ProjectResource, getProjectUrl } from '~/models/project'; -import { ContextMenu, ContextMenuKind } from "~/views-components/context-menu/context-menu"; +import { detailsPanelActions } from "~/store/details-panel/details-panel-action"; +import { ContextMenu } from "~/views-components/context-menu/context-menu"; import { FavoritePanel } from "../favorite-panel/favorite-panel"; import { CurrentTokenDialog } from '~/views-components/current-token-dialog/current-token-dialog'; import { Snackbar } from '~/views-components/snackbar/snackbar'; -import { CreateCollectionDialog } from '~/views-components/create-collection-dialog/create-collection-dialog'; import { CollectionPanel } from '../collection-panel/collection-panel'; -import { UpdateCollectionDialog } from '~/views-components/update-collection-dialog/update-collection-dialog.'; -import { UpdateProjectDialog } from '~/views-components/update-project-dialog/update-project-dialog'; import { AuthService } from "~/services/auth-service/auth-service"; import { RenameFileDialog } from '~/views-components/rename-file-dialog/rename-file-dialog'; import { FileRemoveDialog } from '~/views-components/file-remove-dialog/file-remove-dialog'; import { MultipleFilesRemoveDialog } from '~/views-components/file-remove-dialog/multiple-files-remove-dialog'; -import { DialogCollectionCreateWithSelectedFile } from '~/views-components/create-collection-dialog-with-selected/create-collection-dialog-with-selected'; -import { UploadCollectionFilesDialog } from '~/views-components/upload-collection-files-dialog/upload-collection-files-dialog'; -import { ProjectCopyDialog } from '~/views-components/project-copy-dialog/project-copy-dialog'; -import { CollectionPartialCopyDialog } from '~/views-components/collection-partial-copy-dialog/collection-partial-copy-dialog'; -import { MoveProjectDialog } from '~/views-components/move-project-dialog/move-project-dialog'; -import { MoveCollectionDialog } from '~/views-components/move-collection-dialog/move-collection-dialog'; -import { SidePanel } from '~/views-components/side-panel/side-panel'; import { Routes } from '~/routes/routes'; -import { navigateToResource } from '~/store/navigation/navigation-action'; +import { SidePanel } from '~/views-components/side-panel/side-panel'; +import { ProcessPanel } from '~/views/process-panel/process-panel'; +import { ProcessLogPanel } from '~/views/process-log-panel/process-log-panel'; +import { Breadcrumbs } from '~/views-components/breadcrumbs/breadcrumbs'; +import { CreateProjectDialog } from '~/views-components/dialog-forms/create-project-dialog'; +import { CreateCollectionDialog } from '~/views-components/dialog-forms/create-collection-dialog'; +import { CopyCollectionDialog } from '~/views-components/dialog-forms/copy-collection-dialog'; +import { UpdateCollectionDialog } from '~/views-components/dialog-forms/update-collection-dialog'; +import { UpdateProjectDialog } from '~/views-components/dialog-forms/update-project-dialog'; +import { MoveProjectDialog } from '~/views-components/dialog-forms/move-project-dialog'; +import { MoveCollectionDialog } from '~/views-components/dialog-forms/move-collection-dialog'; +import { FilesUploadCollectionDialog } from '~/views-components/dialog-forms/files-upload-collection-dialog'; +import { PartialCopyCollectionDialog } from '~/views-components/dialog-forms/partial-copy-collection-dialog'; const APP_BAR_HEIGHT = 100; @@ -78,8 +74,6 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ }); interface WorkbenchDataProps { - projects: Array>; - currentProjectId: string; user?: User; currentToken?: string; } @@ -94,10 +88,6 @@ interface WorkbenchActionProps { type WorkbenchProps = WorkbenchDataProps & WorkbenchGeneralProps & WorkbenchActionProps & DispatchProp & WithStyles; -interface NavBreadcrumb extends Breadcrumb { - itemId: string; -} - interface NavMenuItem extends MainAppBarMenuItem { action: () => void; } @@ -116,8 +106,6 @@ interface WorkbenchState { export const Workbench = withStyles(styles)( connect( (state: RootState) => ({ - projects: state.projects.items, - currentProjectId: state.projects.currentItemId, user: state.auth.user, currentToken: state.auth.apiToken, }) @@ -159,21 +147,12 @@ export const Workbench = withStyles(styles)( }; render() { - const path = getTreePath(this.props.projects, this.props.currentProjectId); - const breadcrumbs = path.map(item => ({ - label: item.data.name, - itemId: item.data.uuid, - status: item.status - })); - - const rootProjectUuid = this.props.authService.getUuid(); - const { classes, user } = this.props; return (
+ +
{user && } @@ -196,13 +177,13 @@ export const Workbench = withStyles(styles)( - - + + + - - + @@ -215,9 +196,6 @@ export const Workbench = withStyles(styles)( } mainAppBarActions: MainAppBarActionProps = { - onBreadcrumbClick: ({ itemId }: NavBreadcrumb) => { - this.props.dispatch(navigateToResource(itemId)); - }, onSearch: searchText => { this.setState({ searchText }); this.props.dispatch(push(`/search?q=${searchText}`)); @@ -226,13 +204,6 @@ export const Workbench = withStyles(styles)( onDetailsPanelToggle: () => { this.props.dispatch(detailsPanelActions.TOGGLE_DETAILS_PANEL()); }, - onContextMenu: (event: React.MouseEvent, breadcrumb: NavBreadcrumb) => { - this.props.dispatch(openContextMenu(event, { - uuid: breadcrumb.itemId, - name: breadcrumb.label, - kind: ContextMenuKind.PROJECT - })); - } }; toggleCurrentTokenModal = () => {