From: Pawel Kowalczyk Date: Wed, 8 May 2019 11:34:07 +0000 (+0200) Subject: navigate-to-collection-when-there-is-only-one-collection-with-given-content-address X-Git-Tag: 1.4.0~11^2~8 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/59995a3eed71636c7b3be3729a41d8a90ee2486c navigate-to-collection-when-there-is-only-one-collection-with-given-content-address Feature #15020 Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk --- diff --git a/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts b/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts index 53c45d57..c1893f6d 100644 --- a/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts +++ b/src/store/collections-content-address-panel/collections-content-address-middleware-service.ts @@ -17,6 +17,7 @@ import { FavoritePanelColumnNames } from '~/views/favorite-panel/favorite-panel' import { GroupContentsResource, GroupContentsResourcePrefix } from '~/services/groups-service/groups-service'; import { progressIndicatorActions } from '~/store/progress-indicator/progress-indicator-actions'; import { collectionsContentAddressActions } from './collections-content-address-panel-actions'; +import { navigateTo } from '~/store/navigation/navigation-action'; export class CollectionsWithSameContentAddressMiddlewareService extends DataExplorerMiddlewareService { constructor(private services: ServiceRepository, id: string) { @@ -51,14 +52,19 @@ export class CollectionsWithSameContentAddressMiddlewareService extends DataExpl .addEqual('portableDataHash', contentAddress) .getFilters() }); - api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId())); - api.dispatch(resourcesActions.SET_RESOURCES(response.items)); - api.dispatch(collectionsContentAddressActions.SET_ITEMS({ - items: response.items.map((resource: any) => resource.uuid), - itemsAvailable: response.itemsAvailable, - page: Math.floor(response.offset / response.limit), - rowsPerPage: response.limit - })); + if (response.itemsAvailable === 1) { + api.dispatch(navigateTo(response.items[0].uuid)); + api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId())); + } else { + api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId())); + api.dispatch(resourcesActions.SET_RESOURCES(response.items)); + api.dispatch(collectionsContentAddressActions.SET_ITEMS({ + items: response.items.map((resource: any) => resource.uuid), + itemsAvailable: response.itemsAvailable, + page: Math.floor(response.offset / response.limit), + rowsPerPage: response.limit + })); + } } catch (e) { api.dispatch(progressIndicatorActions.PERSIST_STOP_WORKING(this.getId())); api.dispatch(collectionsContentAddressActions.SET_ITEMS({