import React, { useState } from 'react' import ModalCom from '../Helpers/ModalCom' import LoadingSpinner from '../Spinners/LoadingSpinner' import InputCom from '../Helpers/Inputs/InputCom/index' import usersService from '../../services/UsersService' export default function AddGroup({action, situation , setUpdateList}) { const api = new usersService() const [name, setName] = useState('') const handleChange = ({target:{name, value}}) =>{ setName(value) } let [requestStatus, setRequestStatus] = useState({ loading: false, status: false, message: "", }); // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER const addGroup = () => { setRequestStatus({loading:true, status:false, message:''}) if(name == ''){ setRequestStatus({loading:false, status:false, message:'Please enter a group name'}) return setTimeout(()=>{ setRequestStatus({loading:false, status:false, message:''}) },3000) } if(name.length < 6){ setRequestStatus({loading:false, status:false, message:'Group name must be up to six characters'}) return setTimeout(()=>{ setRequestStatus({loading:false, status:false, message:''}) },3000) } api.jobGroupAdd({group_name:name, action:13025}).then(response => { let {status, data} = response if(status != 200 || data.internal_return < 0){ setRequestStatus({loading:false, status:false, message:'Unable to add Group'}) return } setRequestStatus({loading:false, status:true, message:'Group Added'}) setTimeout(()=>{ setRequestStatus({loading:false, status:false, message:''}) // close modal action() // reload group page setUpdateList(prev => !prev) },3000) }).catch(error => { setRequestStatus({loading:false, status:false, message:'Unable to add Group, try again later'}) }).finally(()=>{ setTimeout(()=>{ setRequestStatus({loading:false, status:false, message:''}) },3000) }) } return (

Add Group

{requestStatus.loading ? ( ) : ( )}
{/* ERROR DISPLAY AND SUBMIT BUTTON */} {requestStatus.message != "" && (!requestStatus.status ? (
{requestStatus.message}
) : ( requestStatus.status && (
{requestStatus.message}
) ))} {/* End of error or success display */}
) }