1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { ActiveIcon, AdminMenuIcon, AdvancedIcon, AttributesIcon, DeactivateUserIcon, LoginAsIcon } from 'components/icon/icon';
6 import { MultiSelectMenuAction, MultiSelectMenuActionSet, MultiSelectMenuActionNames } from './ms-menu-actions';
7 import { openAdvancedTabDialog } from 'store/advanced-tab/advanced-tab';
8 import { openActivateDialog, openDeactivateDialog, openSetupDialog } from 'store/user-profile/user-profile-actions';
9 import { openUserAttributes } from 'store/users/users-actions';
10 import { loginAs } from 'store/users/users-actions';
12 const { ATTRIBUTES, API_DETAILS, SETUP_USER, ACTIVATE_USER, DEACTIVATE_USER, LOGIN_AS_USER } = MultiSelectMenuActionNames;
14 export const USER_ATTRIBUTES_DIALOG = 'userAttributesDialog';
16 const msUserAttributes: MultiSelectMenuAction = {
21 execute: (dispatch, resources) => {
22 dispatch<any>(openUserAttributes(resources[0].uuid));
26 const msAdvancedAction: MultiSelectMenuAction = {
31 execute: (dispatch, resources) => {
32 dispatch<any>(openAdvancedTabDialog(resources[0].uuid));
36 const msActivateUser: MultiSelectMenuAction = {
41 execute: (dispatch, resources) => {
42 dispatch<any>(openActivateDialog(resources[0].uuid));
46 const msSetupUser: MultiSelectMenuAction = {
51 execute: (dispatch, resources) => {
52 dispatch<any>(openSetupDialog(resources[0].uuid));
56 const msDeactivateUser: MultiSelectMenuAction = {
57 name: DEACTIVATE_USER,
58 icon: DeactivateUserIcon,
61 execute: (dispatch, resources) => {
62 dispatch<any>(openDeactivateDialog(resources[0].uuid));
66 const msLoginAsUser: MultiSelectMenuAction = {
71 execute: (dispatch, resources) => {
72 dispatch<any>(loginAs(resources[0].uuid));
76 export const msUserActionSet: MultiSelectMenuActionSet = [[msAdvancedAction, msUserAttributes, msSetupUser, msActivateUser, msDeactivateUser, msLoginAsUser]];
78 export const msUserCommonActionFilter = new Set([ATTRIBUTES, API_DETAILS]);
79 export const msUserAdminActionFilter = new Set([ATTRIBUTES, API_DETAILS, SETUP_USER, ACTIVATE_USER, DEACTIVATE_USER, LOGIN_AS_USER]);