No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 

87 líneas
2.7 KiB

  1. // material-ui
  2. // import {
  3. // GridActionsCellItem,
  4. // } from "@mui/x-data-grid";
  5. import {FiDataGrid} from "components/FiDataGrid";
  6. //import EditIcon from '@mui/icons-material/Edit';
  7. import {useState, useEffect} from "react";
  8. import {useNavigate} from "react-router-dom";
  9. import { GET_GROUP_LIST_PATH } from "utils/ApiPathConst";
  10. import { clickableLink} from 'utils/CommonFunction';
  11. import * as React from 'react';
  12. // ==============================|| EVENT TABLE ||============================== //
  13. export default function UserGroupTable({searchCriteria, applyGridOnReady,applySearch}) {
  14. const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);
  15. const navigate = useNavigate()
  16. useEffect(() => {
  17. set_searchCriteria(searchCriteria);
  18. }, [searchCriteria]);
  19. // const handleEditClick = (id) => () => {
  20. // navigate('/userGroup/'+ id);
  21. // };
  22. const columns = [
  23. // {
  24. // field: 'actions',
  25. // type: 'actions',
  26. // headerName: 'Actions',
  27. // width: 100,
  28. // cellClassName: 'actions',
  29. // getActions: ({id}) => {
  30. // return [
  31. // <GridActionsCellItem
  32. // key="OutSave"
  33. // icon={<EditIcon/>}
  34. // label="Edit"
  35. // className="textPrimary"
  36. // onClick={handleEditClick(id)}
  37. // color="primary"
  38. // />]
  39. // },
  40. // },
  41. {
  42. id: 'groupName',
  43. field: 'name',
  44. headerName: 'User Group Name',
  45. flex: 1,
  46. renderCell: (params) => {
  47. return clickableLink('/userGroup/'+ params.row.id, params.row.name);
  48. },
  49. },
  50. {
  51. id: 'description',
  52. field: 'description',
  53. headerName: 'User Group Description',
  54. flex: 1,
  55. },
  56. ];
  57. function handleRowDoubleClick(params) {
  58. navigate('/userGroup/'+ params.id);
  59. }
  60. return (
  61. <div style={{height: "fit-content", width: '100%'}}>
  62. <FiDataGrid
  63. columns={columns}
  64. customPageSize={10}
  65. hideRowsPerPage
  66. onRowDoubleClick={handleRowDoubleClick}
  67. applyGridOnReady={applyGridOnReady}
  68. applySearch={applySearch}
  69. // doLoad={{
  70. // url: GET_GROUP_LIST_PATH,
  71. // params: _searchCriteria,
  72. // }}
  73. doLoad={React.useMemo(() => ({
  74. url: GET_GROUP_LIST_PATH,
  75. params: _searchCriteria,
  76. }), [_searchCriteria])}
  77. />
  78. </div>
  79. );
  80. }