rap-react
Version:
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
58 lines (52 loc) • 2.19 kB
JavaScript
import React, { useContext, useEffect, useState } from "react";
import NoAccess from "../noAccess";
import { getEntityDescription } from "../../../services/entityService";
import { accessTypes, entityNames } from "../../../constants/enums";
import { hasAccess } from "../../../services/permissionService";
import { UserContext } from "../../../context/user/userContext";
import { SubHeader } from "../subHeader";
export const Management = ({brandCode, selectedModuleName,selectedEntityName, children}) => {
// const { waiting, setWaiting } = useState(true);
const { state } = useContext(UserContext);
// const { isValid, setIsValid } = useState(false);
// debugger;
// const privilegesInfo = state?.user?.privileges;
// useEffect(() => {
// const privileges = state?.user?.privileges;
// const result = hasAccess(privileges, selectedModuleName, accessTypes.READ);
// setIsValid(result);
// setWaiting(false);
// }, [waiting, selectedModuleName]);
// const renderModule = () => {
// debugger;
// if (isValid === true) {
// return children;
// } else {
// const entityDisplayName = getEntityDescription(
// privileges,
// selectedModuleName
// );
// return <NoAccess title={entityDisplayName}></NoAccess>;
// }
// };
// if (waiting) return <React.Fragment></React.Fragment>;
// return <React.Fragment>{renderModule()}</React.Fragment>;
const renderModule = () => {
// debugger;
const privileges = state?.user?.privileges;
const result = hasAccess(privileges, selectedEntityName, accessTypes.READ);
const entityDisplayName = getEntityDescription(privileges, selectedEntityName);
if (result === true) {
return children;
} else {
return <NoAccess title={entityDisplayName}></NoAccess>;
}
};
return <React.Fragment>{renderModule()}</React.Fragment>;
// return (
// <React.Fragment>
// <SubHeader brandCode={brandCode} selectedModuleName={selectedModuleName} selectedEntityName={selectedEntityName} />
// {renderModule()}
// </React.Fragment>)
};
export default Management;