X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9f32ba406d862fa0ad79ac7c23c6b0aced1bdf13..10e1abd9cfb8f5cc11659c7961b9d83cf5b9a8b8:/services/workbench2/src/store/project-panel/project-panel-middleware-service.ts diff --git a/services/workbench2/src/store/project-panel/project-panel-middleware-service.ts b/services/workbench2/src/store/project-panel/project-panel-middleware-service.ts index c0c0cd1873..61c89cd6a7 100644 --- a/services/workbench2/src/store/project-panel/project-panel-middleware-service.ts +++ b/services/workbench2/src/store/project-panel/project-panel-middleware-service.ts @@ -35,6 +35,9 @@ import { updatePublicFavorites } from "store/public-favorites/public-favorites-a import { selectedFieldsOfGroup } from "models/group"; import { defaultCollectionSelectedFields } from "models/collection"; import { containerRequestFieldsNoMounts } from "models/container-request"; +import { ContextMenuActionNames } from "views-components/context-menu/context-menu-action-set"; +import { removeDisabledButton } from "store/multiselect/multiselect-actions"; +import { dataExplorerActions } from "store/data-explorer/data-explorer-action"; export class ProjectPanelMiddlewareService extends DataExplorerMiddlewareService { constructor(private services: ServiceRepository, id: string) { @@ -52,9 +55,10 @@ export class ProjectPanelMiddlewareService extends DataExplorerMiddlewareService api.dispatch(projectPanelDataExplorerIsNotSet()); } else { try { + api.dispatch(dataExplorerActions.SET_IS_NOT_FOUND({ id: this.id, isNotFound: false })); if (!background) { api.dispatch(progressIndicatorActions.START_WORKING(this.getId())); } const response = await this.services.groupsService.contents(projectUuid, getParams(dataExplorer, !!isProjectTrashed)); - const resourceUuids = response.items.map(item => item.uuid); + const resourceUuids = [...response.items.map(item => item.uuid), projectUuid]; api.dispatch(updateFavorites(resourceUuids)); api.dispatch(updatePublicFavorites(resourceUuids)); api.dispatch(updateResources(response.items)); @@ -69,9 +73,17 @@ export class ProjectPanelMiddlewareService extends DataExplorerMiddlewareService rowsPerPage: dataExplorer.rowsPerPage, }) ); - api.dispatch(couldNotFetchProjectContents()); + if (e.status === 404) { + api.dispatch(dataExplorerActions.SET_IS_NOT_FOUND({ id: this.id, isNotFound: true})); + } + else { + api.dispatch(couldNotFetchProjectContents()); + } } finally { - if (!background) { api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId())); } + if (!background) { + api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId())); + api.dispatch(removeDisabledButton(ContextMenuActionNames.MOVE_TO_TRASH)) + } } } }