Merge branch '18123-group-edit-page-rebase1' into main. Closes #18123
[arvados-workbench2.git] / src / views-components / context-menu / action-sets / permission-edit-action-set.ts
diff --git a/src/views-components/context-menu/action-sets/permission-edit-action-set.ts b/src/views-components/context-menu/action-sets/permission-edit-action-set.ts
new file mode 100644 (file)
index 0000000..8663d3c
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { ContextMenuActionSet } from "views-components/context-menu/context-menu-action-set";
+import { CanReadIcon, CanManageIcon, CanWriteIcon } from "components/icon/icon";
+import { editPermissionLevel } from 'store/group-details-panel/group-details-panel-actions';
+import { PermissionLevel } from "models/permission";
+
+export const permissionEditActionSet: ContextMenuActionSet = [[{
+    name: "Read",
+    icon: CanReadIcon,
+    execute: (dispatch, { uuid }) => {
+        dispatch<any>(editPermissionLevel(uuid, PermissionLevel.CAN_READ));
+    }
+}, {
+    name: "Write",
+    icon: CanWriteIcon,
+    execute: (dispatch, { uuid }) => {
+        dispatch<any>(editPermissionLevel(uuid, PermissionLevel.CAN_WRITE));
+    }
+}, {
+    name: "Manage",
+    icon: CanManageIcon,
+    execute: (dispatch, { uuid }) => {
+        dispatch<any>(editPermissionLevel(uuid, PermissionLevel.CAN_MANAGE));
+    }
+}]];