From 1dff6be5e44b87c1d2f9a81bcdfcd4f8f40cdc16 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Thu, 16 Dec 2021 00:01:04 +0300 Subject: [PATCH] feat: editing students from table --- src/components/Modal/BaseModal.tsx | 19 +- .../Modals/EditUserModal/EditUserModal.tsx | 152 ++++++++++++++ .../EditUserModal/EditUserModal.validator.ts} | 0 src/components/Modals/EditUserModal/index.ts | 3 + src/interfaces/index.ts | 2 +- .../StudentTableList/StudentTableList.tsx | 29 ++- .../StudentTableList/StudentTableRow.tsx | 4 +- .../components/EditUserForm/EditUserForm.tsx | 187 ------------------ .../users/components/EditUserForm/index.ts | 3 - .../users/components/UserList/UserList.tsx | 4 +- 10 files changed, 202 insertions(+), 201 deletions(-) create mode 100644 src/components/Modals/EditUserModal/EditUserModal.tsx rename src/{pages/users/components/EditUserForm/EditUserForm.validator.ts => components/Modals/EditUserModal/EditUserModal.validator.ts} (100%) create mode 100644 src/components/Modals/EditUserModal/index.ts delete mode 100644 src/pages/users/components/EditUserForm/EditUserForm.tsx delete mode 100644 src/pages/users/components/EditUserForm/index.ts diff --git a/src/components/Modal/BaseModal.tsx b/src/components/Modal/BaseModal.tsx index e56764b..f9f1eb1 100644 --- a/src/components/Modal/BaseModal.tsx +++ b/src/components/Modal/BaseModal.tsx @@ -16,8 +16,9 @@ import { IconType } from 'react-icons'; export interface IBaseModalProps extends ModalProps { isOpen: boolean; + isDisabled: boolean; onClose: () => void; - onProceed: (e: React.MouseEvent) => void; + onProceed?: (e: React.MouseEvent) => void; heading: string; icon?: IconType; description?: string; @@ -27,8 +28,19 @@ export interface IBaseModalProps extends ModalProps { } const BaseModal: React.FC = props => { - const { heading, description, isOpen, onClose, onProceed, confirmText, icon, isLoading, loadingText, ...modalProps } = - props; + const { + heading, + description, + isOpen, + onClose, + onProceed, + confirmText, + icon, + isLoading, + isDisabled, + loadingText, + ...modalProps + } = props; return ( @@ -61,6 +73,7 @@ const BaseModal: React.FC = props => { - - - - - - ); -}; - -export default UpdateUserForm; diff --git a/src/pages/users/components/EditUserForm/index.ts b/src/pages/users/components/EditUserForm/index.ts deleted file mode 100644 index 4b02fdc..0000000 --- a/src/pages/users/components/EditUserForm/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import EditUserForm from './EditUserForm'; - -export default EditUserForm; diff --git a/src/pages/users/components/UserList/UserList.tsx b/src/pages/users/components/UserList/UserList.tsx index 6039f34..d525133 100644 --- a/src/pages/users/components/UserList/UserList.tsx +++ b/src/pages/users/components/UserList/UserList.tsx @@ -8,7 +8,7 @@ import { Button } from '@chakra-ui/button'; * Components */ import LoadingList from '@educt/components/LoadingList'; -import EditUserForm from '../EditUserForm'; +import EditUserModal from '@educt/components/Modals/EditUserModal'; import DeleteUserDialog from '@educt/components/Dialogs/DeleteUserDialog'; /** @@ -74,7 +74,7 @@ const UserList: React.FC = ({ render: Item, limit }) => { return ( - {editing && } + {editing && } {deleting && }