From aee3ffd016dc8ab69aa740c934ec0517d4e2fabd Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Fri, 25 Jun 2021 13:03:31 +0300 Subject: [PATCH] refactor(plugin-authentication): CB-1053 cleanup userPassword dialog --- .../ChangeUserPasswordDialog.tsx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/webapp/packages/plugin-authentication/src/UserMenu/ChangeUserPasswordDialog/ChangeUserPasswordDialog.tsx b/webapp/packages/plugin-authentication/src/UserMenu/ChangeUserPasswordDialog/ChangeUserPasswordDialog.tsx index 687fc590a1..0a67f499f3 100644 --- a/webapp/packages/plugin-authentication/src/UserMenu/ChangeUserPasswordDialog/ChangeUserPasswordDialog.tsx +++ b/webapp/packages/plugin-authentication/src/UserMenu/ChangeUserPasswordDialog/ChangeUserPasswordDialog.tsx @@ -12,13 +12,12 @@ import { useState, useCallback, useEffect } from 'react'; import styled, { css } from 'reshadow'; import { UsersResource } from '@cloudbeaver/core-authentication'; -import { BASE_CONTAINERS_STYLES, Container, ErrorMessage, Group, InputFieldNew, SubmittingForm, useFocus } from '@cloudbeaver/core-blocks'; +import { BASE_CONTAINERS_STYLES, Container, ErrorMessage, Group, InputFieldNew, SubmittingForm, useErrorDetails, useFocus } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; -import { CommonDialogService, CommonDialogWrapper, DialogComponent, DialogComponentProps } from '@cloudbeaver/core-dialogs'; +import { CommonDialogWrapper, DialogComponent, DialogComponentProps } from '@cloudbeaver/core-dialogs'; import { NotificationService } from '@cloudbeaver/core-events'; import { useTranslate } from '@cloudbeaver/core-localization'; -import { ErrorDetailsDialog } from '@cloudbeaver/core-notifications'; -import { GQLError, GQLErrorCatcher } from '@cloudbeaver/core-sdk'; +import { GQLErrorCatcher } from '@cloudbeaver/core-sdk'; import { composes, useStyles } from '@cloudbeaver/core-theming'; import { ChangeUserPasswordDialogFooter } from './ChangeUserPasswordDialogFooter'; @@ -55,21 +54,17 @@ export const ChangeUserPasswordDialog: DialogComponent = observer( }: DialogComponentProps) { const [focusedRef] = useFocus({}); const usersResource = useService(UsersResource); - const commonDialogService = useService(CommonDialogService); const notificationService = useService(NotificationService); const style = useStyles(styles, BASE_CONTAINERS_STYLES); const translate = useTranslate(); const [state] = useState(() => observable({ oldPassword: '', newPassword: '', repeatedPassword: '', error: new GQLErrorCatcher(), customError: '', submitting: false, })); + const { details: errorDetails, open: openErrorDetails } = useErrorDetails(state.error.exception); const formFilled = state.newPassword.length > 0 && state.repeatedPassword.length > 0 && state.oldPassword.length > 0; const disabled = state.submitting; - const onShowDetails = useCallback(() => { - commonDialogService.open(ErrorDetailsDialog, (state.error.exception as GQLError)); - }, [commonDialogService, state.error]); - const change = useCallback(async () => { state.error.clear(); @@ -106,11 +101,11 @@ export const ChangeUserPasswordDialog: DialogComponent = observer( onCancel={rejectDialog} onChange={change} > - {(state.error.responseMessage || state.customError) && ( + {(errorDetails?.message || state.customError) && ( )}