X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ab54fbc8f8934aab2b4a824bb2b71e354503c9ec..48415d7eb1c2c1d8454c25f3d0795995fdc3857e:/src/routes/route-change-handlers.ts diff --git a/src/routes/route-change-handlers.ts b/src/routes/route-change-handlers.ts index b29e5d1e1a..33e0bef753 100644 --- a/src/routes/route-change-handlers.ts +++ b/src/routes/route-change-handlers.ts @@ -4,8 +4,11 @@ import { History, Location } from 'history'; import { RootStore } from '~/store/store'; -import { matchProcessRoute, matchProcessLogRoute, matchProjectRoute, matchCollectionRoute, matchFavoritesRoute, matchTrashRoute } from './routes'; +import { matchProcessRoute, matchProcessLogRoute, matchProjectRoute, matchCollectionRoute, matchFavoritesRoute, matchTrashRoute, matchRootRoute, matchSharedWithMeRoute } from './routes'; import { loadProject, loadCollection, loadFavorites, loadTrash, loadProcess, loadProcessLog } from '~/store/workbench/workbench-actions'; +import { navigateToRootProject } from '~/store/navigation/navigation-action'; +import { navigateToSharedWithMe } from '../store/navigation/navigation-action'; +import { loadSharedWithMe } from '../store/workbench/workbench-actions'; export const addRouteChangeHandlers = (history: History, store: RootStore) => { const handler = handleLocationChange(store); @@ -14,13 +17,15 @@ export const addRouteChangeHandlers = (history: History, store: RootStore) => { }; const handleLocationChange = (store: RootStore) => ({ pathname }: Location) => { + const rootMatch = matchRootRoute(pathname); const projectMatch = matchProjectRoute(pathname); const collectionMatch = matchCollectionRoute(pathname); const favoriteMatch = matchFavoritesRoute(pathname); const trashMatch = matchTrashRoute(pathname); const processMatch = matchProcessRoute(pathname); const processLogMatch = matchProcessLogRoute(pathname); - + const sharedWithMeMatch = matchSharedWithMeRoute(pathname); + if (projectMatch) { store.dispatch(loadProject(projectMatch.params.id)); } else if (collectionMatch) { @@ -33,5 +38,9 @@ const handleLocationChange = (store: RootStore) => ({ pathname }: Location) => { store.dispatch(loadProcess(processMatch.params.id)); } else if (processLogMatch) { store.dispatch(loadProcessLog(processLogMatch.params.id)); + } else if (rootMatch) { + store.dispatch(navigateToRootProject); + } else if (sharedWithMeMatch) { + store.dispatch(loadSharedWithMe); } };