From e02fcdadca54f1dc970734f7c5ce0bc6407e10c6 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Wed, 10 Nov 2021 11:01:12 -0500 Subject: [PATCH] 18123: Use project update dialog for renaming group Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- .../groups-panel/groups-panel-actions.ts | 35 +----------- .../action-sets/group-action-set.ts | 7 ++- .../dialog-forms/rename-group-dialog.tsx | 55 ------------------- src/views/groups-panel/groups-panel.tsx | 1 - src/views/workbench/workbench.tsx | 2 - 5 files changed, 5 insertions(+), 95 deletions(-) delete mode 100644 src/views-components/dialog-forms/rename-group-dialog.tsx diff --git a/src/store/groups-panel/groups-panel-actions.ts b/src/store/groups-panel/groups-panel-actions.ts index 9c9f15cf..1c4a0732 100644 --- a/src/store/groups-panel/groups-panel-actions.ts +++ b/src/store/groups-panel/groups-panel-actions.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { Dispatch } from 'redux'; -import { reset, initialize, startSubmit, stopSubmit, FormErrors } from 'redux-form'; +import { reset, startSubmit, stopSubmit, FormErrors } from 'redux-form'; import { bindDataExplorerActions } from "store/data-explorer/data-explorer-action"; import { dialogActions } from 'store/dialog/dialog-actions'; import { Participant } from 'views-components/sharing-dialog/participant-select'; @@ -25,12 +25,6 @@ export const CREATE_GROUP_FORM = "createGroupForm"; export const CREATE_GROUP_NAME_FIELD_NAME = 'name'; export const CREATE_GROUP_USERS_FIELD_NAME = 'users'; -// Rename group dialog -export const RENAME_GROUP_DIALOG = "renameGroupDialog"; -export const RENAME_GROUP_FORM = "renameGroupForm"; -export const RENAME_GROUP_UUID_FIELD_NAME = 'uuid'; -export const RENAME_GROUP_NAME_FIELD_NAME = 'name'; - export const GROUP_ATTRIBUTES_DIALOG = 'groupAttributesDialog'; export const GROUP_REMOVE_DIALOG = 'groupRemoveDialog'; @@ -72,33 +66,6 @@ export const openRemoveGroupDialog = (uuid: string) => })); }; -export interface RenameGroupFormData { - [RENAME_GROUP_UUID_FIELD_NAME]: string; - [RENAME_GROUP_NAME_FIELD_NAME]: string; -} - -export const openRenameGroupDialog = (uuid: string) => - (dispatch: Dispatch, getState: () => RootState) => { - const group = getResource(uuid)(getState().resources); - - if (group) { - const formData: RenameGroupFormData = {[RENAME_GROUP_UUID_FIELD_NAME]: group.uuid, [RENAME_GROUP_NAME_FIELD_NAME]: group.name}; - console.log("Initialize form: ", formData); - dispatch(reset(RENAME_GROUP_FORM)); - dispatch(initialize(RENAME_GROUP_FORM, formData)); - dispatch(dialogActions.OPEN_DIALOG({ id: RENAME_GROUP_DIALOG, data: group })); - } - }; - - -export const renameGroup = (data: RenameGroupFormData) => - async (dispatch: Dispatch, getState: () => RootState, { groupsService }: ServiceRepository) => { - console.log("RenameGroupFormData", data); - await groupsService.update(data[RENAME_GROUP_UUID_FIELD_NAME], { name: data[RENAME_GROUP_NAME_FIELD_NAME] }); - dispatch(dialogActions.CLOSE_DIALOG({ id: RENAME_GROUP_DIALOG })); - dispatch(snackbarActions.OPEN_SNACKBAR({ message: 'Renamed.', hideDuration: 2000, kind: SnackbarKind.SUCCESS })); - }; - export interface CreateGroupFormData { [CREATE_GROUP_NAME_FIELD_NAME]: string; [CREATE_GROUP_USERS_FIELD_NAME]?: Participant[]; diff --git a/src/views-components/context-menu/action-sets/group-action-set.ts b/src/views-components/context-menu/action-sets/group-action-set.ts index 3fbec27e..f2c9b92f 100644 --- a/src/views-components/context-menu/action-sets/group-action-set.ts +++ b/src/views-components/context-menu/action-sets/group-action-set.ts @@ -5,13 +5,14 @@ import { ContextMenuActionSet } from "views-components/context-menu/context-menu-action-set"; import { RenameIcon, AdvancedIcon, RemoveIcon, AttributesIcon } from "components/icon/icon"; import { openAdvancedTabDialog } from "store/advanced-tab/advanced-tab"; -import { openRenameGroupDialog, openGroupAttributes, openRemoveGroupDialog } from "store/groups-panel/groups-panel-actions"; +import { openGroupAttributes, openRemoveGroupDialog } from "store/groups-panel/groups-panel-actions"; +import { openProjectUpdateDialog } from "store/projects/project-update-actions"; export const groupActionSet: ContextMenuActionSet = [[{ name: "Rename", icon: RenameIcon, - execute: (dispatch, { uuid }) => { - dispatch(openRenameGroupDialog(uuid)); + execute: (dispatch, resource) => { + dispatch(openProjectUpdateDialog(resource)); } }, { name: "Attributes", diff --git a/src/views-components/dialog-forms/rename-group-dialog.tsx b/src/views-components/dialog-forms/rename-group-dialog.tsx deleted file mode 100644 index 72f09d78..00000000 --- a/src/views-components/dialog-forms/rename-group-dialog.tsx +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (C) The Arvados Authors. All rights reserved. -// -// SPDX-License-Identifier: AGPL-3.0 - -import React from 'react'; -import { compose, Dispatch } from 'redux'; -import { reduxForm, InjectedFormProps, Field } from 'redux-form'; -import { withDialog, WithDialogProps } from 'store/dialog/with-dialog'; -import { FormDialog } from 'components/form-dialog/form-dialog'; -import { DialogContentText } from '@material-ui/core'; -import { TextField } from 'components/text-field/text-field'; -import { GroupResource } from 'models/group'; -import { RENAME_GROUP_DIALOG, RENAME_GROUP_NAME_FIELD_NAME, RenameGroupFormData, renameGroup } from 'store/groups-panel/groups-panel-actions'; -// import { WarningCollection } from 'components/warning-collection/warning-collection'; -import { RENAME_FILE_VALIDATION } from 'validators/validators'; - -export const RenameGroupDialog = compose( - withDialog(RENAME_GROUP_DIALOG), - reduxForm({ - form: RENAME_GROUP_DIALOG, - // touchOnChange: true, - onSubmit: (data: RenameGroupFormData, dispatch: Dispatch) => { - console.log(data); - // dispatch(renameGroup(data)); - } - }) -)((props: RenameGroupDialogProps) => - ); - -interface RenameGroupDataProps { - data: GroupResource; -} - -type RenameGroupDialogProps = RenameGroupDataProps & WithDialogProps<{}> & InjectedFormProps; - -const RenameGroupFormFields = (props: RenameGroupDialogProps) => { - // console.log(props); - return <> - - {`Please enter a new name for ${props.data.name}`} - - - {/* */} - ; -} diff --git a/src/views/groups-panel/groups-panel.tsx b/src/views/groups-panel/groups-panel.tsx index d99b98ff..a9f59f68 100644 --- a/src/views/groups-panel/groups-panel.tsx +++ b/src/views/groups-panel/groups-panel.tsx @@ -21,7 +21,6 @@ import { RootState } from 'store/store'; import { openContextMenu } from 'store/context-menu/context-menu-actions'; import { ResourceKind } from 'models/resource'; import { LinkClass, LinkResource } from 'models/link'; -import { navigateToGroupDetails } from 'store/navigation/navigation-action'; export enum GroupsPanelColumnNames { GROUP = "Name", diff --git a/src/views/workbench/workbench.tsx b/src/views/workbench/workbench.tsx index 8b687632..50194f9e 100644 --- a/src/views/workbench/workbench.tsx +++ b/src/views/workbench/workbench.tsx @@ -90,7 +90,6 @@ import { RemoveGroupMemberDialog } from 'views-components/groups-dialog/member-r import { GroupMemberAttributesDialog } from 'views-components/groups-dialog/member-attributes-dialog'; import { AddGroupMembersDialog } from 'views-components/dialog-forms/add-group-member-dialog'; import { EditPermissionLevelDialog } from 'views-components/dialog-forms/edit-permission-level-dialog'; -import { RenameGroupDialog } from 'views-components/dialog-forms/rename-group-dialog'; import { PartialCopyToCollectionDialog } from 'views-components/dialog-forms/partial-copy-to-collection-dialog'; import { PublicFavoritePanel } from 'views/public-favorites-panel/public-favorites-panel'; import { LinkAccountPanel } from 'views/link-account-panel/link-account-panel'; @@ -215,7 +214,6 @@ export const WorkbenchPanel = - -- 2.30.2