[ARVADOS-WORKBENCH2] updated: 1.1.4-447-gc3b3bdb
Git user
git at public.curoverse.com
Mon Jul 30 10:48:27 EDT 2018
Summary of changes:
src/index.tsx | 4 +++
.../collection-panel-files.ts | 18 ++++++++++--
.../action-sets/collection-files-action-set.ts | 33 ++++++++++++++++++++++
.../collection-files-item-action-set.ts | 27 ++++++++++++++++++
src/views-components/context-menu/context-menu.tsx | 4 ++-
src/views/workbench/workbench.tsx | 6 +---
6 files changed, 84 insertions(+), 8 deletions(-)
create mode 100644 src/views-components/context-menu/action-sets/collection-files-action-set.ts
create mode 100644 src/views-components/context-menu/action-sets/collection-files-item-action-set.ts
via c3b3bdb39e8e0a8ec7368f06a95450a0ef5e572e (commit)
from b79348f1be6a2dce8ceede8bd4c2906fc1098e2b (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 c3b3bdb39e8e0a8ec7368f06a95450a0ef5e572e
Author: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
Date: Mon Jul 30 16:48:11 2018 +0200
Init collection-files context menus
Feature #13855
Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski at contractors.roche.com>
diff --git a/src/index.tsx b/src/index.tsx
index 77d5763..64ff705 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -24,11 +24,15 @@ import { rootProjectActionSet } from "./views-components/context-menu/action-set
import { projectActionSet } from "./views-components/context-menu/action-sets/project-action-set";
import { resourceActionSet } from './views-components/context-menu/action-sets/resource-action-set';
import { favoriteActionSet } from "./views-components/context-menu/action-sets/favorite-action-set";
+import { collectionFilesActionSet } from './views-components/context-menu/action-sets/collection-files-action-set';
+import { collectionFilesItemActionSet } from './views-components/context-menu/action-sets/collection-files-item-action-set';
addMenuActionSet(ContextMenuKind.ROOT_PROJECT, rootProjectActionSet);
addMenuActionSet(ContextMenuKind.PROJECT, projectActionSet);
addMenuActionSet(ContextMenuKind.RESOURCE, resourceActionSet);
addMenuActionSet(ContextMenuKind.FAVORITE, favoriteActionSet);
+addMenuActionSet(ContextMenuKind.COLLECTION_FILES, collectionFilesActionSet);
+addMenuActionSet(ContextMenuKind.COLLECTION_FILES_ITEM, collectionFilesItemActionSet);
fetchConfig()
.then(config => {
diff --git a/src/views-components/collection-panel-files/collection-panel-files.ts b/src/views-components/collection-panel-files/collection-panel-files.ts
index a95bcac..86953a0 100644
--- a/src/views-components/collection-panel-files/collection-panel-files.ts
+++ b/src/views-components/collection-panel-files/collection-panel-files.ts
@@ -10,6 +10,8 @@ import { CollectionPanelFile } from "../../store/collection-panel/collection-pan
import { FileTreeData } from "../../components/file-tree/file-tree-data";
import { Dispatch } from "redux";
import { collectionPanelFilesAction } from "../../store/collection-panel/collection-panel-files/collection-panel-files-actions";
+import { contextMenuActions } from "../../store/context-menu/context-menu-actions";
+import { ContextMenuKind } from "../context-menu/context-menu";
const mapStateToProps = (state: RootState): Pick<CollectionPanelFilesProps, "items"> => ({
items: state.collectionPanelFiles
@@ -17,9 +19,21 @@ const mapStateToProps = (state: RootState): Pick<CollectionPanelFilesProps, "ite
.map(fileToTreeItem(state.collectionPanelFiles))
});
-const mapDispatchToProps = (dispatch: Dispatch): Pick<CollectionPanelFilesProps, 'onCollapseToggle' | 'onSelectionToggle'> => ({
+const mapDispatchToProps = (dispatch: Dispatch): Pick<CollectionPanelFilesProps, 'onCollapseToggle' | 'onSelectionToggle' | 'onItemMenuOpen' | 'onOptionsMenuOpen'> => ({
onCollapseToggle: (id) => dispatch(collectionPanelFilesAction.TOGGLE_COLLECTION_FILE_COLLAPSE({ id })),
- onSelectionToggle: (event, item) => dispatch(collectionPanelFilesAction.TOGGLE_COLLECTION_FILE_SELECTION({id: item.id})),
+ onSelectionToggle: (event, item) => dispatch(collectionPanelFilesAction.TOGGLE_COLLECTION_FILE_SELECTION({ id: item.id })),
+ onItemMenuOpen: (event, item) => {
+ event.preventDefault();
+ dispatch(contextMenuActions.OPEN_CONTEXT_MENU({
+ position: { x: event.clientX, y: event.clientY },
+ resource: { kind: ContextMenuKind.COLLECTION_FILES_ITEM, name: item.data.name, uuid: item.id }
+ }));
+ },
+ onOptionsMenuOpen: (event) =>
+ dispatch(contextMenuActions.OPEN_CONTEXT_MENU({
+ position: { x: event.clientX, y: event.clientY },
+ resource: { kind: ContextMenuKind.COLLECTION_FILES, name: '', uuid: '' }
+ }))
});
diff --git a/src/views-components/context-menu/action-sets/collection-files-action-set.ts b/src/views-components/context-menu/action-sets/collection-files-action-set.ts
new file mode 100644
index 0000000..1e183d5
--- /dev/null
+++ b/src/views-components/context-menu/action-sets/collection-files-action-set.ts
@@ -0,0 +1,33 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { ContextMenuActionSet } from "../context-menu-action-set";
+
+
+export const collectionFilesActionSet: ContextMenuActionSet = [[{
+ name: "Select all",
+ execute: (dispatch, resource) => {
+ return;
+ }
+},{
+ name: "Unselect all",
+ execute: (dispatch, resource) => {
+ return;
+ }
+},{
+ name: "Remove selected",
+ execute: (dispatch, resource) => {
+ return;
+ }
+},{
+ name: "Download selected",
+ execute: (dispatch, resource) => {
+ return;
+ }
+},{
+ name: "Create a new collection with selected",
+ execute: (dispatch, resource) => {
+ return;
+ }
+}]];
diff --git a/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts b/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts
new file mode 100644
index 0000000..5e84276
--- /dev/null
+++ b/src/views-components/context-menu/action-sets/collection-files-item-action-set.ts
@@ -0,0 +1,27 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { ContextMenuActionSet } from "../context-menu-action-set";
+import { RenameIcon, DownloadIcon, RemoveIcon } from "../../../components/icon/icon";
+
+
+export const collectionFilesItemActionSet: ContextMenuActionSet = [[{
+ name: "Rename",
+ icon: RenameIcon,
+ execute: (dispatch, resource) => {
+ return;
+ }
+},{
+ name: "Download",
+ icon: DownloadIcon,
+ execute: (dispatch, resource) => {
+ return;
+ }
+},{
+ name: "Remove",
+ icon: RemoveIcon,
+ execute: (dispatch, resource) => {
+ return;
+ }
+}]];
diff --git a/src/views-components/context-menu/context-menu.tsx b/src/views-components/context-menu/context-menu.tsx
index 5b1049c..20ed669 100644
--- a/src/views-components/context-menu/context-menu.tsx
+++ b/src/views-components/context-menu/context-menu.tsx
@@ -59,5 +59,7 @@ export enum ContextMenuKind {
ROOT_PROJECT = "RootProject",
PROJECT = "Project",
RESOURCE = "Resource",
- FAVORITE = "Favorite"
+ FAVORITE = "Favorite",
+ COLLECTION_FILES = "CollectionFiles",
+ COLLECTION_FILES_ITEM = "CollectionFilesItem",
}
diff --git a/src/views/workbench/workbench.tsx b/src/views/workbench/workbench.tsx
index ac9b06c..34030f1 100644
--- a/src/views/workbench/workbench.tsx
+++ b/src/views/workbench/workbench.tsx
@@ -213,11 +213,7 @@ export const Workbench = withStyles(styles)(
<Switch>
<Route path="/projects/:id" render={this.renderProjectPanel} />
<Route path="/favorites" render={this.renderFavoritePanel} />
- <Route path="/" render={() =>
- <CollectionPanelFiles
- onItemMenuOpen={console.log}
- onOptionsMenuOpen={console.log}
- />} />
+ <Route path="/" render={() => <CollectionPanelFiles />} />
</Switch>
</div>
{user && <DetailsPanel />}
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list