X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dc16046dbfdca4a9c0d94971730d220b27e80620..f8f5995fb9e1d036ff1b5d5d479bfae6698e9935:/services/workbench2/src/store/side-panel-tree/side-panel-tree-actions.ts diff --git a/services/workbench2/src/store/side-panel-tree/side-panel-tree-actions.ts b/services/workbench2/src/store/side-panel-tree/side-panel-tree-actions.ts index 3fad5f587a..8b8b7cc7d1 100644 --- a/services/workbench2/src/store/side-panel-tree/side-panel-tree-actions.ts +++ b/services/workbench2/src/store/side-panel-tree/side-panel-tree-actions.ts @@ -17,6 +17,7 @@ import { ResourceKind } from 'models/resource'; import { CategoriesListReducer } from 'common/plugintypes'; import { pluginConfig } from 'plugins'; import { LinkClass } from 'models/link'; +import { verifyAndUpdateLinkName } from 'common/link-update-name'; export enum SidePanelTreeCategory { PROJECTS = 'Home Projects', @@ -144,7 +145,11 @@ export const loadFavoritesTree = () => async (dispatch: Dispatch, getState: () = limit: SIDEPANEL_TREE_NODE_LIMIT, }; - const { items } = await services.linkService.list(params); + let items = (await services.linkService.list(params)).items; + for(let item of items) { + const verifiedName = await verifyAndUpdateLinkName(item, dispatch, getState, services); + item.name = verifiedName; + } dispatch( treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ @@ -174,17 +179,44 @@ export const loadPublicFavoritesTree = () => async (dispatch: Dispatch, getState limit: SIDEPANEL_TREE_NODE_LIMIT, }; - const { items } = await services.linkService.list(params); + const items = (await services.linkService.list(params)).items; + + const uuids = items.map(it => it.headUuid); + const groupItems: any = await services.groupsService.list({ + filters: new FilterBuilder() + .addIn("uuid", uuids) + .addIsA("uuid", typeFilters) + .getFilters() + }); + const collectionItems: any = await services.collectionService.list({ + filters: new FilterBuilder() + .addIn("uuid", uuids) + .addIsA("uuid", typeFilters) + .getFilters() + }); + const processItems: any = await services.containerRequestService.list({ + filters: new FilterBuilder() + .addIn("uuid", uuids) + .addIsA("uuid", typeFilters) + .getFilters() + }); + + const filtereditems = groupItems.items.concat(collectionItems.items).concat(processItems.items); + + for(const item of filtereditems) { + const verifiedName = await verifyAndUpdateLinkName(item, dispatch, getState, services); + item.name = verifiedName; + } dispatch( treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: SidePanelTreeCategory.PUBLIC_FAVORITES, pickerId: SIDE_PANEL_TREE, - nodes: items.map(item => initTreeNode({ id: item.headUuid, value: item })), + nodes: filtereditems.map(item => initTreeNode({ id: item.headUuid, value: item })), }) ); - dispatch(resourcesActions.SET_RESOURCES(items)); + dispatch(resourcesActions.SET_RESOURCES(filtereditems)); }; export const activateSidePanelTreeItem = (id: string) =>