Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

65 rindas
2.0 KiB

  1. // material-ui
  2. import {
  3. Typography
  4. } from '@mui/material';
  5. import MainCard from "../../../components/MainCard";
  6. import * as React from "react";
  7. import {useEffect, useState} from "react";
  8. //import LoadingComponent from "../extra-pages/LoadingComponent";
  9. import UserGroupTable from "./UserGroupTable";
  10. import Loadable from 'components/Loadable';
  11. import { lazy } from 'react';
  12. const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
  13. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  14. const UserGroupCard = ({isCollectData, updateUserGroupList,userData,isNewRecord}) => {
  15. const [currentUserData, setCurrentUserData] = React.useState({});
  16. const [onReady, setOnReady] = useState(false);
  17. const [selectedRow, setSelectedRow] = useState([]);
  18. useEffect(() => {
  19. //if user data from parent are not null
  20. if (Object.keys(userData).length > 0 && userData !== undefined) {
  21. setCurrentUserData(userData.data);
  22. setSelectedRow(userData.groupIds);
  23. }
  24. }, [userData]);
  25. useEffect(() => {
  26. //if state data are ready and assign to different field
  27. if (Object.keys(userData).length > 0 || currentUserData !== undefined) {
  28. setOnReady(true);
  29. }
  30. }, [currentUserData]);
  31. useEffect(() => {
  32. //upload latest data to parent
  33. updateUserGroupList(selectedRow);
  34. }, [isCollectData]);
  35. return (
  36. !onReady ?
  37. <LoadingComponent/>
  38. :
  39. <MainCard elevation={0}
  40. border={false}
  41. content={false}
  42. >
  43. <Typography variant="h5" sx={{mt: 3, ml: 3}}>
  44. Group(s)
  45. </Typography>
  46. <UserGroupTable
  47. userGroup={userData.groupIds}
  48. setSelectedRow={setSelectedRow}
  49. isNewRecord={isNewRecord}
  50. />
  51. </MainCard>
  52. );
  53. };
  54. export default UserGroupCard;