Feature #14102
Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>
.put<T>(this.resourceType + uuid, data && CommonResourceService.mapKeys(_.snakeCase)(data)));
}
.put<T>(this.resourceType + uuid, data && CommonResourceService.mapKeys(_.snakeCase)(data)));
}
}
export const getCommonResourceServiceError = (errorResponse: any) => {
}
export const getCommonResourceServiceError = (errorResponse: any) => {
import { collectionResourceActionSet } from './views-components/context-menu/action-sets/collection-resource-action-set';
import { addRouteChangeHandlers } from './routes/routes';
import { loadWorkbench } from './store/navigation/navigation-action';
import { collectionResourceActionSet } from './views-components/context-menu/action-sets/collection-resource-action-set';
import { addRouteChangeHandlers } from './routes/routes';
import { loadWorkbench } from './store/navigation/navigation-action';
+import { Routes } from '~/routes/routes';
const getBuildNumber = () => "BN-" + (process.env.REACT_APP_BUILD_NUMBER || "dev");
const getGitCommit = () => "GIT-" + (process.env.REACT_APP_GIT_COMMIT || "latest").substr(0, 7);
const getBuildNumber = () => "BN-" + (process.env.REACT_APP_BUILD_NUMBER || "dev");
const getGitCommit = () => "GIT-" + (process.env.REACT_APP_GIT_COMMIT || "latest").substr(0, 7);
addMenuActionSet(ContextMenuKind.COLLECTION_RESOURCE, collectionResourceActionSet);
fetchConfig()
addMenuActionSet(ContextMenuKind.COLLECTION_RESOURCE, collectionResourceActionSet);
fetchConfig()
- .then(async (config) => {
const history = createBrowserHistory();
const services = createServices(config);
const store = configureStore(history, services);
const history = createBrowserHistory();
const services = createServices(config);
const store = configureStore(history, services);
<Provider store={store}>
<ConnectedRouter history={history}>
<div>
<Provider store={store}>
<ConnectedRouter history={history}>
<div>
- <Route path="/token" component={TokenComponent} />
- <Route path="/" component={WorkbenchComponent} />
+ <Route path={Routes.TOKEN} component={TokenComponent} />
+ <Route path={Routes.ROOT} component={WorkbenchComponent} />
</div>
</ConnectedRouter>
</Provider>
</div>
</ConnectedRouter>
</Provider>
export const Routes = {
ROOT: '/',
export const Routes = {
ROOT: '/',
PROJECTS: `/projects/:id(${RESOURCE_UUID_PATTERN})`,
COLLECTIONS: `/collections/:id(${RESOURCE_UUID_PATTERN})`,
FAVORITES: '/favorites',
PROJECTS: `/projects/:id(${RESOURCE_UUID_PATTERN})`,
COLLECTIONS: `/collections/:id(${RESOURCE_UUID_PATTERN})`,
FAVORITES: '/favorites',
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
import { GroupsService } from "~/services/groups-service/groups-service";
import { UserService } from '../user-service/user-service';
import { GroupResource } from '~/models/group';
import { GroupsService } from "~/services/groups-service/groups-service";
import { UserService } from '../user-service/user-service';
import { GroupResource } from '~/models/group';
-import { UserResource } from '../../models/user';
+import { UserResource } from '~/models/user';
import { extractUuidObjectType, ResourceObjectType } from "~/models/resource";
import { extractUuidObjectType, ResourceObjectType } from "~/models/resource";
-// Copyright (C) The Arvados Authors. All rights reserved.
-//
-// SPDX-License-Identifier: AGPL-3.0
-
export class AncestorService {
constructor(
private groupsService: GroupsService,
export class AncestorService {
constructor(
private groupsService: GroupsService,
delete client.defaults.headers.common.Authorization;
}
delete client.defaults.headers.common.Authorization;
}
-export const initAuth = () =>
- (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
- const user = services.authService.getUser();
- const token = services.authService.getApiToken();
- if (token) {
- setAuthorizationHeader(services, token);
- }
- if (token && user) {
- dispatch(authActions.INIT({ user, token }));
- }
- };
+export const initAuth = () => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ const user = services.authService.getUser();
+ const token = services.authService.getApiToken();
+ if (token) {
+ setAuthorizationHeader(services, token);
+ }
+ if (token && user) {
+ dispatch(authActions.INIT({ user, token }));
+ }
+};
export const saveApiToken = (token: string) => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
services.authService.saveApiToken(token);
export const saveApiToken = (token: string) => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
services.authService.saveApiToken(token);
import { Breadcrumb } from '~/components/breadcrumbs/breadcrumbs';
import { push } from 'react-router-redux';
import { TreeItem } from "~/components/tree/tree";
import { Breadcrumb } from '~/components/breadcrumbs/breadcrumbs';
import { push } from 'react-router-redux';
import { TreeItem } from "~/components/tree/tree";
-import { getTreePath } from '~/store/project/project-reducer';
import { ProjectPanel } from "~/views/project-panel/project-panel";
import { DetailsPanel } from '~/views-components/details-panel/details-panel';
import { ArvadosTheme } from '~/common/custom-theme';
import { ProjectPanel } from "~/views/project-panel/project-panel";
import { DetailsPanel } from '~/views-components/details-panel/details-panel';
import { ArvadosTheme } from '~/common/custom-theme';
- const path = getTreePath(this.props.projects, this.props.currentProjectId);
- const breadcrumbs = path.map(item => ({
- label: item.data.name,
- itemId: item.data.uuid,
- status: item.status
- }));
-
- const rootProjectUuid = this.props.authService.getUuid();
-
const { classes, user } = this.props;
return (
<div className={classes.root}>
const { classes, user } = this.props;
return (
<div className={classes.root}>