X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/022c93cff94f9f253e1df177ad75dde0dde2597f..cafed6458d46b99a1dc28deef0ea60b985af03dd:/src/store/workbench/workbench-actions.ts diff --git a/src/store/workbench/workbench-actions.ts b/src/store/workbench/workbench-actions.ts index 527d9d74..7958463a 100644 --- a/src/store/workbench/workbench-actions.ts +++ b/src/store/workbench/workbench-actions.ts @@ -49,7 +49,6 @@ import * as processUpdateActions from 'store/processes/process-update-actions'; import * as processCopyActions from 'store/processes/process-copy-actions'; import { trashPanelColumns } from "views/trash-panel/trash-panel"; import { loadTrashPanel, trashPanelActions } from "store/trash-panel/trash-panel-action"; -import { initProcessLogsPanel } from 'store/process-logs-panel/process-logs-panel-actions'; import { loadProcessPanel } from 'store/process-panel/process-panel-actions'; import { loadSharedWithMePanel, @@ -100,6 +99,7 @@ import { loadAllProcessesPanel, allProcessesPanelActions } from '../all-processe import { allProcessesPanelColumns } from 'views/all-processes-panel/all-processes-panel'; import { collectionPanelFilesAction } from '../collection-panel/collection-panel-files/collection-panel-files-actions'; import { createTree } from 'models/tree'; +import { AdminMenuIcon } from 'components/icon/icon'; export const WORKBENCH_LOADING_SCREEN = 'workbenchLoadingScreen'; @@ -194,35 +194,34 @@ export const loadProject = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { const userUuid = getUserUuid(getState()); dispatch(setIsProjectPanelTrashed(false)); - if (userUuid) { - if (extractUuidKind(uuid) === ResourceKind.USER && userUuid !== uuid) { - // Load another users home projects - dispatch(finishLoadingProject(uuid)); - } else if (userUuid !== uuid) { - const match = await loadGroupContentsResource({ uuid, userUuid, services }); - match({ - OWNED: async project => { - await dispatch(activateSidePanelTreeItem(uuid)); - dispatch(setSidePanelBreadcrumbs(uuid)); - dispatch(finishLoadingProject(project)); - }, - SHARED: project => { - dispatch(setSharedWithMeBreadcrumbs(uuid)); - dispatch(activateSidePanelTreeItem(uuid)); - dispatch(finishLoadingProject(project)); - }, - TRASHED: project => { - dispatch(setTrashBreadcrumbs(uuid)); - dispatch(setIsProjectPanelTrashed(true)); - dispatch(activateSidePanelTreeItem(SidePanelTreeCategory.TRASH)); - dispatch(finishLoadingProject(project)); - } - }); - } else { - await dispatch(activateSidePanelTreeItem(userUuid)); - dispatch(setSidePanelBreadcrumbs(userUuid)); - dispatch(finishLoadingProject(userUuid)); - } + if (!userUuid) { + return; + } + if (extractUuidKind(uuid) === ResourceKind.USER && userUuid !== uuid) { + // Load another users home projects + dispatch(finishLoadingProject(uuid)); + } else if (userUuid !== uuid) { + await dispatch(finishLoadingProject(uuid)); + const match = await loadGroupContentsResource({ uuid, userUuid, services }); + match({ + OWNED: async () => { + await dispatch(activateSidePanelTreeItem(uuid)); + dispatch(setSidePanelBreadcrumbs(uuid)); + }, + SHARED: async () => { + await dispatch(activateSidePanelTreeItem(uuid)); + dispatch(setSharedWithMeBreadcrumbs(uuid)); + }, + TRASHED: async () => { + await dispatch(activateSidePanelTreeItem(SidePanelTreeCategory.TRASH)); + dispatch(setTrashBreadcrumbs(uuid)); + dispatch(setIsProjectPanelTrashed(true)); + } + }); + } else { + await dispatch(finishLoadingProject(userUuid)); + await dispatch(activateSidePanelTreeItem(userUuid)); + dispatch(setSidePanelBreadcrumbs(userUuid)); } }); @@ -417,15 +416,6 @@ export const copyProcess = (data: CopyFormDialogData) => } }; -export const loadProcessLog = (uuid: string) => - handleFirstTimeLoad( - async (dispatch: Dispatch) => { - const process = await dispatch(processesActions.loadProcess(uuid)); - dispatch(setProcessBreadcrumbs(uuid)); - dispatch(initProcessLogsPanel(uuid)); - await dispatch(activateSidePanelTreeItem(process.containerRequest.ownerUuid)); - }); - export const resourceIsNotLoaded = (uuid: string) => snackbarActions.OPEN_SNACKBAR({ message: `Resource identified by ${uuid} is not loaded.`, @@ -492,6 +482,12 @@ export const loadVirtualMachines = handleFirstTimeLoad( dispatch(setBreadcrumbs([{ label: 'Virtual Machines' }])); }); +export const loadVirtualMachinesAdmin = handleFirstTimeLoad( + async (dispatch: Dispatch) => { + await dispatch(loadVirtualMachinesPanel()); + dispatch(setBreadcrumbs([{ label: 'Virtual Machines Admin', icon: AdminMenuIcon }])); + }); + export const loadRepositories = handleFirstTimeLoad( async (dispatch: Dispatch) => { await dispatch(loadRepositoriesPanel());