@acuteinfo/common-screens 1.0.25 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +667 -12
- package/dist/index.js.map +1 -1
- package/dist/pages/sidebar/drawer.d.ts +13 -0
- package/dist/pages/sidebar/icons.d.ts +1 -0
- package/dist/pages/sidebar/index.d.ts +1 -0
- package/dist/pages/sidebar/navigation/filterMetaData.d.ts +2 -0
- package/dist/pages/sidebar/navigation/index.d.ts +3 -0
- package/dist/pages/sidebar/navigation/searchViewNavigation.d.ts +11 -0
- package/dist/pages/sidebar/navigation/sideBarNavigation.d.ts +8 -0
- package/dist/pages/sidebar/navigation/style.d.ts +2 -0
- package/dist/pages/sidebar/navigation/types.d.ts +50 -0
- package/dist/pages/sidebar/reportMetaData.d.ts +2 -0
- package/dist/pages/sidebar/sideBar.d.ts +8 -0
- package/dist/pages/sidebar/style.d.ts +1 -0
- package/dist/pages/sidebar/transformer.d.ts +31 -0
- package/package.json +6 -1
- package/rollup.config.mjs +3 -0
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import 'regenerator-runtime/runtime';
|
|
2
2
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
3
|
-
import { TextField, GradientButton, utilFunction, ClearCacheProvider, queryClient, Alert, GridWrapper } from '@acuteinfo/common-base';
|
|
3
|
+
import { TextField, GradientButton, utilFunction, ClearCacheProvider, queryClient, Alert, GridWrapper, SearchBar } from '@acuteinfo/common-base';
|
|
4
4
|
import { useState, useRef, useEffect, Fragment, useMemo, useReducer, useCallback } from 'react';
|
|
5
5
|
import { makeStyles } from '@mui/styles';
|
|
6
6
|
import Visibility from '@mui/icons-material/Visibility';
|
|
7
7
|
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
|
8
|
-
import { Container, Grid, InputAdornment, IconButton, CircularProgress, FormHelperText, Typography, Tooltip, tooltipClasses, Stack, Box, Avatar, Button, alpha, AppBar, Toolbar } from '@mui/material';
|
|
8
|
+
import { Container, Grid, InputAdornment, IconButton, CircularProgress, FormHelperText, Typography, Tooltip, tooltipClasses, Stack, Box, Avatar, Button, alpha, AppBar, Toolbar, List, ListItemIcon, ListItem, ListItemText, Collapse, Drawer } from '@mui/material';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import OTPInput, { ResendOTP } from 'otp-input-react';
|
|
11
11
|
import IconButton$1 from '@mui/material/IconButton';
|
|
@@ -21,8 +21,16 @@ import Waving_hand$1 from 'assets/images/Waving_Hand_header.png';
|
|
|
21
21
|
import LogoutIcon from '@mui/icons-material/Logout';
|
|
22
22
|
import MenuOutlinedIcon from '@mui/icons-material/MenuOutlined';
|
|
23
23
|
import { format } from 'date-fns';
|
|
24
|
+
import { useNavigate } from 'react-router-dom';
|
|
25
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
26
|
+
import ScrollBar from 'react-perfect-scrollbar';
|
|
27
|
+
import { ExpandLess, ExpandMore } from '@mui/icons-material';
|
|
28
|
+
import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';
|
|
29
|
+
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
30
|
+
import { faHandsHelping, faUsers, faBars, faBalanceScale, faHandHoldingHeart, faTasks, faCog, faHome, faTh, faUsersCog, faCircle, faUserCircle, faHashtag, faThumbtack, faSquare, faLink, faQuestion, faPlus, faTable, faLocationArrow, faHeadset, faGears, faArrowDown, faArrowUp, faSpinner, faCircleExclamation, faRotateRight, faUserLock, faUserClock, faGripHorizontal, faFileLines, faGear, faHeadphones, faUsersGear, faMessage, faUnlock, faUserPlus, faUserCheck, faKey, faIdCard, faIdBadge, faCheck, faCheckDouble, faCircleCheck, faCircleXmark, faUserTag, faAddressCard, faChartColumn, faUserPen, faHandHolding, faHandHoldingMedical, faObjectGroup, faTowerCell, faTowerObservation, faBuilding, faMailBulk, faLandmarkFlag, faCreditCard, faHospitalSymbol, faPlugCircleBolt, faCodeBranch, faPersonCircleCheck, faBank, faServer, faNotesMedical, faA, faB, faC, faD, faE, faF, faG, faH, faI, faJ, faK, faL, faM, faN, faO, faP, faQ, faR, faS, faT, faU, faV, faW, faX, faY, faZ } from '@fortawesome/free-solid-svg-icons';
|
|
31
|
+
import 'lodash';
|
|
24
32
|
|
|
25
|
-
const useStyles$
|
|
33
|
+
const useStyles$3 = makeStyles((theme) => ({
|
|
26
34
|
wrapper: {
|
|
27
35
|
minHeight: "100vh",
|
|
28
36
|
boxShadow: "0 3px 6px rgba(0,0,0,0.03)",
|
|
@@ -820,7 +828,7 @@ const isBase64 = (str = "") => {
|
|
|
820
828
|
const BankDetails = ({ bannerDetails }) => {
|
|
821
829
|
const [loginImageURL, setLoginImageURL] = useState(null);
|
|
822
830
|
const urlObj = useRef(null);
|
|
823
|
-
const classes = useStyles$
|
|
831
|
+
const classes = useStyles$3();
|
|
824
832
|
const banner = useMemo(() => bannerDetails, []);
|
|
825
833
|
useEffect(() => {
|
|
826
834
|
if (Boolean(banner?.bannerImg)) {
|
|
@@ -1212,7 +1220,7 @@ const reducer$1 = (state, action) => {
|
|
|
1212
1220
|
}
|
|
1213
1221
|
};
|
|
1214
1222
|
const AuthControllerWrapper = ({ bannerDetails, logoUrl, logoTitle, loginFn, veirfyUsernameandPassword, verifyOTP, OTPResendRequest, ResetPassword, LanguageComponent, forgotPasswordEndpoint, }) => {
|
|
1215
|
-
const classes = useStyles$
|
|
1223
|
+
const classes = useStyles$3();
|
|
1216
1224
|
const [loginState, dispath] = useReducer(reducer$1, inititalState$1);
|
|
1217
1225
|
const [openpwdreset, setOpenPwdReset] = useState(false);
|
|
1218
1226
|
const failureCount = useRef(0);
|
|
@@ -1728,7 +1736,7 @@ const reducer = (state, action) => {
|
|
|
1728
1736
|
}
|
|
1729
1737
|
};
|
|
1730
1738
|
const ForgotPasswordControllerWrapper = ({ screenFlag, updatenewPassword, veirfyUsernameandMobileNo, verifyOTPForPWDReset, logoUrl, logoTitle, LanguageComponent, bannerDetails, navigate, loginPageEndpoint, }) => {
|
|
1731
|
-
const classes = useStyles$
|
|
1739
|
+
const classes = useStyles$3();
|
|
1732
1740
|
const [loginState, dispath] = useReducer(reducer, inititalState);
|
|
1733
1741
|
const [open, setOpen] = useState(false);
|
|
1734
1742
|
const { enqueueSnackbar } = useSnackbar();
|
|
@@ -2052,7 +2060,7 @@ styleInject(css_248z);
|
|
|
2052
2060
|
|
|
2053
2061
|
var Waving_hand = "waving-hand.png";
|
|
2054
2062
|
|
|
2055
|
-
const useStyles$
|
|
2063
|
+
const useStyles$2 = makeStyles((theme) => ({
|
|
2056
2064
|
heading_user_img: {
|
|
2057
2065
|
width: "40px",
|
|
2058
2066
|
height: "40px",
|
|
@@ -2093,7 +2101,7 @@ const actions = [
|
|
|
2093
2101
|
},
|
|
2094
2102
|
];
|
|
2095
2103
|
const BranchSelectionGrid = ({ selectionMode, authState, isBranchSelectedFn, isLoggedInFn, logoutFn, logos, logo, navigate, BranchSelectionGridDataApiFn, GetMenuDataApiFn, sideImage, branchSelectFn, dashboardUrl, loginUrl, appTranCd, }) => {
|
|
2096
|
-
const classes = useStyles$
|
|
2104
|
+
const classes = useStyles$2();
|
|
2097
2105
|
const { enqueueSnackbar } = useSnackbar();
|
|
2098
2106
|
const { data, isLoading, isFetching, refetch, error, isError } = useQuery(["BranchSelectionGridData"], () => BranchSelectionGridDataApiFn());
|
|
2099
2107
|
useEffect(() => {
|
|
@@ -2268,7 +2276,7 @@ const BranchSelectionGridWrapper = (props) => {
|
|
|
2268
2276
|
return (jsx(ClearCacheProvider, { children: jsx(BranchSelectionGrid, { ...props }) }));
|
|
2269
2277
|
};
|
|
2270
2278
|
|
|
2271
|
-
const useStyles = makeStyles((theme) => ({
|
|
2279
|
+
const useStyles$1 = makeStyles((theme) => ({
|
|
2272
2280
|
appBar: {
|
|
2273
2281
|
// zIndex: theme.zIndex.drawer + 1,
|
|
2274
2282
|
transition: theme.transitions.create(["width", "margin"], {
|
|
@@ -2470,7 +2478,7 @@ const useStyles = makeStyles((theme) => ({
|
|
|
2470
2478
|
}));
|
|
2471
2479
|
|
|
2472
2480
|
const AppbarWrapper = ({ handleDrawerOpen, handleDrawerClose, open, authState, LanguageComponent, SearchComponent, dashboardUrl, logos, bankLogo, profilePic, handleLogout, handleProfile, navigate, hideGreetings, menuIconPosition = "left", }) => {
|
|
2473
|
-
const classes = useStyles();
|
|
2481
|
+
const classes = useStyles$1();
|
|
2474
2482
|
const { t } = useTranslation();
|
|
2475
2483
|
const LightTooltip = styled(({ className, ...props }) => (jsx(Tooltip, { ...props, classes: { popper: className } })))(({ theme }) => ({
|
|
2476
2484
|
[`& .${tooltipClasses.tooltip}`]: {
|
|
@@ -2497,7 +2505,7 @@ const AppbarWrapper = ({ handleDrawerOpen, handleDrawerClose, open, authState, L
|
|
|
2497
2505
|
alignItems: "center",
|
|
2498
2506
|
height: "80px",
|
|
2499
2507
|
width: "227px",
|
|
2500
|
-
flexDirection: menuIconPosition === "right" ? "row-reverse" : "row"
|
|
2508
|
+
flexDirection: menuIconPosition === "right" ? "row-reverse" : "row",
|
|
2501
2509
|
}, children: [open ? (jsx(IconButton$1, { disableRipple: true, onClick: () => handleDrawerClose(), className: classes.DrawerClose_icon, children: jsx(MenuOutlinedIcon, { fontSize: "large" }) })) : (jsx(IconButton$1, { disableRipple: true, "aria-label": "open drawer", onClick: () => handleDrawerOpen(), className: classes.DrawerClose_icon, children: jsx(MenuOutlinedIcon, { fontSize: "large" }) })), jsxs("div", { children: [jsx("img", { src: Boolean(logos?.logo) ? logos?.logo : bankLogo, alt: "CbsEnfinity", className: classes.logo, onClick: (e) => {
|
|
2502
2510
|
e.preventDefault();
|
|
2503
2511
|
navigate(dashboardUrl ?? "./dashboard");
|
|
@@ -2541,5 +2549,652 @@ const checkDateAndDisplay = (dateStr) => {
|
|
|
2541
2549
|
return "N/A";
|
|
2542
2550
|
};
|
|
2543
2551
|
|
|
2544
|
-
|
|
2552
|
+
const drawerWidth = 227;
|
|
2553
|
+
const useStyles = makeStyles((theme) => ({
|
|
2554
|
+
drawerPaper: {
|
|
2555
|
+
position: "relative",
|
|
2556
|
+
whiteSpace: "nowrap",
|
|
2557
|
+
width: drawerWidth,
|
|
2558
|
+
transition: theme.transitions.create("width", {
|
|
2559
|
+
easing: theme.transitions.easing.sharp,
|
|
2560
|
+
duration: theme.transitions.duration.enteringScreen,
|
|
2561
|
+
}),
|
|
2562
|
+
border: "none",
|
|
2563
|
+
overflow: "hidden",
|
|
2564
|
+
zIndex: 120,
|
|
2565
|
+
},
|
|
2566
|
+
drawerPaperClose: {
|
|
2567
|
+
overflowX: "hidden",
|
|
2568
|
+
transition: theme.transitions.create("width", {
|
|
2569
|
+
easing: theme.transitions.easing.sharp,
|
|
2570
|
+
duration: theme.transitions.duration.leavingScreen,
|
|
2571
|
+
}),
|
|
2572
|
+
width: theme.spacing(8),
|
|
2573
|
+
[theme.breakpoints.up("sm")]: {
|
|
2574
|
+
width: theme.spacing(8),
|
|
2575
|
+
},
|
|
2576
|
+
},
|
|
2577
|
+
toolbarIcon: {
|
|
2578
|
+
display: "flex",
|
|
2579
|
+
alignItems: "center",
|
|
2580
|
+
zIndex: 9999,
|
|
2581
|
+
...theme.mixins.toolbar,
|
|
2582
|
+
background: "var(--theme-color2)",
|
|
2583
|
+
justifyContent: "center",
|
|
2584
|
+
height: "80px",
|
|
2585
|
+
// borderBottom: "1px dashed #949597",
|
|
2586
|
+
},
|
|
2587
|
+
hrCSS: {
|
|
2588
|
+
zIndex: 9999,
|
|
2589
|
+
},
|
|
2590
|
+
buttonLink: {
|
|
2591
|
+
backgroundColor: "transparent",
|
|
2592
|
+
border: "none",
|
|
2593
|
+
cursor: "pointer",
|
|
2594
|
+
textDecoration: "underline",
|
|
2595
|
+
display: "inline",
|
|
2596
|
+
margin: 0,
|
|
2597
|
+
padding: 0,
|
|
2598
|
+
"&:focus": {
|
|
2599
|
+
textDecoration: "none",
|
|
2600
|
+
},
|
|
2601
|
+
"$:hover": {
|
|
2602
|
+
textDecoration: "none",
|
|
2603
|
+
},
|
|
2604
|
+
},
|
|
2605
|
+
}));
|
|
2606
|
+
/*
|
|
2607
|
+
|
|
2608
|
+
*/
|
|
2609
|
+
|
|
2610
|
+
const reportMetaData = [];
|
|
2611
|
+
|
|
2612
|
+
// import { createTheme } from "@mui/material";
|
|
2613
|
+
// const theme = createTheme();
|
|
2614
|
+
makeStyles((theme) => ({
|
|
2615
|
+
navBarCSS: {
|
|
2616
|
+
padding: "4px 1rem ",
|
|
2617
|
+
backgroundColor: "#fff !important",
|
|
2618
|
+
minHeight: "64px",
|
|
2619
|
+
boxShadow: "0 3px 6px rgba(0,0,0,0.03)",
|
|
2620
|
+
margin: "10px",
|
|
2621
|
+
},
|
|
2622
|
+
headerDropdown: {
|
|
2623
|
+
backgroundColor: "#fff",
|
|
2624
|
+
minWidth: "205px",
|
|
2625
|
+
boxShadow: "0 3px 6px rgba(0,0,0,0.16)",
|
|
2626
|
+
textDecoration: "none",
|
|
2627
|
+
borderBottom: "3px solid #26A456",
|
|
2628
|
+
},
|
|
2629
|
+
navLinkHeader: {
|
|
2630
|
+
color: "#555",
|
|
2631
|
+
fontSize: "14px",
|
|
2632
|
+
lineHeight: "1.2",
|
|
2633
|
+
paddingTop: "4px",
|
|
2634
|
+
paddingBottom: "4px",
|
|
2635
|
+
paddingRight: ".5rem",
|
|
2636
|
+
paddingLeft: ".5rem",
|
|
2637
|
+
fontWeight: 600,
|
|
2638
|
+
textTransform: "capitalize",
|
|
2639
|
+
display: "flex",
|
|
2640
|
+
alignItems: "center",
|
|
2641
|
+
cursor: "pointer",
|
|
2642
|
+
"& hover": {
|
|
2643
|
+
color: "#0b6fb8",
|
|
2644
|
+
},
|
|
2645
|
+
},
|
|
2646
|
+
productLink: {
|
|
2647
|
+
color: "#555",
|
|
2648
|
+
padding: "0 1rem 8px 1rem",
|
|
2649
|
+
display: "inline-block",
|
|
2650
|
+
verticalAlign: "middle",
|
|
2651
|
+
cursor: "pointer",
|
|
2652
|
+
textTransform: "capitalize",
|
|
2653
|
+
},
|
|
2654
|
+
font13: {
|
|
2655
|
+
fontSize: "13px",
|
|
2656
|
+
},
|
|
2657
|
+
loginDropdown: {
|
|
2658
|
+
width: "160px",
|
|
2659
|
+
},
|
|
2660
|
+
}));
|
|
2661
|
+
const useStylesSideBar = makeStyles((theme) => ({
|
|
2662
|
+
root: {
|
|
2663
|
+
justifyContent: "center",
|
|
2664
|
+
},
|
|
2665
|
+
drawer: {
|
|
2666
|
+
margin: "5px",
|
|
2667
|
+
},
|
|
2668
|
+
item: {
|
|
2669
|
+
display: "flex",
|
|
2670
|
+
//borderBottom: "2px solid #93242433",
|
|
2671
|
+
borderRadius: "8px",
|
|
2672
|
+
marginLeft: "7px",
|
|
2673
|
+
marginTop: "6.5px",
|
|
2674
|
+
width: "90%",
|
|
2675
|
+
height: "50px",
|
|
2676
|
+
paddingLeft: theme.spacing(2),
|
|
2677
|
+
paddingRight: theme.spacing(2),
|
|
2678
|
+
background: "var(--theme-color2)",
|
|
2679
|
+
boxShadow: "3px 6px 9px rgba(93, 95, 121, 0.26)",
|
|
2680
|
+
"& svg": {
|
|
2681
|
+
// color: theme.palette.primary.main,
|
|
2682
|
+
color: "var(--theme-color1)",
|
|
2683
|
+
},
|
|
2684
|
+
"&:hover": {
|
|
2685
|
+
boxShadow: "6px 6px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 0px 0px rgba(0,0,5,0.12)",
|
|
2686
|
+
background: "var(--theme-color4)",
|
|
2687
|
+
transition: "0.6s ease",
|
|
2688
|
+
},
|
|
2689
|
+
},
|
|
2690
|
+
drawerIconSize: {
|
|
2691
|
+
width: "50px",
|
|
2692
|
+
height: "50px",
|
|
2693
|
+
padding: "18px",
|
|
2694
|
+
justifyItems: "cenetr",
|
|
2695
|
+
},
|
|
2696
|
+
button: {
|
|
2697
|
+
color: "#0063A3",
|
|
2698
|
+
padding: "10px 8px",
|
|
2699
|
+
//justifyContent: "flex-start",
|
|
2700
|
+
textTransform: "none",
|
|
2701
|
+
letterSpacing: 0,
|
|
2702
|
+
width: "100%",
|
|
2703
|
+
textAlign: "left",
|
|
2704
|
+
"&:hover": {
|
|
2705
|
+
backgroundColor: "var(--theme-color1)",
|
|
2706
|
+
// boxShadow: "0px 15px 20px rgb(221 176 176 / 37%)",
|
|
2707
|
+
},
|
|
2708
|
+
},
|
|
2709
|
+
btnRoot: {
|
|
2710
|
+
paddingLeft: "24px",
|
|
2711
|
+
justifyContent: "left ",
|
|
2712
|
+
},
|
|
2713
|
+
navLinks: {
|
|
2714
|
+
// height: "calc(100vh - 78px)",
|
|
2715
|
+
overflowY: "auto",
|
|
2716
|
+
overflowX: "hidden",
|
|
2717
|
+
// height:"100px",
|
|
2718
|
+
backgroundColor: "rgba(250, 251, 255, 0.9);",
|
|
2719
|
+
// height: "calc(100vh - 230px)",
|
|
2720
|
+
//background: "var(--theme-color1)",
|
|
2721
|
+
// marginTop: "25px",
|
|
2722
|
+
// boxShadow: "0 3px 6px rgba(255, 99, 71, 0.3)",
|
|
2723
|
+
borderRadius: "10px",
|
|
2724
|
+
paddingTop: "5px",
|
|
2725
|
+
//margin: "5px",
|
|
2726
|
+
},
|
|
2727
|
+
navLinksforseparateView: {
|
|
2728
|
+
overflowY: "auto",
|
|
2729
|
+
overflowX: "hidden",
|
|
2730
|
+
height: "calc(100vh - 180px)",
|
|
2731
|
+
// height:"auto",
|
|
2732
|
+
paddingTop: "10px",
|
|
2733
|
+
},
|
|
2734
|
+
nestedMenuLevel1: {
|
|
2735
|
+
paddingLeft: "20px",
|
|
2736
|
+
marginTop: "11px",
|
|
2737
|
+
paddingRight: theme.spacing(3),
|
|
2738
|
+
height: "auto",
|
|
2739
|
+
fontSize: "13px",
|
|
2740
|
+
"& div > svg": {
|
|
2741
|
+
fontSize: "14px",
|
|
2742
|
+
},
|
|
2743
|
+
},
|
|
2744
|
+
nestedMenuLevel2: {
|
|
2745
|
+
paddingLeft: "20px",
|
|
2746
|
+
marginTop: "11px",
|
|
2747
|
+
fontSize: "12px",
|
|
2748
|
+
"& div > svg": {
|
|
2749
|
+
fontSize: "9px",
|
|
2750
|
+
},
|
|
2751
|
+
},
|
|
2752
|
+
listIcon: {
|
|
2753
|
+
minWidth: "30px !important",
|
|
2754
|
+
justifyItems: "center",
|
|
2755
|
+
color: "var(--theme-color6)",
|
|
2756
|
+
fontWeight: 700,
|
|
2757
|
+
fontSize: "18px",
|
|
2758
|
+
},
|
|
2759
|
+
link: {
|
|
2760
|
+
fontSize: "1rem ",
|
|
2761
|
+
marginTop: "2px",
|
|
2762
|
+
marginBottom: "2px",
|
|
2763
|
+
textOverflow: "ellipsis",
|
|
2764
|
+
color: "var(--theme-color1)",
|
|
2765
|
+
marginLeft: "15px",
|
|
2766
|
+
whiteSpace: "break-spaces",
|
|
2767
|
+
"& span": {
|
|
2768
|
+
fontWeight: 400,
|
|
2769
|
+
whiteSpace: "break-spaces",
|
|
2770
|
+
},
|
|
2771
|
+
"& p": {
|
|
2772
|
+
color: "var(--theme-color3)",
|
|
2773
|
+
fontweight: 400,
|
|
2774
|
+
},
|
|
2775
|
+
},
|
|
2776
|
+
linktext: {
|
|
2777
|
+
backgroundColor: "var(--theme-color2)",
|
|
2778
|
+
"&:hover": {
|
|
2779
|
+
background: "var(--theme-color1)",
|
|
2780
|
+
"& div": {
|
|
2781
|
+
color: "var(--theme-color2) !important",
|
|
2782
|
+
},
|
|
2783
|
+
"& div > svg": {
|
|
2784
|
+
color: "var(--theme-color2) !important",
|
|
2785
|
+
},
|
|
2786
|
+
},
|
|
2787
|
+
},
|
|
2788
|
+
faSmall: {
|
|
2789
|
+
fontSize: "13px ",
|
|
2790
|
+
},
|
|
2791
|
+
openList: {
|
|
2792
|
+
":not(activeMenuItem)": {
|
|
2793
|
+
"& > div": {
|
|
2794
|
+
backgroundColor: "rgba(0, 0, 0, 0.04)",
|
|
2795
|
+
},
|
|
2796
|
+
"& *": {
|
|
2797
|
+
color: "var(--theme-color2)",
|
|
2798
|
+
},
|
|
2799
|
+
},
|
|
2800
|
+
},
|
|
2801
|
+
openCurrent: {
|
|
2802
|
+
backgroundColor: "var(--theme-color1)",
|
|
2803
|
+
"& *": {
|
|
2804
|
+
color: "var(--theme-color2)",
|
|
2805
|
+
},
|
|
2806
|
+
"&:hover": {
|
|
2807
|
+
backgroundColor: "var(--theme-color1)",
|
|
2808
|
+
},
|
|
2809
|
+
},
|
|
2810
|
+
slimList: {
|
|
2811
|
+
paddingTop: "15px",
|
|
2812
|
+
paddingBottom: "13px",
|
|
2813
|
+
height: "auto",
|
|
2814
|
+
paddingLeft: "15px",
|
|
2815
|
+
justifyItems: "center",
|
|
2816
|
+
},
|
|
2817
|
+
activeMenuItem: {
|
|
2818
|
+
backgroundColor: "var(--theme-color1)!important ",
|
|
2819
|
+
"& > div": {
|
|
2820
|
+
color: "var(--theme-color2)!important",
|
|
2821
|
+
},
|
|
2822
|
+
"& svg": {
|
|
2823
|
+
color: "var(--theme-color4)",
|
|
2824
|
+
},
|
|
2825
|
+
"& hover": {
|
|
2826
|
+
"& > div": {
|
|
2827
|
+
color: "var(--theme-color3)",
|
|
2828
|
+
},
|
|
2829
|
+
},
|
|
2830
|
+
"& p": {
|
|
2831
|
+
color: "var(--theme-color6)",
|
|
2832
|
+
},
|
|
2833
|
+
},
|
|
2834
|
+
}));
|
|
2835
|
+
|
|
2836
|
+
let localdrawerOpen = true;
|
|
2837
|
+
const SideBarNav = ({ metaData, handleDrawerOpen, drawerOpen, setView, slimSize, setNewFilterData, setNewFilterView, isFromSeparetView = false, rootUrl, dashboardUrl, }) => {
|
|
2838
|
+
const classes = useStylesSideBar();
|
|
2839
|
+
let result = null;
|
|
2840
|
+
localdrawerOpen = drawerOpen;
|
|
2841
|
+
if (Array.isArray(metaData.navItems)) {
|
|
2842
|
+
result = metaData.navItems.map((one) => {
|
|
2843
|
+
if (one?.seperateView === true) {
|
|
2844
|
+
return (jsx(SeperateListView, { item: one, setView: setView, classes: classes, level: 0, slimSize: slimSize, setNewFilterData: setNewFilterData, setNewFilterView: setNewFilterView }, one.label));
|
|
2845
|
+
}
|
|
2846
|
+
else if (Array.isArray(one.children)) {
|
|
2847
|
+
return (jsx(NestedListItem, { item: one, classes: classes, level: 0, handleDrawerOpen: handleDrawerOpen, drawerOpen: drawerOpen, slimSize: slimSize, rootUrl: rootUrl, dashboardUrl: dashboardUrl }, one.label));
|
|
2848
|
+
}
|
|
2849
|
+
else {
|
|
2850
|
+
return (jsx(SingleListItem, { item: one, classes: classes, level: 0, slimSize: slimSize, drawerOpen: drawerOpen, rootUrl: rootUrl, dashboardUrl: dashboardUrl }, one.label));
|
|
2851
|
+
}
|
|
2852
|
+
});
|
|
2853
|
+
}
|
|
2854
|
+
return (jsx(List, { component: "nav", disablePadding: true, className: isFromSeparetView ? classes.navLinksforseparateView : classes.navLinks, children: jsx(ScrollBar, { children: result }) }));
|
|
2855
|
+
};
|
|
2856
|
+
const SeperateListView = ({ item, setView, level, classes, slimSize, setNewFilterData, setNewFilterView, }) => {
|
|
2857
|
+
let labelStart = (item.label || "").toLowerCase().substring(0, 1) || "circle";
|
|
2858
|
+
const icon = item.icon ? (jsx(ListItemIcon, { className: classes.listIcon, children: jsx(FontAwesomeIcon, { icon: ["fas", labelStart] }) })) : null;
|
|
2859
|
+
const levelClassName = level === 1
|
|
2860
|
+
? classes.nestedMenuLevel1
|
|
2861
|
+
: level === 2
|
|
2862
|
+
? classes.nestedMenuLevel2
|
|
2863
|
+
: "";
|
|
2864
|
+
return (jsxs(ListItem, { button: true, disableGutters: true, className: clsx({
|
|
2865
|
+
[classes.item]: true,
|
|
2866
|
+
[levelClassName]: Boolean(levelClassName),
|
|
2867
|
+
[classes.slimList]: Boolean(slimSize),
|
|
2868
|
+
[classes.drawerIconSize]: !localdrawerOpen,
|
|
2869
|
+
}), onClick: () => {
|
|
2870
|
+
if (item.viewName === "newfilterview" && Array.isArray(item.children)) {
|
|
2871
|
+
setNewFilterView({
|
|
2872
|
+
label: item.label,
|
|
2873
|
+
placeholder: "Search " + item.label + " Screen...",
|
|
2874
|
+
});
|
|
2875
|
+
let newChield = item.children.map((item1) => {
|
|
2876
|
+
return { ...item1, secondaryLabel: item1.user_code };
|
|
2877
|
+
});
|
|
2878
|
+
setNewFilterData(newChield);
|
|
2879
|
+
}
|
|
2880
|
+
setView(item.viewName);
|
|
2881
|
+
}, children: [jsx(Tooltip, { title: item.label, arrow: true, placement: localdrawerOpen ? "bottom-start" : "right", children: jsx("span", { children: icon }) }), (localdrawerOpen && item.label.length > 27) || !Boolean(icon) ? (jsx(Tooltip, { title: item.label, arrow: true, placement: localdrawerOpen ? "bottom-start" : "right", children: jsx(ListItemText, { primary: item.label, className: classes.link, secondary: item.secondaryLabel ?? null }) })) : localdrawerOpen ? (jsx(ListItemText, { primary: item.label, className: classes.link, secondary: item.secondaryLabel ?? null })) : null] }));
|
|
2882
|
+
};
|
|
2883
|
+
const SingleListItem = ({ item, classes, level, slimSize, drawerOpen, rootUrl, dashboardUrl, }) => {
|
|
2884
|
+
const navigate = useNavigate();
|
|
2885
|
+
const isActiveMenu = isActiveMenuFromhref(window.location?.pathname ?? "", item?.href ?? "", item?.navigationProps, rootUrl, dashboardUrl);
|
|
2886
|
+
if (isActiveMenu) {
|
|
2887
|
+
// GeneralAPI.setDocumentName(item.label);
|
|
2888
|
+
let titleText = document.title;
|
|
2889
|
+
document.title = titleText.split(" - ")[0] + " - " + item.label;
|
|
2890
|
+
}
|
|
2891
|
+
let labelStart = (item.label || "").toLowerCase().substring(0, 1) || "circle";
|
|
2892
|
+
const icon = item.icon.toLowerCase() === "process.gif" ? (jsx(ListItemIcon, { className: classes.listIcon, children: jsx(FontAwesomeIcon, { icon: ["fas", labelStart] }) })) : (jsx(ListItemIcon, { className: classes.listIcon, children: jsx(FontAwesomeIcon, { icon: ["fas", item.icon] }) }));
|
|
2893
|
+
const levelClassName = level === 1
|
|
2894
|
+
? classes.nestedMenuLevel1
|
|
2895
|
+
: level === 2
|
|
2896
|
+
? classes.nestedMenuLevel2
|
|
2897
|
+
: "";
|
|
2898
|
+
return (jsxs(ListItem, { button: true, disableGutters: true, className: clsx({
|
|
2899
|
+
[classes.item]: true,
|
|
2900
|
+
[levelClassName]: Boolean(levelClassName),
|
|
2901
|
+
[classes.slimList]: Boolean(slimSize),
|
|
2902
|
+
[classes.activeMenuItem]: isActiveMenu,
|
|
2903
|
+
[classes.drawerIconSize]: !localdrawerOpen,
|
|
2904
|
+
}), onClick: (e) => {
|
|
2905
|
+
e.preventDefault();
|
|
2906
|
+
if (item.isRouterLink) {
|
|
2907
|
+
let path = item.href;
|
|
2908
|
+
path =
|
|
2909
|
+
item.href?.substring(0, 1) === "/"
|
|
2910
|
+
? item.href.substring(1)
|
|
2911
|
+
: item.href;
|
|
2912
|
+
if (item.passNavigationPropsAsURLParmas) {
|
|
2913
|
+
let urlParms = new URLSearchParams(item?.navigationProps);
|
|
2914
|
+
navigate(`${path}?${urlParms.toString()}`);
|
|
2915
|
+
}
|
|
2916
|
+
else {
|
|
2917
|
+
navigate(`${path}`, {
|
|
2918
|
+
state: { ...item?.navigationProps },
|
|
2919
|
+
});
|
|
2920
|
+
}
|
|
2921
|
+
}
|
|
2922
|
+
else if (Boolean(item.href)) {
|
|
2923
|
+
window.open(item.href, item.rel ?? "_newtab");
|
|
2924
|
+
}
|
|
2925
|
+
}, children: [jsx(Tooltip, { title: item.label, arrow: true, placement: localdrawerOpen ? "bottom-start" : "right", children: jsx("span", { children: icon }) }), (localdrawerOpen && item.label.length > 27) || !Boolean(icon) ? (jsx(Tooltip, { title: item.label, arrow: true, placement: localdrawerOpen ? "bottom-start" : "right", children: jsx(ListItemText, { primary: item.label, className: classes.link, secondary: item.secondaryLabel ?? null }) })) : localdrawerOpen ? (jsx(ListItemText, { primary: item.label, className: classes.link, secondary: item.secondaryLabel ?? null })) : null] }));
|
|
2926
|
+
};
|
|
2927
|
+
const NestedListItem = ({ item, classes, level, handleDrawerOpen, drawerOpen, slimSize, rootUrl, dashboardUrl, }) => {
|
|
2928
|
+
const [open, setOpen] = useState(false);
|
|
2929
|
+
const handleClick = () => {
|
|
2930
|
+
setOpen(!open);
|
|
2931
|
+
};
|
|
2932
|
+
const childrens = item.children?.map((one) => {
|
|
2933
|
+
if (Array.isArray(one.children)) {
|
|
2934
|
+
return (jsx(NestedListItem, { item: one, classes: classes, level: level + 1, handleDrawerOpen: handleDrawerOpen, drawerOpen: drawerOpen, slimSize: slimSize, rootUrl: rootUrl }, one.label));
|
|
2935
|
+
}
|
|
2936
|
+
else {
|
|
2937
|
+
return (jsx(SingleListItem, { item: one, classes: classes, level: level + 1, slimSize: slimSize, rootUrl: rootUrl }, one.label));
|
|
2938
|
+
}
|
|
2939
|
+
});
|
|
2940
|
+
let labelStart = (item.label || "").toLowerCase().substring(0, 1) || "circle";
|
|
2941
|
+
const icon = item.icon === "Process.gif" ? (jsx(ListItemIcon, { className: classes.listIcon, children: jsx(FontAwesomeIcon, { icon: ["fas", labelStart] }) })) : (jsx(ListItemIcon, { className: classes.listIcon, children: jsx(FontAwesomeIcon, { icon: ["fas", item.icon] }) }));
|
|
2942
|
+
const levelClassName = level === 1
|
|
2943
|
+
? classes.nestedMenuLevel1
|
|
2944
|
+
: level === 2
|
|
2945
|
+
? classes.nestedMenuLevel2
|
|
2946
|
+
: "";
|
|
2947
|
+
return (jsxs(Fragment$1, { children: [jsxs(ListItem, { button: true, onClick: handleClick, disableGutters: true, className: open
|
|
2948
|
+
? clsx({
|
|
2949
|
+
[classes.item]: true,
|
|
2950
|
+
[levelClassName]: Boolean(levelClassName),
|
|
2951
|
+
[classes.slimList]: Boolean(slimSize),
|
|
2952
|
+
[classes.openCurrent]: true,
|
|
2953
|
+
[classes.drawerIconSize]: !localdrawerOpen,
|
|
2954
|
+
})
|
|
2955
|
+
: clsx({
|
|
2956
|
+
[classes.item]: true,
|
|
2957
|
+
[levelClassName]: Boolean(levelClassName),
|
|
2958
|
+
[classes.slimList]: Boolean(slimSize),
|
|
2959
|
+
[classes.drawerIconSize]: !localdrawerOpen,
|
|
2960
|
+
}), children: [jsx(Tooltip, { title: item.label, arrow: true, placement: localdrawerOpen ? "bottom-start" : "right", children: jsx("span", { children: icon }) }), drawerOpen || !Boolean(icon) ? (jsxs(Fragment$1, { children: [jsx(ListItemText, { primary: item.label, secondary: item.secondaryLabel ?? null, color: "primary", className: classes.link }), open ? jsx(ExpandLess, {}) : jsx(ExpandMore, {})] })) : null] }), jsx(Collapse, { in: open, timeout: "auto", unmountOnExit: true, children: jsx(List, { component: "div", disablePadding: true, className: open ? classes.openList : "", children: childrens }) })] }));
|
|
2961
|
+
};
|
|
2962
|
+
const isActiveMenuFromhref = (location, menuhref, navigationProps, rootUrl, dashboardUrl) => {
|
|
2963
|
+
if ((location === `/${rootUrl}` || location === `/${rootUrl}/`) &&
|
|
2964
|
+
menuhref === dashboardUrl) {
|
|
2965
|
+
return true;
|
|
2966
|
+
}
|
|
2967
|
+
else if (menuhref === "report") {
|
|
2968
|
+
try {
|
|
2969
|
+
let urlParms = new URLSearchParams(navigationProps);
|
|
2970
|
+
if ("?" + urlParms.toString() === window.location.search) {
|
|
2971
|
+
return true;
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
catch (error) {
|
|
2975
|
+
console.log(error);
|
|
2976
|
+
}
|
|
2977
|
+
return false;
|
|
2978
|
+
}
|
|
2979
|
+
else if (location !== `/${rootUrl}` &&
|
|
2980
|
+
location !== "/" &&
|
|
2981
|
+
Boolean(menuhref) &&
|
|
2982
|
+
location.includes(menuhref)) {
|
|
2983
|
+
return true;
|
|
2984
|
+
}
|
|
2985
|
+
return false;
|
|
2986
|
+
};
|
|
2987
|
+
|
|
2988
|
+
const matchByValue = (search, tags, navItem) => {
|
|
2989
|
+
if (!Array.isArray(tags)) {
|
|
2990
|
+
tags = [tags];
|
|
2991
|
+
}
|
|
2992
|
+
return tags.some((one) => navItem[one]
|
|
2993
|
+
?.toLocaleLowerCase?.()
|
|
2994
|
+
?.includes(search?.toLocaleLowerCase?.()));
|
|
2995
|
+
};
|
|
2996
|
+
const filterMetaDataByValue = (searchString, navItems, tagsToSearch) => {
|
|
2997
|
+
let newNavItems = [];
|
|
2998
|
+
for (let i = 0; i < navItems.length; i++) {
|
|
2999
|
+
if (matchByValue(searchString, tagsToSearch, navItems[i])) {
|
|
3000
|
+
let { children, ...newItem } = navItems[i];
|
|
3001
|
+
if (Array.isArray(children) && children.length > 0) {
|
|
3002
|
+
let newChildren = filterMetaDataByValue(searchString, children, tagsToSearch);
|
|
3003
|
+
if (newChildren.length > 0) {
|
|
3004
|
+
newNavItems.push({ ...newItem, children: newChildren });
|
|
3005
|
+
}
|
|
3006
|
+
}
|
|
3007
|
+
else {
|
|
3008
|
+
newNavItems.push({ ...newItem });
|
|
3009
|
+
}
|
|
3010
|
+
}
|
|
3011
|
+
}
|
|
3012
|
+
return newNavItems;
|
|
3013
|
+
};
|
|
3014
|
+
|
|
3015
|
+
const SearchViewNavigation = ({ metaData, handleDrawerOpen, drawerOpen, setView, label, icon, placeholder = "Search Reports...", rootUrl, dashboardUrl, }) => {
|
|
3016
|
+
const [search, setSearch] = useState("");
|
|
3017
|
+
const filteredMetaData = useMemo(() => {
|
|
3018
|
+
return filterMetaDataByValue(search, metaData.navItems, [
|
|
3019
|
+
"label",
|
|
3020
|
+
"secondaryLabel",
|
|
3021
|
+
]);
|
|
3022
|
+
}, [search, metaData.navItems]);
|
|
3023
|
+
const classes = useStylesSideBar();
|
|
3024
|
+
const myIcon = icon ? (jsx(ListItemIcon, { className: classes.listIcon, children: jsx(ArrowBackIosNewIcon, {}) })) : null;
|
|
3025
|
+
const handleClick = () => {
|
|
3026
|
+
if (!drawerOpen) {
|
|
3027
|
+
handleDrawerOpen();
|
|
3028
|
+
}
|
|
3029
|
+
};
|
|
3030
|
+
return (jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [jsxs(ListItem, { button: true, className: clsx({
|
|
3031
|
+
[classes.item]: true,
|
|
3032
|
+
[classes.nestedMenuLevel1]: true,
|
|
3033
|
+
[classes.linktext]: true,
|
|
3034
|
+
}), onClick: () => setView("/"), children: [myIcon, jsx(ListItemText, { primary: label, className: classes.link })] }), jsx(SearchBar, { sx: { overflow: "hidden" }, value: search, onChange: (e) => setSearch(e.target.value), onClick: handleClick, placeholder: Boolean(placeholder) ? placeholder : "Search Reports...", autoFocus: drawerOpen }), jsx(SideBarNav, { handleDrawerOpen: handleDrawerOpen, drawerOpen: drawerOpen, setView: setView, metaData: {
|
|
3035
|
+
navItems: filteredMetaData,
|
|
3036
|
+
config: { rel: "", target: "_blank" },
|
|
3037
|
+
}, slimSize: true, isFromSeparetView: true, rootUrl: rootUrl, dashboardUrl: dashboardUrl })] }));
|
|
3038
|
+
};
|
|
3039
|
+
|
|
3040
|
+
library.add(faHandsHelping, faUsers, faBars, faBalanceScale, faHandHoldingHeart, faTasks, faCog, faHome, faTh, faUsersCog, faCircle, faUserCircle, faHashtag, faThumbtack, faSquare, faLink, faQuestion, faPlus, faTable, faLocationArrow, faHeadset, faGears, faArrowDown, faArrowUp, faSpinner, faCircleExclamation, faRotateRight, faUserLock, faUserClock, faGripHorizontal, faFileLines, faGear, faHeadphones, faUsersGear, faMessage, faUnlock, faUserPlus, faUserCheck, faKey, faIdCard, faIdBadge, faCheck, faCheckDouble, faCircleCheck, faCircleXmark, faUserTag, faAddressCard, faChartColumn, faUserPen, faHandHolding, faHandHoldingMedical, faObjectGroup, faTowerCell, faTowerObservation, faBuilding, faMailBulk, faLandmarkFlag, faCreditCard, faHospitalSymbol, faPlugCircleBolt, faCodeBranch, faPersonCircleCheck, faBank, faServer, faNotesMedical, faA, faB, faC, faD, faE, faF, faG, faH, faI, faJ, faK, faL, faM, faN, faO, faP, faQ, faR, faS, faT, faU, faV, faW, faX, faY, faZ);
|
|
3041
|
+
|
|
3042
|
+
const transformMetaDataAsPerRole = (metaData, role, branches, company, access, products) => {
|
|
3043
|
+
let navItems = filterMetaData(metaData.navItems, role, branches, company, access, products);
|
|
3044
|
+
//console.log(navItems);
|
|
3045
|
+
let newnavItem = navItems.map((item) => {
|
|
3046
|
+
let { children, ...newItem } = item;
|
|
3047
|
+
if (Array.isArray(children) && children.length > 5) {
|
|
3048
|
+
if (!Boolean(newItem.seperateView)) {
|
|
3049
|
+
newItem.seperateView = true;
|
|
3050
|
+
newItem.viewName = "newfilterview";
|
|
3051
|
+
//console.log(newItem);
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
3054
|
+
return { ...newItem, children: children };
|
|
3055
|
+
});
|
|
3056
|
+
return {
|
|
3057
|
+
config: metaData.config,
|
|
3058
|
+
navItems: newnavItem,
|
|
3059
|
+
};
|
|
3060
|
+
};
|
|
3061
|
+
const matchBranches = (userBranches, accessBranches) => {
|
|
3062
|
+
if (!Array.isArray(accessBranches) || !Array.isArray(userBranches)) {
|
|
3063
|
+
return true;
|
|
3064
|
+
}
|
|
3065
|
+
if (accessBranches.length <= 0 || userBranches.length <= 0) {
|
|
3066
|
+
return true;
|
|
3067
|
+
}
|
|
3068
|
+
for (const one of accessBranches) {
|
|
3069
|
+
if (userBranches.indexOf(one) >= 0) {
|
|
3070
|
+
return true;
|
|
3071
|
+
}
|
|
3072
|
+
}
|
|
3073
|
+
return false;
|
|
3074
|
+
};
|
|
3075
|
+
const matchComany = (userCompany, accessCompany) => {
|
|
3076
|
+
if (!Array.isArray(accessCompany) || !Boolean(userCompany)) {
|
|
3077
|
+
return true;
|
|
3078
|
+
}
|
|
3079
|
+
if (accessCompany.length <= 0) {
|
|
3080
|
+
return true;
|
|
3081
|
+
}
|
|
3082
|
+
if (accessCompany.indexOf(userCompany) >= 0) {
|
|
3083
|
+
return true;
|
|
3084
|
+
}
|
|
3085
|
+
return false;
|
|
3086
|
+
};
|
|
3087
|
+
const matchRoles = (userRole, accessRoles) => {
|
|
3088
|
+
if (!Array.isArray(accessRoles) || typeof userRole !== "number") {
|
|
3089
|
+
return true;
|
|
3090
|
+
}
|
|
3091
|
+
if (accessRoles.length <= 0) {
|
|
3092
|
+
return true;
|
|
3093
|
+
}
|
|
3094
|
+
if (accessRoles.indexOf(userRole) >= 0) {
|
|
3095
|
+
return true;
|
|
3096
|
+
}
|
|
3097
|
+
return false;
|
|
3098
|
+
};
|
|
3099
|
+
const matchInvisibleRoles = (userRole, accessRoles) => {
|
|
3100
|
+
if (!Array.isArray(accessRoles) || typeof userRole !== "number") {
|
|
3101
|
+
return true;
|
|
3102
|
+
}
|
|
3103
|
+
if (accessRoles.length <= 0) {
|
|
3104
|
+
return true;
|
|
3105
|
+
}
|
|
3106
|
+
if (accessRoles.indexOf(userRole) >= 0) {
|
|
3107
|
+
return false;
|
|
3108
|
+
}
|
|
3109
|
+
return true;
|
|
3110
|
+
};
|
|
3111
|
+
const matchProducts = (userProducts, accessProducts) => {
|
|
3112
|
+
if (!Array.isArray(accessProducts) || !Array.isArray(userProducts)) {
|
|
3113
|
+
return true;
|
|
3114
|
+
}
|
|
3115
|
+
if (accessProducts.length <= 0 || userProducts.length <= 0) {
|
|
3116
|
+
return true;
|
|
3117
|
+
}
|
|
3118
|
+
for (const one of accessProducts) {
|
|
3119
|
+
if (userProducts.indexOf(one) >= 0) {
|
|
3120
|
+
return true;
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3123
|
+
return false;
|
|
3124
|
+
};
|
|
3125
|
+
const ishrefisNotNull = (item) => {
|
|
3126
|
+
if (!(Array.isArray(item.children) && item.children.length > 0) &&
|
|
3127
|
+
!Boolean(item.href)) {
|
|
3128
|
+
//console.log(item);
|
|
3129
|
+
return false;
|
|
3130
|
+
}
|
|
3131
|
+
return true;
|
|
3132
|
+
};
|
|
3133
|
+
const filterMetaData = (navItems, role, branches, company, access, products) => {
|
|
3134
|
+
let newNavItems = [];
|
|
3135
|
+
for (let i = 0; i < navItems.length; i++) {
|
|
3136
|
+
if (matchRoles(Number(role), navItems[i].visibleToRoles) &&
|
|
3137
|
+
matchComany(company, navItems[i].visibleToCompanies) &&
|
|
3138
|
+
matchBranches(branches, navItems[i].visibleToBranches) &&
|
|
3139
|
+
matchInvisibleRoles(Number(role), navItems[i].invisibleToRoles) &&
|
|
3140
|
+
matchProducts(products, navItems[i].visibleToProducts) &&
|
|
3141
|
+
ishrefisNotNull(navItems[i])) {
|
|
3142
|
+
let { children, ...newItem } = navItems[i];
|
|
3143
|
+
if (Array.isArray(children) && children.length > 0) {
|
|
3144
|
+
let newChildren = filterMetaData(children, role, branches, company, access, products);
|
|
3145
|
+
if (newChildren.length > 0) {
|
|
3146
|
+
newNavItems.push({ ...newItem, children: newChildren });
|
|
3147
|
+
}
|
|
3148
|
+
}
|
|
3149
|
+
else {
|
|
3150
|
+
newNavItems.push({ ...newItem, secondaryLabel: newItem.system_code });
|
|
3151
|
+
}
|
|
3152
|
+
}
|
|
3153
|
+
}
|
|
3154
|
+
return newNavItems;
|
|
3155
|
+
};
|
|
3156
|
+
|
|
3157
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
3158
|
+
const SideBar = ({ authState, handleDrawerOpen, open, rootUrl, dashboardUrl = "dashboard", }) => {
|
|
3159
|
+
const [view, setView] = useState("/");
|
|
3160
|
+
const [NewFilterView, setNewFilterView] = useState({});
|
|
3161
|
+
const [NewFilterData, setNewFilterData] = useState([]);
|
|
3162
|
+
const branches = useMemo(() => {
|
|
3163
|
+
let myBranches = authState?.access?.entities?.Branch ?? [];
|
|
3164
|
+
if (Array.isArray(myBranches) && myBranches.length >= 0) {
|
|
3165
|
+
return myBranches.map((one) => one.branchCode);
|
|
3166
|
+
}
|
|
3167
|
+
else {
|
|
3168
|
+
return [];
|
|
3169
|
+
}
|
|
3170
|
+
}, []);
|
|
3171
|
+
const products = useMemo(() => {
|
|
3172
|
+
let myProducts = authState?.access?.products ?? [];
|
|
3173
|
+
if (Array.isArray(myProducts) && myProducts.length >= 0) {
|
|
3174
|
+
return myProducts.map((one) => one.categoryCode);
|
|
3175
|
+
}
|
|
3176
|
+
else {
|
|
3177
|
+
return [];
|
|
3178
|
+
}
|
|
3179
|
+
}, []);
|
|
3180
|
+
let newMetaData = { navItems: authState.menulistdata };
|
|
3181
|
+
let filteredMetaDataSideBar = transformMetaDataAsPerRole(newMetaData, Number(authState.role), branches, authState.companyID, authState.access, products);
|
|
3182
|
+
let filteredReportsMetaData = transformMetaDataAsPerRole({
|
|
3183
|
+
config: { rel: "", target: "_blank" },
|
|
3184
|
+
navItems: reportMetaData,
|
|
3185
|
+
}, Number(authState.role), branches, authState.companyID, authState.access, products);
|
|
3186
|
+
return view === "report" ? (jsx(SearchViewNavigation, { metaData: filteredReportsMetaData, handleDrawerOpen: handleDrawerOpen, drawerOpen: open, setView: setView, label: "Reports", icon: "table", rootUrl: rootUrl, dashboardUrl: dashboardUrl })) : view === "newfilterview" ? (jsx(SearchViewNavigation, { metaData: {
|
|
3187
|
+
config: { rel: "", target: "_blank" },
|
|
3188
|
+
navItems: NewFilterData,
|
|
3189
|
+
}, handleDrawerOpen: handleDrawerOpen, drawerOpen: open, setView: setView, label: NewFilterView?.label ?? "Reports", icon: "table", placeholder: NewFilterView?.placeholder, rootUrl: rootUrl, dashboardUrl: dashboardUrl })) : (jsx(Fragment$1, { children: jsx(SideBarNav, { metaData: filteredMetaDataSideBar, handleDrawerOpen: handleDrawerOpen, drawerOpen: open, setView: setView, slimSize: true, setNewFilterData: setNewFilterData, setNewFilterView: setNewFilterView, rootUrl: rootUrl, dashboardUrl: dashboardUrl }) }));
|
|
3190
|
+
};
|
|
3191
|
+
|
|
3192
|
+
const SidebarWrapper = (props) => {
|
|
3193
|
+
const classes = useStyles();
|
|
3194
|
+
return (jsxs(Drawer, { variant: "permanent", classes: {
|
|
3195
|
+
paper: clsx(classes.drawerPaper, !open && classes.drawerPaperClose),
|
|
3196
|
+
}, open: props.open, children: [jsx("div", { className: classes.toolbarIcon }), jsx(SideBar, { ...props })] }));
|
|
3197
|
+
};
|
|
3198
|
+
|
|
3199
|
+
export { AppbarWrapper, AuthControllerWrapper, BranchSelectionGridWrapper, ForgotPasswordControllerWrapper, SidebarWrapper, ValidatePassword };
|
|
2545
3200
|
//# sourceMappingURL=index.js.map
|