[arvados] updated: 2.7.0-5840-gd4c73aa986

git repository hosting git at public.arvados.org
Wed Jan 24 19:39:38 UTC 2024


Summary of changes:
 .../ms-kind-action-differentiator.ts               |  4 +-
 .../ms-toolbar-action-filters.ts                   |  4 ++
 .../multiselect-toolbar/ms-menu-actions.ts         |  1 +
 .../multiselect-toolbar/ms-user-action-set.ts      | 55 ++++++++++++++++++++++
 4 files changed, 63 insertions(+), 1 deletion(-)
 create mode 100644 services/workbench2/src/views-components/multiselect-toolbar/ms-user-action-set.ts

       via  d4c73aa98677d4fb0c70e444a56c16235cdad597 (commit)
      from  20b3576fb84a0e51c7f7789aba453ade163af009 (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 d4c73aa98677d4fb0c70e444a56c16235cdad597
Author: Lisa Knox <lisaknox83 at gmail.com>
Date:   Wed Jan 24 14:39:31 2024 -0500

    21224: user card has non-admin menu Arvados-DCO-1.1-Signed-off-by: Lisa Knox <lisa.knox at curii.com>

diff --git a/services/workbench2/src/components/multiselect-toolbar/ms-kind-action-differentiator.ts b/services/workbench2/src/components/multiselect-toolbar/ms-kind-action-differentiator.ts
index 5a84d4c573..7819c902cc 100644
--- a/services/workbench2/src/components/multiselect-toolbar/ms-kind-action-differentiator.ts
+++ b/services/workbench2/src/components/multiselect-toolbar/ms-kind-action-differentiator.ts
@@ -8,16 +8,18 @@ import { msCollectionActionSet } from "views-components/multiselect-toolbar/ms-c
 import { msProjectActionSet } from "views-components/multiselect-toolbar/ms-project-action-set";
 import { msProcessActionSet } from "views-components/multiselect-toolbar/ms-process-action-set";
 import { msWorkflowActionSet } from "views-components/multiselect-toolbar/ms-workflow-action-set";
+import { msUserActionSet } from "views-components/multiselect-toolbar/ms-user-action-set";
 
 export function findActionByName(name: string, actionSet: MultiSelectMenuActionSet) {
     return actionSet[0].find(action => action.name === name);
 }
 
-const { COLLECTION, PROCESS, PROJECT, WORKFLOW } = ResourceKind;
+const { COLLECTION, PROCESS, PROJECT, WORKFLOW , USER} = ResourceKind;
 
 export const kindToActionSet: Record<string, MultiSelectMenuActionSet> = {
     [COLLECTION]: msCollectionActionSet,
     [PROCESS]: msProcessActionSet,
     [PROJECT]: msProjectActionSet,
     [WORKFLOW]: msWorkflowActionSet,
+    [USER]: msUserActionSet
 };
diff --git a/services/workbench2/src/components/multiselect-toolbar/ms-toolbar-action-filters.ts b/services/workbench2/src/components/multiselect-toolbar/ms-toolbar-action-filters.ts
index b34cc22cb9..b231135d3b 100644
--- a/services/workbench2/src/components/multiselect-toolbar/ms-toolbar-action-filters.ts
+++ b/services/workbench2/src/components/multiselect-toolbar/ms-toolbar-action-filters.ts
@@ -16,6 +16,7 @@ import {
 import { msProcessActionSet, msCommonProcessActionFilter, msAdminProcessActionFilter, msRunningProcessActionFilter } from 'views-components/multiselect-toolbar/ms-process-action-set';
 import { msWorkflowActionSet, msWorkflowActionFilter, msReadOnlyWorkflowActionFilter } from 'views-components/multiselect-toolbar/ms-workflow-action-set';
 import { ResourceKind } from 'models/resource';
+import { msUserActionSet } from "views-components/multiselect-toolbar/ms-user-action-set";
 
 export enum msMenuResourceKind {
     API_CLIENT_AUTHORIZATION = 'ApiClientAuthorization',
@@ -82,6 +83,7 @@ const {
     FILTER_GROUP_ADMIN,
     WORKFLOW,
     READONLY_WORKFLOW,
+    ROOT_PROJECT
 } = msMenuResourceKind;
 
 export type TMultiselectActionsFilters = Record<string, [MultiSelectMenuActionSet, Set<string>]>;
@@ -112,4 +114,6 @@ export const multiselectActionsFilters: TMultiselectActionsFilters = {
     
     [WORKFLOW]: [msWorkflowActionSet, msWorkflowActionFilter],
     [READONLY_WORKFLOW]: [msWorkflowActionSet, msReadOnlyWorkflowActionFilter],
+
+    [ROOT_PROJECT]: [msUserActionSet, allActionNames(msUserActionSet)],
 };
diff --git a/services/workbench2/src/views-components/multiselect-toolbar/ms-menu-actions.ts b/services/workbench2/src/views-components/multiselect-toolbar/ms-menu-actions.ts
index 91ad96ce4b..c9cb473616 100644
--- a/services/workbench2/src/views-components/multiselect-toolbar/ms-menu-actions.ts
+++ b/services/workbench2/src/views-components/multiselect-toolbar/ms-menu-actions.ts
@@ -24,6 +24,7 @@ export enum MultiSelectMenuActionNames {
     MOVE_TO_TRASH = 'Move to trash',
     ADD_TO_PUBLIC_FAVORITES = 'Add to public favorites',
     API_DETAILS = 'API Details',
+    ATTRIBUTES = 'Attributes',
     CANCEL = 'CANCEL',
     COPY_AND_RERUN_PROCESS = 'Copy and re-run process',
     COPY_TO_CLIPBOARD = 'Copy to clipboard',
diff --git a/services/workbench2/src/views-components/multiselect-toolbar/ms-user-action-set.ts b/services/workbench2/src/views-components/multiselect-toolbar/ms-user-action-set.ts
new file mode 100644
index 0000000000..0836ce02f0
--- /dev/null
+++ b/services/workbench2/src/views-components/multiselect-toolbar/ms-user-action-set.ts
@@ -0,0 +1,55 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { AdvancedIcon, AttributesIcon } from "components/icon/icon";
+import { MultiSelectMenuAction, MultiSelectMenuActionSet, MultiSelectMenuActionNames } from "./ms-menu-actions";
+import { openAdvancedTabDialog } from 'store/advanced-tab/advanced-tab';
+import { Dispatch } from "redux";
+import { RootState } from "store/store";
+import { ServiceRepository } from "services/services";
+import { dialogActions } from "store/dialog/dialog-actions";
+import { UserResource } from "models/user";
+import { getResource } from "store/resources/resources";
+
+const { ATTRIBUTES, API_DETAILS } = MultiSelectMenuActionNames
+
+export const USER_ATTRIBUTES_DIALOG = 'userAttributesDialog';
+
+const openUserAttributes = (uuid: string) =>
+    (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+        const { resources } = getState();
+        const data = getResource<UserResource>(uuid)(resources);
+        dispatch(dialogActions.OPEN_DIALOG({ id: USER_ATTRIBUTES_DIALOG, data }));
+    };
+
+const msUserAttributes: MultiSelectMenuAction  = {
+  name: ATTRIBUTES,
+  icon: AttributesIcon,
+  hasAlts: false,
+  isForMulti: false,
+  execute: (dispatch, resources) => {
+      dispatch<any>(openUserAttributes(resources[0].uuid));
+  },
+};
+
+const msAdvancedAction: MultiSelectMenuAction  = {
+  name: API_DETAILS,
+  icon: AdvancedIcon,
+  hasAlts: false,
+  isForMulti: false,
+  execute: (dispatch, resources) => {
+      dispatch<any>(openAdvancedTabDialog(resources[0].uuid));
+  },
+};
+
+export const msUserActionSet: MultiSelectMenuActionSet = [
+    [
+      msAdvancedAction, 
+      msUserAttributes
+    ]
+];
+
+
+export const msUserCommonActionFilter = new Set([ATTRIBUTES, API_DETAILS]);
+

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list