import { useState } from 'react'; import { useHistory } from 'react-router-dom'; import useForm from '../../../hooks/useForm'; import { EmployeeEditWrapper, Title, RowWrapper, LabelAndInputWrapper, Label, StandardInputField, Dropdown, DropdownOption, SwitchRowWrapper, SwitchTitle, SwitchLabelAndInputWrapper, AccountSwitch, BackButton, SaveChangesButton, VisibilityIcon, VisibilityOffIcon, } from './styles'; import IconButton from '@mui/material/IconButton'; import Checkbox from '@mui/material/Checkbox'; import ListItemText from '@mui/material/ListItemText'; import AbsoluteLoader from '../../Loaders/AbsoluteLoader'; import { employeeStatus } from '../../../config/enums'; import useGetData from '../../../hooks/useGetData'; import useCreateEmployee from '../../../hooks/useCreateEmployee'; import { defaultUser } from '../../../config/defaultUser'; const MenuProps = { PaperProps: { style: { maxHeight: 220, }, }, }; const EmployeeCreate = () => { const [isPasswordVisible, setIsPasswordVisible] = useState(false); let history = useHistory(); const { data: zoneOptions, isLoading: isLoadingZonesData } = useGetData({ url: `/parkingZone/parkingZoneNames`, }); const { createEmployee } = useCreateEmployee(); const { data: employeeEditableData, onFormChange: setEmployeeEditableData, } = useForm({ ...defaultUser }); const [accStatus, setAccStatus] = useState(defaultUser.locked); const { data: { confirmPassword }, onFormChange: setConfirmPassword, } = useForm({ confirmPassword: defaultUser.password, }); const [zones, setZones] = useState(defaultUser.parkingZones); // TODO RENAME ZONE TO ZONES console.log(zones); const statusOptions = Object.keys(employeeStatus).map((key) => { return { text: employeeStatus[key], value: key, }; }); const onCreateEmployee = () => { if (zones.length === 1 && zones[0] === 'NONE') { zones.shift(); } console.log(`Confirm password: ${confirmPassword}`); const changedEmployee = { ...employeeEditableData, locked: accStatus, parkingZones: zones, confirmPass: confirmPassword, }; createEmployee({ employee: changedEmployee }); }; const handleZonesChange = (event) => { const { target: { value }, } = event; if (value.length > 1 && value[0] === 'NONE') { value.shift(); } setZones( typeof value === 'string' ? value.split(', ') : value.length === 0 ? ['NONE'] : value ); }; return ( Создади вработен setIsPasswordVisible(!isPasswordVisible)} > {isPasswordVisible ? ( ) : ( )} {isLoadingZonesData ? ( ) : null} { return selected.join(', '); }} MenuProps={MenuProps} > {!isLoadingZonesData && zoneOptions.map((zone) => ( -1} /> ))} {statusOptions.map((option) => ( {option.text} ))} Акаунт setAccStatus(!accStatus)} /> history.push('/employees')}> Врати се назад Создади вработен ); }; export default EmployeeCreate;