[ARVADOS-WORKBENCH2] updated: 1.1.4-530-g185beca
Git user
git at public.curoverse.com
Mon Aug 6 08:44:11 EDT 2018
Summary of changes:
package.json | 24 ++---
src/components/icon/icon.tsx | 4 +-
src/models/object-types.ts | 23 +++++
src/store/navigation/navigation-action.ts | 5 +-
.../context-menu/actions/favorite-action.tsx | 2 +-
src/views/collection-panel/collection-panel.tsx | 20 ++--
src/views/project-panel/project-panel.tsx | 11 +-
src/views/workbench/workbench.tsx | 17 +---
yarn.lock | 113 ++++++++-------------
9 files changed, 103 insertions(+), 116 deletions(-)
create mode 100644 src/models/object-types.ts
via 185beca2556c6a165f494ae941e06fec1c89fc74 (commit)
via 787e604aba41d4e75716bf99507c02df9fa8cf4d (commit)
via 0a6a8ab679e84f99eedc17aec46a310ef86172c6 (commit)
from daac474f873245093191b4ea3834fba0ffdcc45f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 185beca2556c6a165f494ae941e06fec1c89fc74
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date: Mon Aug 6 14:43:52 2018 +0200
cr changes
Feature #13905
Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
diff --git a/src/models/object-types.ts b/src/models/object-types.ts
new file mode 100644
index 0000000..c01df75
--- /dev/null
+++ b/src/models/object-types.ts
@@ -0,0 +1,23 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+const USER_UUID_REGEX = /.*tpzed.*/;
+const GROUP_UUID_REGEX = /.*-j7d0g-.*/;
+
+export enum ObjectTypes {
+ USER,
+ GROUP,
+ UNKNOWN
+}
+
+export const getUuidObjectType = (uuid: string) => {
+ switch(true) {
+ case USER_UUID_REGEX.test(uuid):
+ return ObjectTypes.USER;
+ case GROUP_UUID_REGEX.test(uuid):
+ return ObjectTypes.GROUP;
+ default:
+ return ObjectTypes.UNKNOWN;
+ }
+ };
\ No newline at end of file
diff --git a/src/store/navigation/navigation-action.ts b/src/store/navigation/navigation-action.ts
index abdd648..defddad 100644
--- a/src/store/navigation/navigation-action.ts
+++ b/src/store/navigation/navigation-action.ts
@@ -16,6 +16,7 @@ import { ProjectService } from "../../services/project-service/project-service";
import { ServiceRepository } from "../../services/services";
import { sidePanelActions } from "../side-panel/side-panel-action";
import { SidePanelIdentifiers } from "../side-panel/side-panel-reducer";
+import { getUuidObjectType, ObjectTypes } from "../../models/object-types";
export const getResourceUrl = <T extends Resource>(resource: T): string => {
switch (resource.kind) {
@@ -75,10 +76,8 @@ export const restoreBranch = (itemId: string) =>
});
};
-const USER_UUID_REGEX = /.*tpzed.*/;
-
export const loadProjectAncestors = async (uuid: string, projectService: ProjectService): Promise<Array<ProjectResource>> => {
- if (USER_UUID_REGEX.test(uuid)) {
+ if (getUuidObjectType(uuid) === ObjectTypes.USER) {
return [];
} else {
const currentProject = await projectService.get(uuid);
diff --git a/src/views/project-panel/project-panel.tsx b/src/views/project-panel/project-panel.tsx
index 5c3fb2b..63a57bb 100644
--- a/src/views/project-panel/project-panel.tsx
+++ b/src/views/project-panel/project-panel.tsx
@@ -17,6 +17,7 @@ import { ResourceKind } from '../../models/resource';
import { resourceLabel } from '../../common/labels';
import { ArvadosTheme } from '../../common/custom-theme';
import { renderName, renderStatus, renderType, renderOwner, renderFileSize, renderDate } from '../../views-components/data-explorer/renderers';
+import { restoreBranch } from '../../store/navigation/navigation-action';
type CssRules = "toolbar" | "button";
@@ -128,6 +129,7 @@ export const PROJECT_PANEL_ID = "projectPanel";
interface ProjectPanelDataProps {
currentItemId: string;
+ isSidePanelOpen: boolean;
}
interface ProjectPanelActionProps {
@@ -143,7 +145,7 @@ type ProjectPanelProps = ProjectPanelDataProps & ProjectPanelActionProps & Dispa
& WithStyles<CssRules> & RouteComponentProps<{ id: string }>;
export const ProjectPanel = withStyles(styles)(
- connect((state: RootState) => ({ currentItemId: state.projects.currentItemId }))(
+ connect((state: RootState) => ({ currentItemId: state.projects.currentItemId, isSidePanelOpen: state.sidePanel[0].open }))(
class extends React.Component<ProjectPanelProps> {
render() {
const { classes } = this.props;
@@ -176,11 +178,18 @@ export const ProjectPanel = withStyles(styles)(
handleNewCollectionClick = () => {
this.props.onCollectionCreationDialogOpen(this.props.currentItemId);
}
+
componentWillReceiveProps({ match, currentItemId, onItemRouteChange }: ProjectPanelProps) {
if (match.params.id !== currentItemId) {
onItemRouteChange(match.params.id);
}
}
+
+ componentDidMount() {
+ if (this.props.match.params.id && !this.props.isSidePanelOpen) {
+ this.props.dispatch<any>(restoreBranch(this.props.match.params.id));
+ }
+ }
}
)
);
diff --git a/src/views/workbench/workbench.tsx b/src/views/workbench/workbench.tsx
index 5ffdf91..56b7431 100644
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@ -93,7 +93,6 @@ interface WorkbenchDataProps {
user?: User;
currentToken?: string;
sidePanelItems: SidePanelItem[];
- router?: any;
}
interface WorkbenchServiceProps {
@@ -131,8 +130,7 @@ export const Workbench = withStyles(styles)(
currentProjectId: state.projects.currentItemId,
user: state.auth.user,
currentToken: state.auth.apiToken,
- sidePanelItems: state.sidePanel,
- router: state.router.location
+ sidePanelItems: state.sidePanel
})
)(
class extends React.Component<WorkbenchProps, WorkbenchState> {
@@ -172,19 +170,6 @@ export const Workbench = withStyles(styles)(
}
};
- componentDidMount() {
- const PROJECT_URL_REGEX = /\/projects\/(.*)/;
- const getProjectIdFromUrl = (url: string) => {
- const match = PROJECT_URL_REGEX.exec(url);
- return match ? match[1] : match;
- };
-
- const id = getProjectIdFromUrl(this.props.router.pathname);
- if (id) {
- this.props.dispatch<any>(restoreBranch(id));
- }
- }
-
render() {
const path = getTreePath(this.props.projects, this.props.currentProjectId);
const breadcrumbs = path.map(item => ({
commit 787e604aba41d4e75716bf99507c02df9fa8cf4d
Merge: daac474 0a6a8ab
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date: Mon Aug 6 11:27:10 2018 +0200
Merge branch 'master' into 13905-restoring-correct-tree-state-and-panel-item-highlighting-on-page-refresh-with-given-url
refs #13905
Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list