import React, { useEffect, useState } from "react"; import Layout from "../Partials/Layout"; import GroupList from "./GroupList"; import MemberList from "./MemberList"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import usersService from "../../services/UsersService"; export default function JobGroups() { const userApi = new usersService(); const [updateList, setUpdateList] = useState(false); const [groupList, setGroupList] = useState({ loading: true, groups: [], members: [], }); const [selectedGroup, setSelectedGroup] = useState({ id: "", name: "", data: [], }); const changeSelectedGroup = (e) => { let groupID = e.target.value; const activeMembers = groupList?.members?.filter( (item) => item.group_id == groupID ); const activeGroup = groupList?.groups?.filter( (item) => item.group_id == groupID ); setSelectedGroup({ id: groupID, name: activeGroup[0]?.group_name, data: activeMembers, }); }; useEffect(() => { setGroupList({ loading: true, groups: [], members: [] }); userApi .jobGroupList({}) .then((res) => { const { status, data } = res; if (status != 200 || data?.internal_return < 0) { setGroupList({ loading: false, groups: [], members: [] }); return; } if (data.result_list.length < 0) { setGroupList({ loading: false, groups: [], members: [] }); return; } setGroupList({ loading: false, groups: data.result_list, members: data.result_list_member, }); if (selectedGroup.id == "") { let activeGroupId = data.result_list[0].group_id; let activeGroup = data.result_list[0].group_name; let activeMembers = data.result_list_member?.filter( (item) => item.group_id == activeGroupId ); setSelectedGroup({ id: activeGroupId, name: activeGroup, data: activeMembers, }); } else { let activeMembers = data.result_list_member?.filter( (item) => item.group_id == selectedGroup?.id ); setSelectedGroup({ id: selectedGroup?.id, name: selectedGroup?.name, data: activeMembers, }); } }) .catch((error) => { setGroupList({ loading: false, groups: [], members: [] }); console.log(error); }); }, [updateList]); return (

Job Groups

{groupList.loading ? (
) : ( <> )}
); }