diff --git a/ui/src/components/Modals/AddUserModal/AddUserModal.sass b/ui/src/components/Modals/AddUserModal/AddUserModal.sass index 3b9722f2c..4aa9d0dd4 100644 --- a/ui/src/components/Modals/AddUserModal/AddUserModal.sass +++ b/ui/src/components/Modals/AddUserModal/AddUserModal.sass @@ -45,11 +45,14 @@ & .user__email - width : 40% + width : 300px height: 30px; box-sizing: border-box; & .user__role - width : 40% + width : 186px + +.search-workspace + width: 186px diff --git a/ui/src/components/Modals/AddUserModal/AddUserModal.tsx b/ui/src/components/Modals/AddUserModal/AddUserModal.tsx index 4945541b7..c7793bc0a 100644 --- a/ui/src/components/Modals/AddUserModal/AddUserModal.tsx +++ b/ui/src/components/Modals/AddUserModal/AddUserModal.tsx @@ -1,4 +1,5 @@ import { Button, FormControl, IconButton, InputAdornment, InputLabel, MenuItem, OutlinedInput, Select } from '@material-ui/core'; + import { FC, useEffect, useState } from 'react'; import Api from '../../../helpers/api'; import { useCommonStyles } from '../../../helpers/commonStyle'; @@ -18,21 +19,23 @@ export type UserData = { interface AddUserModalProps { isOpen : boolean, - onCloseModal : () => void - userData : UserData; - setShowAlert : ({open:boolean,sevirity: Color}) => void; + onCloseModal : () => void, + userData : UserData, + isEditMode : boolean, + onUserChange: (UserData) => void, } const api = Api.getInstance(); -export const AddUserModal: FC = ({isOpen, onCloseModal, userData = {}, setShowAlert}) => { +export const AddUserModal: FC = ({isOpen, onCloseModal, userData, isEditMode,onUserChange}) => { + //const [editUserData, setEditUserData] = useState(userData) const [searchValue, setSearchValue] = useState(""); const [workspaces, setWorkspaces] = useState([]) //const { control, handleSubmit,register } = useForm(); const [disable, setDisable] = useState(true); - + const [editMode, setEditMode] = useState(isEditMode); const [invite, setInvite] = useState({sent:false,isSuceeded:false,link : null}); const roles = [{key:"1",value:"Admin"},{key:"2",value:"User"}] const classes = useCommonStyles() @@ -69,15 +72,22 @@ export const AddUserModal: FC = ({isOpen, onCloseModal, userD useEffect(()=> { (async () => { try { - //if edit - // const userDetails = await api.getUserDetails(userData) - // setUserData(userDetails) - setUserData(userData as UserData) + setEditMode(isEditMode) + if (isEditMode) { + + //const userDetails = await api.getUserDetails(userData) + //const data = {...userData,...userDetails} + + } + else{ + + } + setUserData(userData as UserData) } catch (e) { toast.error("Error getting user details") } })(); - },[userData]) + },[isEditMode, userData]) // const onClose = () => { // setIsOpen(false) @@ -86,12 +96,13 @@ export const AddUserModal: FC = ({isOpen, onCloseModal, userD const onClose = () => { onCloseModal() setUserData({} as UserData) - + setInvite({sent:false,isSuceeded:false,link:""}) } - const workspaceChange = (newVal) => { + const workspaceChange = (workspaces) => { //setWorkspaces(newVal); - const data = {...userDataModel, workspace : newVal} + const selectedWorksapce = workspaces.find(x=> x.isChecked) + const data = {...userDataModel, workspace : selectedWorksapce.key} setUserData(data) setGenarateDisabledState() } @@ -113,7 +124,8 @@ export const AddUserModal: FC = ({isOpen, onCloseModal, userD }; const isFormValid = () : boolean => { - return (Object.values(userDataModel).length === 3) && Object.values(userDataModel).every(val => val !== null) + return true; + //return (Object.values(userDataModel).length === 3) && Object.values(userDataModel).every(val => val !== null) } const setGenarateDisabledState = () => { @@ -123,14 +135,19 @@ export const AddUserModal: FC = ({isOpen, onCloseModal, userD const generateLink = () => { try { - //const res = await api.genareteInviteLink(userDataModel) - //setInvite({...invite,isSuceeded:true,sent:true,link:res}) - //toast.success("User has been added") + if (editMode) { + //await api.updateUser(userDataModel) + setInvite({...invite,isSuceeded:true,sent:true,link:"asdasdasdasdasdasdasdasdads"}) + toast.success("User has been modified") + } + else{ + //const res = await api.genareteInviteLink(userDataModel) + setInvite({...invite,isSuceeded:true,sent:true, link:"asdasdasdasdasdasdasdasdads"}) + toast.success("User has been added") + } - //if edit - api.updateUser(userDataModel) - setInvite({...invite,isSuceeded:true,sent:true,link:"asdasdasdasdasdasdasdasdads"}) - toast.success("User has been modified") + onUserChange(userDataModel) + } catch (e) { toast.error("Error accrued generating link") } @@ -172,13 +189,14 @@ export const AddUserModal: FC = ({isOpen, onCloseModal, userD return (<> - +

DETAILS

+ placeholder={"User Email"} onChange={userNameChange} disabled={editMode}> {/* = ({isOpen, onCloseModal, userD User Role - None @@ -203,7 +221,7 @@ export const AddUserModal: FC = ({isOpen, onCloseModal, userD

WORKSPACE ACCESS

- setSearchValue(event.target.value)}/>
= ({color}) => { var TABS = [ @@ -10,9 +11,14 @@ const AdminSettings: React.FC = ({color}) => { ]; const [currentTab, setCurrentTab] = useState(TABS[0].tab); - return ( -
- + return (<> +
+
+
Settings
+ +
+
+ {currentTab === TABS[0].tab && } @@ -20,6 +26,8 @@ const AdminSettings: React.FC = ({color}) => { }
+
+ ) } diff --git a/ui/src/components/UI/Modals/ConfirmationModal.tsx b/ui/src/components/UI/Modals/ConfirmationModal.tsx index 8ef755223..a6743ab35 100644 --- a/ui/src/components/UI/Modals/ConfirmationModal.tsx +++ b/ui/src/components/UI/Modals/ConfirmationModal.tsx @@ -30,7 +30,7 @@ const ConfirmationModal: React.FC = observer(({title, is confirmButtonColor, titleColor, img, isLoading,children, className, customActions}) => { const classes = useCommonStyles(); - const confirmStyle = {width: 100, marginLeft: 20} + const confirmStyle = {minWidth: 100, marginLeft: 20} const defualtActions = <>