@erpsquad/common 1.10.29 → 1.10.31
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/chunks/{ERPUIProvider-CLg_Yo12.esm.js → ERPUIProvider-CIzXMsuV.esm.js} +8 -8
- package/dist/chunks/{ERPUIProvider-CLg_Yo12.esm.js.map → ERPUIProvider-CIzXMsuV.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-C8cLIOap.esm.js → actionCreator-BzPZv2rR.esm.js} +2 -2
- package/dist/chunks/{actionCreator-C8cLIOap.esm.js.map → actionCreator-BzPZv2rR.esm.js.map} +1 -1
- package/dist/chunks/{android-12-switch-DM9s0XTb.js → android-12-switch-BILQvv4G.js} +170 -5
- package/dist/chunks/android-12-switch-BILQvv4G.js.map +1 -0
- package/dist/chunks/{android-12-switch-eTZOAHAa.esm.js → android-12-switch-DpJE56Wi.esm.js} +212 -47
- package/dist/chunks/android-12-switch-DpJE56Wi.esm.js.map +1 -0
- package/dist/chunks/{appbar-DtROOKgm.esm.js → appbar-5rP5iXcS.esm.js} +4 -4
- package/dist/chunks/{appbar-DtROOKgm.esm.js.map → appbar-5rP5iXcS.esm.js.map} +1 -1
- package/dist/chunks/{common-Nn4SUfK7.esm.js → common-D59u5rE6.esm.js} +2 -2
- package/dist/chunks/{common-Nn4SUfK7.esm.js.map → common-D59u5rE6.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-B-mleFzm.esm.js → custom-editor-UhZu0Svw.esm.js} +2 -2
- package/dist/chunks/{custom-editor-B-mleFzm.esm.js.map → custom-editor-UhZu0Svw.esm.js.map} +1 -1
- package/dist/chunks/{default-data-BjzCfuoR.js → default-data-B2-JPE4u.js} +9 -11
- package/dist/chunks/{default-data-BjzCfuoR.js.map → default-data-B2-JPE4u.js.map} +1 -1
- package/dist/chunks/{default-data-C8B-fYa8.esm.js → default-data-DLCnpyaM.esm.js} +19 -21
- package/dist/chunks/{default-data-C8B-fYa8.esm.js.map → default-data-DLCnpyaM.esm.js.map} +1 -1
- package/dist/chunks/{form-builder-conversion-yi03Elpa.esm.js → form-builder-conversion-gLJCNqSQ.esm.js} +2 -2
- package/dist/chunks/{form-builder-conversion-yi03Elpa.esm.js.map → form-builder-conversion-gLJCNqSQ.esm.js.map} +1 -1
- package/dist/chunks/{form-builder-deconversion-CFtHF1hm.esm.js → form-builder-deconversion-DNGMsAEj.esm.js} +3 -3
- package/dist/chunks/{form-builder-deconversion-CFtHF1hm.esm.js.map → form-builder-deconversion-DNGMsAEj.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-Xv8AR914.esm.js → fullScreen-C8Qnoyrr.esm.js} +2 -2
- package/dist/chunks/{fullScreen-Xv8AR914.esm.js.map → fullScreen-C8Qnoyrr.esm.js.map} +1 -1
- package/dist/chunks/{languageContext-cweJTzn0.esm.js → languageContext-ffrxXJkr.esm.js} +3 -3
- package/dist/chunks/{languageContext-cweJTzn0.esm.js.map → languageContext-ffrxXJkr.esm.js.map} +1 -1
- package/dist/chunks/{migration-utils-llqrdBh8.esm.js → migration-utils-BJsX1G2n.esm.js} +2 -2
- package/dist/chunks/{migration-utils-llqrdBh8.esm.js.map → migration-utils-BJsX1G2n.esm.js.map} +1 -1
- package/dist/chunks/{page-context-BbQNncGA.esm.js → page-context-BlGcwtdZ.esm.js} +3 -3
- package/dist/chunks/{page-context-BbQNncGA.esm.js.map → page-context-BlGcwtdZ.esm.js.map} +1 -1
- package/dist/chunks/{reducer-DRkUwBHb.esm.js → reducer-D6_f0R4C.esm.js} +2 -2
- package/dist/chunks/{reducer-DRkUwBHb.esm.js.map → reducer-D6_f0R4C.esm.js.map} +1 -1
- package/dist/chunks/{shareSlice-H0nwzQZv.esm.js → shareSlice-Bxrgfv7o.esm.js} +2 -2
- package/dist/chunks/{shareSlice-H0nwzQZv.esm.js.map → shareSlice-Bxrgfv7o.esm.js.map} +1 -1
- package/dist/chunks/{sidebar-CdhW0PKj.esm.js → sidebar-n5_ky6G7.esm.js} +4 -4
- package/dist/chunks/{sidebar-CdhW0PKj.esm.js.map → sidebar-n5_ky6G7.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DbfP32Xx.esm.js → sidebarScreen-BwkiIBud.esm.js} +5 -6
- package/dist/chunks/sidebarScreen-BwkiIBud.esm.js.map +1 -0
- package/dist/chunks/{sidebarScreen-figZp_Ln.js → sidebarScreen-Cm763s1P.js} +1 -2
- package/dist/chunks/sidebarScreen-Cm763s1P.js.map +1 -0
- package/dist/chunks/{store-C2XaFCA_.esm.js → store-OqHSsVaz.esm.js} +3 -3
- package/dist/chunks/{store-C2XaFCA_.esm.js.map → store-OqHSsVaz.esm.js.map} +1 -1
- package/dist/chunks/{translations-DJZgOpfH.esm.js → translations-GFvlFdi5.esm.js} +2 -2
- package/dist/chunks/{translations-DJZgOpfH.esm.js.map → translations-GFvlFdi5.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DKN31prP.esm.js → uom-field-wrapper-CgYTONsG.esm.js} +33 -158
- package/dist/chunks/uom-field-wrapper-CgYTONsG.esm.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-NNhtGgqI.js → uom-field-wrapper-DoyshtE9.js} +2 -127
- package/dist/chunks/uom-field-wrapper-DoyshtE9.js.map +1 -0
- package/dist/chunks/{useAccountSetting-CAUDy8rg.esm.js → useAccountSetting-D1Ze8r-T.esm.js} +3 -3
- package/dist/chunks/{useAccountSetting-CAUDy8rg.esm.js.map → useAccountSetting-D1Ze8r-T.esm.js.map} +1 -1
- package/dist/chunks/{useAdditionalDiscountAutoCalc-DbyTG80U.esm.js → useAdditionalDiscountAutoCalc-PhSfzd5X.esm.js} +5 -5
- package/dist/chunks/{useAdditionalDiscountAutoCalc-DbyTG80U.esm.js.map → useAdditionalDiscountAutoCalc-PhSfzd5X.esm.js.map} +1 -1
- package/dist/chunks/{useAuth-BaUSGWbL.esm.js → useAuth-DhzbULWV.esm.js} +2 -2
- package/dist/chunks/{useAuth-BaUSGWbL.esm.js.map → useAuth-DhzbULWV.esm.js.map} +1 -1
- package/dist/chunks/{useLangauge-BUF4epYu.esm.js → useLangauge-CbMaEsdS.esm.js} +2 -2
- package/dist/chunks/{useLangauge-BUF4epYu.esm.js.map → useLangauge-CbMaEsdS.esm.js.map} +1 -1
- package/dist/components/index.esm.js +53 -53
- package/dist/components/index.js +4 -4
- package/dist/contexts/index.esm.js +3 -3
- package/dist/hooks/index.esm.js +5 -5
- package/dist/index.esm.js +90 -90
- package/dist/index.js +6 -6
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +1 -1
- package/dist/redux/index.esm.js +4 -4
- package/dist/utils/index.esm.js +7 -7
- package/dist/views/index.esm.js +9 -9
- package/dist/views/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunks/android-12-switch-DM9s0XTb.js.map +0 -1
- package/dist/chunks/android-12-switch-eTZOAHAa.esm.js.map +0 -1
- package/dist/chunks/sidebarScreen-DbfP32Xx.esm.js.map +0 -1
- package/dist/chunks/sidebarScreen-figZp_Ln.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-DKN31prP.esm.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-NNhtGgqI.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-ClFauRgV.esm.js";
|
|
2
2
|
import { useMemo, useState, useCallback, useEffect } from "react";
|
|
3
|
-
import { a6 as useTheme, c as Box, a as AppBarWrapper, A as ActivityArea, C as ChatBot } from "./appbar-
|
|
4
|
-
import { S as Sidebar } from "./sidebar-
|
|
3
|
+
import { a6 as useTheme, c as Box, a as AppBarWrapper, A as ActivityArea, C as ChatBot } from "./appbar-5rP5iXcS.esm.js";
|
|
4
|
+
import { S as Sidebar } from "./sidebar-n5_ky6G7.esm.js";
|
|
5
5
|
import { d as drawerWidth } from "./mui.constants-BFBzxaiA.esm.js";
|
|
6
|
-
import { u as useLanguage } from "./useLangauge-
|
|
7
|
-
import { aw as getToken } from "./common-
|
|
6
|
+
import { u as useLanguage } from "./useLangauge-CbMaEsdS.esm.js";
|
|
7
|
+
import { aw as getToken } from "./common-D59u5rE6.esm.js";
|
|
8
8
|
import { aA as getV1Settings } from "./api-BF3CyrPB.esm.js";
|
|
9
9
|
import { useLocation } from "react-router-dom";
|
|
10
10
|
const DRAWER_STATE_KEY = "_is_drawer_open";
|
|
@@ -70,7 +70,6 @@ const SidebarLayout = (props) => {
|
|
|
70
70
|
}, [wipSettingsData, props.menu]);
|
|
71
71
|
const handleMouseEnter = () => {
|
|
72
72
|
if (!forcedOpen) {
|
|
73
|
-
setOpen(true);
|
|
74
73
|
window.localStorage.setItem(DRAWER_STATE_KEY, "true");
|
|
75
74
|
}
|
|
76
75
|
};
|
|
@@ -198,4 +197,4 @@ const SidebarLayout = (props) => {
|
|
|
198
197
|
export {
|
|
199
198
|
SidebarLayout as S
|
|
200
199
|
};
|
|
201
|
-
//# sourceMappingURL=sidebarScreen-
|
|
200
|
+
//# sourceMappingURL=sidebarScreen-BwkiIBud.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebarScreen-BwkiIBud.esm.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\n\nimport { useTheme } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\n\nimport AppBar from '../../components/appbar/appbar';\nimport SideBar from '../../components/sidebar/sidebar';\nimport ActivityArea from '../../components/activityArea/activityArea';\nimport ChatBot from '../../components/chat-bot/chat-bot';\n\nimport drawerWidth from '../../constants/mui.constants';\n// const drawerWidth = 240;\nimport { useLanguage } from '../../hooks/useLangauge';\nimport { getToken } from '@/utils';\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\nimport { useLocation } from 'react-router-dom';\n\n// Local storage key for drawer state\nconst DRAWER_STATE_KEY = '_is_drawer_open';\n\n// Interface for better type safety\nexport interface ISidebarLayoutProps {\n\tmenu: any[];\n\tchildren: React.ReactNode;\n\tdashboardPath?: string;\n}\n\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\n\tconst theme = useTheme();\n\tconst { currentLanguage } = useLanguage();\n\tconst isRtl = useMemo(\n\t\t() => currentLanguage?.direction === 'rtl',\n\t\t[currentLanguage]\n\t);\n\t// Enhanced state management\n\tconst [forcedOpen, setForcedOpen] = useState(true);\n\tconst [hoverOpen, setHoverOpen] = useState(false);\n\tconst [isInitialized, setIsInitialized] = useState(false);\n\tconst location = useLocation();\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Memoized computed state for actual drawer open status\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\n\n\t// Enhanced drawer control functions with better state management\n\tconst handleDrawerOpen = useCallback(() => {\n\t\tsetForcedOpen(true);\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\n\t\ttry {\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\n\t\t}\n\t}, []);\n\n\tconst handleDrawerClose = useCallback(() => {\n\t\tsetForcedOpen(false);\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\n\t}, []);\n\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\n\n\tconst getSettings = useCallback(async () => {\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\n\t\tconst tokenData = getToken();\n\t\tconst apiParams = {\n\t\t\t'x-token': tokenData['x-token'],\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\n\t\t};\n\t\tconst response = await getV1Settings(apiParams);\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\n\t\tsetWipSettingsData(data);\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\n\t}, []);\n\tuseEffect(() => {\n\t\tif(curPathName?.includes('manufacturing')) {\n\t\t\tgetSettings();\n\t\t}\n\t}, [getSettings, curPathName]);\n\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\n\t\tprops.menu\n\t);\n\n\tuseEffect(() => {\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\n\t\t\tconsole.log('wipSettingsData: ', wipSettingsData);\n\t\t\tconst _new = props.menu.filter((item) => {\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\n\t\t\t\t\treturn item.label !== 'Plans';\n\t\t\t\t} else {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetManufacturingSubmenu(_new);\n\t\t}\n\t}, [wipSettingsData, props.menu]);\n\t// const module_type = '';\n\n\tconst handleMouseEnter = () => {\n\t\tif (!forcedOpen) {\n\t\t\t// setOpen(true);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t}\n\t};\n\n\tconst handleMouseLeave = useCallback(() => {\n\t\tif (!forcedOpen && isInitialized) {\n\t\t\tsetHoverOpen(false);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\n\t\t}\n\t}, [forcedOpen, isInitialized]);\n\n\t// Toggle function for programmatic control\n\tconst toggleDrawer = useCallback(() => {\n\t\tif (forcedOpen) {\n\t\t\thandleDrawerClose();\n\t\t} else {\n\t\t\thandleDrawerOpen();\n\t\t}\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\n\n\t// Enhanced initialization with error handling\n\tuseEffect(() => {\n\t\tconst initializeDrawerState = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t} else {\n\t\t\t\t\t// Fallback for environments without localStorage\n\t\t\t\t\tsetForcedOpen(true);\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\n\t\t\t\t// Fallback to default state\n\t\t\t\tsetForcedOpen(true);\n\t\t\t\tsetIsInitialized(true);\n\t\t\t}\n\t\t};\n\n\t\tinitializeDrawerState();\n\t}, []);\n\n\t// Handle window focus to sync state across tabs\n\tuseEffect(() => {\n\t\tconst handleWindowFocus = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\t\tsetHoverOpen(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('focus', handleWindowFocus);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\n\t\t};\n\t}, [forcedOpen]);\n\n\t// Prevent rendering until initialization is complete\n\tif (!isInitialized) {\n\t\treturn (\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tminHeight: '100vh',\n\t\t\t\t\talignItems: 'center',\n\t\t\t\t\tjustifyContent: 'center'\n\t\t\t\t}}>\n\t\t\t\t{/* Optional loading indicator */}\n\t\t\t\t<Box>Loading...</Box>\n\t\t\t</Box>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tminHeight: '100vh',\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\n\t\t\t}}>\n\t\t\t<AppBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t/>\n\n\t\t\t<SideBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\ttheme={theme}\n\t\t\t\tmenu={manufacturingSubmenu}\n\t\t\t\thandleMouseEnter={handleMouseEnter}\n\t\t\t\thandleMouseLeave={handleMouseLeave}\n\t\t\t\tisInitialized={isInitialized}\n\t\t\t\tdashboardPath={props.dashboardPath}\n\t\t\t/>\n\n\t\t\t<ActivityArea\n\t\t\t\tisDrawerOpen={isDrawerOpen}\n\t\t\t\tdrawerWidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}>\n\t\t\t\t{props.children}\n\t\t\t</ActivityArea>\n\t\t\t<ChatBot />\n\t\t</Box>\n\t);\n};\n\nexport default SidebarLayout;\n"],"names":["jsx","jsxs","AppBar","SideBar"],"mappings":"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"}
|
|
@@ -71,7 +71,6 @@ const SidebarLayout = (props) => {
|
|
|
71
71
|
}, [wipSettingsData, props.menu]);
|
|
72
72
|
const handleMouseEnter = () => {
|
|
73
73
|
if (!forcedOpen) {
|
|
74
|
-
setOpen(true);
|
|
75
74
|
window.localStorage.setItem(DRAWER_STATE_KEY, "true");
|
|
76
75
|
}
|
|
77
76
|
};
|
|
@@ -197,4 +196,4 @@ const SidebarLayout = (props) => {
|
|
|
197
196
|
);
|
|
198
197
|
};
|
|
199
198
|
exports.SidebarLayout = SidebarLayout;
|
|
200
|
-
//# sourceMappingURL=sidebarScreen-
|
|
199
|
+
//# sourceMappingURL=sidebarScreen-Cm763s1P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebarScreen-Cm763s1P.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\n\nimport { useTheme } from '@mui/material/styles';\nimport Box from '@mui/material/Box';\n\nimport AppBar from '../../components/appbar/appbar';\nimport SideBar from '../../components/sidebar/sidebar';\nimport ActivityArea from '../../components/activityArea/activityArea';\nimport ChatBot from '../../components/chat-bot/chat-bot';\n\nimport drawerWidth from '../../constants/mui.constants';\n// const drawerWidth = 240;\nimport { useLanguage } from '../../hooks/useLangauge';\nimport { getToken } from '@/utils';\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\nimport { useLocation } from 'react-router-dom';\n\n// Local storage key for drawer state\nconst DRAWER_STATE_KEY = '_is_drawer_open';\n\n// Interface for better type safety\nexport interface ISidebarLayoutProps {\n\tmenu: any[];\n\tchildren: React.ReactNode;\n\tdashboardPath?: string;\n}\n\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\n\tconst theme = useTheme();\n\tconst { currentLanguage } = useLanguage();\n\tconst isRtl = useMemo(\n\t\t() => currentLanguage?.direction === 'rtl',\n\t\t[currentLanguage]\n\t);\n\t// Enhanced state management\n\tconst [forcedOpen, setForcedOpen] = useState(true);\n\tconst [hoverOpen, setHoverOpen] = useState(false);\n\tconst [isInitialized, setIsInitialized] = useState(false);\n\tconst location = useLocation();\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Memoized computed state for actual drawer open status\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\n\n\t// Enhanced drawer control functions with better state management\n\tconst handleDrawerOpen = useCallback(() => {\n\t\tsetForcedOpen(true);\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\n\t\ttry {\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\n\t\t}\n\t}, []);\n\n\tconst handleDrawerClose = useCallback(() => {\n\t\tsetForcedOpen(false);\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\n\t}, []);\n\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\n\n\tconst getSettings = useCallback(async () => {\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\n\t\tconst tokenData = getToken();\n\t\tconst apiParams = {\n\t\t\t'x-token': tokenData['x-token'],\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\n\t\t};\n\t\tconst response = await getV1Settings(apiParams);\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\n\t\tsetWipSettingsData(data);\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\n\t}, []);\n\tuseEffect(() => {\n\t\tif(curPathName?.includes('manufacturing')) {\n\t\t\tgetSettings();\n\t\t}\n\t}, [getSettings, curPathName]);\n\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\n\t\tprops.menu\n\t);\n\n\tuseEffect(() => {\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\n\t\t\tconsole.log('wipSettingsData: ', wipSettingsData);\n\t\t\tconst _new = props.menu.filter((item) => {\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\n\t\t\t\t\treturn item.label !== 'Plans';\n\t\t\t\t} else {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetManufacturingSubmenu(_new);\n\t\t}\n\t}, [wipSettingsData, props.menu]);\n\t// const module_type = '';\n\n\tconst handleMouseEnter = () => {\n\t\tif (!forcedOpen) {\n\t\t\t// setOpen(true);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t}\n\t};\n\n\tconst handleMouseLeave = useCallback(() => {\n\t\tif (!forcedOpen && isInitialized) {\n\t\t\tsetHoverOpen(false);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\n\t\t}\n\t}, [forcedOpen, isInitialized]);\n\n\t// Toggle function for programmatic control\n\tconst toggleDrawer = useCallback(() => {\n\t\tif (forcedOpen) {\n\t\t\thandleDrawerClose();\n\t\t} else {\n\t\t\thandleDrawerOpen();\n\t\t}\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\n\n\t// Enhanced initialization with error handling\n\tuseEffect(() => {\n\t\tconst initializeDrawerState = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t} else {\n\t\t\t\t\t// Fallback for environments without localStorage\n\t\t\t\t\tsetForcedOpen(true);\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\n\t\t\t\t// Fallback to default state\n\t\t\t\tsetForcedOpen(true);\n\t\t\t\tsetIsInitialized(true);\n\t\t\t}\n\t\t};\n\n\t\tinitializeDrawerState();\n\t}, []);\n\n\t// Handle window focus to sync state across tabs\n\tuseEffect(() => {\n\t\tconst handleWindowFocus = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\t\tsetHoverOpen(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('focus', handleWindowFocus);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\n\t\t};\n\t}, [forcedOpen]);\n\n\t// Prevent rendering until initialization is complete\n\tif (!isInitialized) {\n\t\treturn (\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tminHeight: '100vh',\n\t\t\t\t\talignItems: 'center',\n\t\t\t\t\tjustifyContent: 'center'\n\t\t\t\t}}>\n\t\t\t\t{/* Optional loading indicator */}\n\t\t\t\t<Box>Loading...</Box>\n\t\t\t</Box>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tminHeight: '100vh',\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\n\t\t\t}}>\n\t\t\t<AppBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t/>\n\n\t\t\t<SideBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\ttheme={theme}\n\t\t\t\tmenu={manufacturingSubmenu}\n\t\t\t\thandleMouseEnter={handleMouseEnter}\n\t\t\t\thandleMouseLeave={handleMouseLeave}\n\t\t\t\tisInitialized={isInitialized}\n\t\t\t\tdashboardPath={props.dashboardPath}\n\t\t\t/>\n\n\t\t\t<ActivityArea\n\t\t\t\tisDrawerOpen={isDrawerOpen}\n\t\t\t\tdrawerWidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}>\n\t\t\t\t{props.children}\n\t\t\t</ActivityArea>\n\t\t\t<ChatBot />\n\t\t</Box>\n\t);\n};\n\nexport default SidebarLayout;\n"],"names":["useTheme","useLanguage","useMemo","useState","useLocation","useCallback","getToken","getV1Settings","useEffect","jsx","Box","jsxs","AppBar","drawerWidth","SideBar","ActivityArea","ChatBot"],"mappings":";;;;;;;;;;AAkBA,MAAM,mBAAmB;AASlB,MAAM,gBAAgB,CAAC,UAA+B;AAC5D,QAAM,QAAQA,OAAAA,SAAA;AACd,QAAM,EAAE,gBAAA,IAAoBC,wBAAA;AAC5B,QAAM,QAAQC,MAAAA;AAAAA,IACb,OAAM,mDAAiB,eAAc;AAAA,IACrC,CAAC,eAAe;AAAA,EAAA;AAGjB,QAAM,CAAC,YAAY,aAAa,IAAIC,MAAAA,SAAS,IAAI;AACjD,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAS,KAAK;AACxD,QAAM,WAAWC,eAAAA,YAAA;AACjB,QAAM,cAAcF,MAAAA,QAAQ,MAAM,SAAS,UAAU,CAAC,SAAS,QAAQ,CAAC;AAGxE,QAAM,eAAe,cAAe,CAAC,cAAc;AAGnD,QAAM,mBAAmBG,MAAAA,YAAY,MAAM;AAC1C,kBAAc,IAAI;AAClB,iBAAa,KAAK;AAClB,QAAI;AACH,aAAO,aAAa,QAAQ,kBAAkB,MAAM;AAAA,IACrD,SAAS,OAAO;AACf,cAAQ,KAAK,gDAAgD,KAAK;AAAA,IACnE;AAAA,EACD,GAAG,CAAA,CAAE;AAEL,QAAM,oBAAoBA,MAAAA,YAAY,MAAM;AAC3C,kBAAc,KAAK;AACnB,WAAO,aAAa,QAAQ,mBAAmB,OAAO;AAAA,EACvD,GAAG,CAAA,CAAE;AAEL,QAAM,CAAC,iBAAiB,kBAAkB,IAAIF,MAAAA,SAAc,IAAI;AAEhE,QAAM,cAAcE,MAAAA,YAAY,YAAY;;AAE3C,UAAM,YAAYC,OAAAA,SAAA;AAClB,UAAM,YAAY;AAAA,MACjB,WAAW,UAAU,SAAS;AAAA,MAC9B,cAAc,OAAO,UAAU,YAAY,CAAC;AAAA,IAAA;AAE7C,UAAM,WAAW,MAAMC,IAAAA,cAAc,SAAS;AAE9C,UAAM,OAAQ,cAAa,gDAAkB,SAAlB,mBAAwB,aAAxB,mBAAmC,OAAO;AACrE,uBAAmB,IAAI;AACvB,iBAAa,QAAQ,qBAAqB,KAAK,UAAU,IAAI,CAAC;AAAA,EAC/D,GAAG,CAAA,CAAE;AACLC,QAAAA,UAAU,MAAM;AACf,QAAG,2CAAa,SAAS,kBAAkB;AAC1C,kBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,aAAa,WAAW,CAAC;AAE7B,QAAM,CAAC,sBAAsB,uBAAuB,IAAIL,MAAAA;AAAAA,IACvD,MAAM;AAAA,EAAA;AAGPK,QAAAA,UAAU,MAAM;AACf,QAAI,mBAAmB,MAAM,QAAQ,+BAAO,IAAI,GAAG;AAClD,cAAQ,IAAI,qBAAqB,eAAe;AAChD,YAAM,OAAO,MAAM,KAAK,OAAO,CAAC,SAAS;AACxC,YAAI,EAAC,mDAAiB,6BAA4B;AACjD,iBAAO,KAAK,UAAU;AAAA,QACvB,OAAO;AACN,iBAAO;AAAA,QACR;AAAA,MACD,CAAC;AACD,8BAAwB,IAAI;AAAA,IAC7B;AAAA,EACD,GAAG,CAAC,iBAAiB,MAAM,IAAI,CAAC;AAGhC,QAAM,mBAAmB,MAAM;AAC9B,QAAI,CAAC,YAAY;AAEhB,aAAO,aAAa,QAAQ,kBAAkB,MAAM;AAAA,IACrD;AAAA,EACD;AAEA,QAAM,mBAAmBH,MAAAA,YAAY,MAAM;AAC1C,QAAI,CAAC,cAAc,eAAe;AACjC,mBAAa,KAAK;AAClB,aAAO,aAAa,QAAQ,kBAAkB,OAAO;AAAA,IACtD;AAAA,EACD,GAAG,CAAC,YAAY,aAAa,CAAC;AAG9B,QAAM,eAAeA,MAAAA,YAAY,MAAM;AACtC,QAAI,YAAY;AACf,wBAAA;AAAA,IACD,OAAO;AACN,uBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,YAAY,mBAAmB,gBAAgB,CAAC;AAGpDG,QAAAA,UAAU,MAAM;AACf,UAAM,wBAAwB,MAAM;AACnC,UAAI;AACH,YAAI,OAAO,WAAW,eAAe,OAAO,cAAc;AACzD,gBAAM,aAAa,OAAO,aAAa,QAAQ,gBAAgB;AAC/D,gBAAM,eAAe,eAAe;AAEpC,wBAAc,YAAY;AAC1B,uBAAa,KAAK;AAClB,2BAAiB,IAAI;AAAA,QACtB,OAAO;AAEN,wBAAc,IAAI;AAClB,2BAAiB,IAAI;AAAA,QACtB;AAAA,MACD,SAAS,OAAO;AACf,gBAAQ,KAAK,kDAAkD,KAAK;AAEpE,sBAAc,IAAI;AAClB,yBAAiB,IAAI;AAAA,MACtB;AAAA,IACD;AAEA,0BAAA;AAAA,EACD,GAAG,CAAA,CAAE;AAGLA,QAAAA,UAAU,MAAM;AACf,UAAM,oBAAoB,MAAM;AAC/B,UAAI;AACH,YAAI,OAAO,WAAW,eAAe,OAAO,cAAc;AACzD,gBAAM,aAAa,OAAO,aAAa,QAAQ,gBAAgB;AAC/D,gBAAM,eAAe,eAAe;AAEpC,cAAI,iBAAiB,YAAY;AAChC,0BAAc,YAAY;AAC1B,yBAAa,KAAK;AAAA,UACnB;AAAA,QACD;AAAA,MACD,SAAS,OAAO;AACf,gBAAQ,KAAK,gDAAgD,KAAK;AAAA,MACnE;AAAA,IACD;AAEA,WAAO,iBAAiB,SAAS,iBAAiB;AAElD,WAAO,MAAM;AACZ,aAAO,oBAAoB,SAAS,iBAAiB;AAAA,IACtD;AAAA,EACD,GAAG,CAAC,UAAU,CAAC;AAGf,MAAI,CAAC,eAAe;AACnB,WACCC,2BAAAA,kBAAAA;AAAAA,MAACC,OAAAA;AAAAA,MAAA;AAAA,QACA,IAAI;AAAA,UACH,SAAS;AAAA,UACT,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,gBAAgB;AAAA,QAAA;AAAA,QAGjB,UAAAD,2BAAAA,kBAAAA,IAACC,OAAAA,OAAI,UAAA,aAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAGlB;AAEA,SACCC,2BAAAA,kBAAAA;AAAAA,IAACD,OAAAA;AAAAA,IAAA;AAAA,MACA,IAAI;AAAA,QACH,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW,QAAQ,QAAQ;AAAA,MAAA;AAAA,MAE5B,UAAA;AAAA,QAAAD,2BAAAA,kBAAAA;AAAAA,UAACG,OAAAA;AAAAA,UAAA;AAAA,YACA,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAOC,cAAAA;AAAAA,YACP;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGDJ,2BAAAA,kBAAAA;AAAAA,UAACK,QAAAA;AAAAA,UAAA;AAAA,YACA,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAOD,cAAAA;AAAAA,YACP;AAAA,YACA,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAe,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,QAGtBJ,2BAAAA,kBAAAA;AAAAA,UAACM,OAAAA;AAAAA,UAAA;AAAA,YACA;AAAA,YAAA,aACAF,cAAAA;AAAAA,YACA;AAAA,YACC,UAAA,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,yDAEPG,OAAAA,SAAA,CAAA,CAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGZ;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSlice, createAsyncThunk, configureStore, combineReducers } from "@reduxjs/toolkit";
|
|
2
|
-
import { g as getAllUserAndDepartmentDropdown, f as formBuilderListSlice, a as dashboardSlice } from "./reducer-
|
|
2
|
+
import { g as getAllUserAndDepartmentDropdown, f as formBuilderListSlice, a as dashboardSlice } from "./reducer-D6_f0R4C.esm.js";
|
|
3
3
|
import { a5 as getV1Languages, G as getV1Company, a2 as getV1InventoryItems, aS as getV1WarehouseLocation, n as getV1AssemblyItems, u as getV1BillsOfMaterials } from "./api-BF3CyrPB.esm.js";
|
|
4
|
-
import { aw as getToken, ab as getErrorMessage } from "./common-
|
|
4
|
+
import { aw as getToken, ab as getErrorMessage } from "./common-D59u5rE6.esm.js";
|
|
5
5
|
const state$3 = {
|
|
6
6
|
users: [],
|
|
7
7
|
departments: [],
|
|
@@ -387,4 +387,4 @@ export {
|
|
|
387
387
|
removeLibraryReducer as r,
|
|
388
388
|
store as s
|
|
389
389
|
};
|
|
390
|
-
//# sourceMappingURL=store-
|
|
390
|
+
//# sourceMappingURL=store-OqHSsVaz.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-C2XaFCA_.esm.js","sources":["../../src/components/share-modal/redux/state.ts","../../src/components/share-modal/redux/reducer.ts","../../src/components/header/redux/state.ts","../../src/components/header/redux/actionCreator.ts","../../src/components/header/redux/reducer.ts","../../src/components/reports-title-bar/redux/state.ts","../../src/components/reports-title-bar/redux/actionCreator.ts","../../src/components/reports-title-bar/redux/reducer.ts","../../src/components/inventory-reports-title-bar/redux/state.ts","../../src/components/inventory-reports-title-bar/redux/actionCreator.ts","../../src/components/inventory-reports-title-bar/redux/reducer.ts","../../src/redux/store.ts"],"sourcesContent":["export const state = {\n users: [],\n departments: [],\n loading: true,\n error: \"\",\n isError: false,\n};\n\nexport default state;\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { getAllUserAndDepartmentDropdown } from \"./actionCreator\";\n\nexport const shareSlice = createSlice({\n name: \"share\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n /*-------------------------------- get share drive Pending State ---------------------------------*/\n\n builder.addCase(getAllUserAndDepartmentDropdown.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.users = [];\n state.departments = [];\n state.isError = false;\n });\n\n /*-------------------------------- get share drive fullfiled State ---------------------------------*/\n builder.addCase(\n getAllUserAndDepartmentDropdown.fulfilled,\n (state, action) => {\n state.loading = false;\n state.users = action.payload?.data?.users?.map((user: any) => ({\n ...user,\n label: `${user.first_name} ${user.last_name}`,\n value: user.id,\n }));\n state.departments = action.payload?.data?.roles?.map((role: any) => ({\n ...role,\n label: role.name,\n value: role.id,\n }));\n state.error = \"\";\n state.isError = false;\n },\n );\n\n /*-------------------------------- get share drive Rejected State ---------------------------------*/\n builder.addCase(\n getAllUserAndDepartmentDropdown.rejected,\n (state, action) => {\n state.loading = false;\n state.error = action.error.message || \"\";\n state.isError = true;\n },\n );\n },\n});\n\nexport default shareSlice.reducer;\n","export const state = {\n\tlanguagesData: {\n\t\tisLoading: false,\n\t\tisError: false,\n\t\terror: '',\n\t\tdata: [],\n\t},\n\tcurrentLanguage: {\n\t\tlabel: 'English',\n\t\tcode: 'en',\n\t\tdirection: 'ltr',\n\t},\n}\n\nexport default state\n","import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getV1Languages } from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const fetchLanguages = createAsyncThunk(\n \"header/language/get\",\n async () => {\n const response = await getV1Languages({\n order: `id:1`,\n ...getToken(),\n });\n const data = response?.data?.languages || [];\n const languages = data?.filter(d => d?.is_active)?.map(d => {\n return {\n label: d?.name,\n code: d?.code,\n direction: d?.direction\n }\n },\n );\n return { languages }\n });\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { fetchLanguages } from \"./actionCreator\";\nimport { getErrorMessage } from \"../../../utils/common\";\n\nexport const headerSlice = createSlice({\n name: \"header\",\n initialState,\n reducers: {\n setLanguages(state, { payload }) {\n\t\t\tstate.languagesData = { ...state.languagesData, ...payload };\n\t\t},\n setCurrentLanguage(state, { payload }) {\n\t\t\tstate.currentLanguage = { ...state.currentLanguage, ...payload };\n\t\t},\n },\n extraReducers: (builder) => {\n /*-------------------------------- GET LANGUAGES ---------------------------------*/\n builder.addCase(fetchLanguages.pending, (state) => {\n state.languagesData = {\n isLoading: true,\n isError: false,\n error: '',\n data: [],\n }\n }).addCase(fetchLanguages.fulfilled, (state, { payload }) => {\n state.languagesData = {\n isLoading: false,\n isError: false,\n error: '',\n data: payload.languages || [],\n }\n },\n ).addCase(fetchLanguages.rejected, (state, { error }) => {\n const m = getErrorMessage(error.message);\n state.languagesData = {\n isLoading: false,\n isError: true,\n error: m,\n data: [],\n }\n },\n );\n },\n});\n\nexport const { setLanguages, setCurrentLanguage } = headerSlice.actions;\n\nexport default headerSlice.reducer;\n","export interface IReportsTitleBarState {\n companies: any[];\n isLoading: boolean;\n error: string;\n isError: boolean;\n}\n\nexport const state: IReportsTitleBarState = {\n companies: [],\n isLoading: true,\n error: \"\",\n isError: false,\n};\n\nexport default state;\n","import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getToken } from '../../../utils/common';\nimport {\n getV1Company,\n} from \"../../../api-client/api.rbac/api\";\n\n\n\nexport const fetchCompanies = createAsyncThunk(\n \"reports-title/fetchCompanies\",\n async () => {\n const response = await getV1Company({ ...getToken() });\n return response;\n }\n);\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { fetchCompanies } from \"./actionCreator\";\n\nexport const reportsTitleBarSlice = createSlice({\n name: \"reportsTitleBar\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n /*-------------------------------- get share drive Pending State ---------------------------------*/\n builder.addCase(fetchCompanies.pending, (state) => {\n state.isLoading = true;\n state.error = \"\";\n state.companies = [];\n });\n builder.addCase(fetchCompanies.fulfilled, (state, action) => {\n state.companies = action.payload?.data?.company;\n state.isLoading = false;\n state.isError = false;\n state.error = \"\";\n });\n builder.addCase(fetchCompanies.rejected, (state, action) => {\n state.isLoading = false;\n state.error = action.error.message || \"\";\n state.isError = true;\n });\n },\n});\n\nexport default reportsTitleBarSlice.reducer;\n","export interface IReportsTitleBarState {\n companies: any[];\n items: any[];\n warehouseLocations: any[];\n isLoading: boolean;\n error: string;\n isError: boolean;\n assemblyItems: any[];\n bomData: any[\n\n ]\n}\n\nexport const state: IReportsTitleBarState = {\n companies: [],\n items: [],\n warehouseLocations: [],\n isLoading: true,\n assemblyItems: [],\n bomData: [],\n error: \"\",\n isError: false,\n};\n\nexport default state;\n","import { getToken } from '../../../utils/common';\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nimport {\n getV1Company,\n} from \"../../../api-client/api.rbac/api\";\nimport { getV1AssemblyItems, getV1InventoryItems, getV1WarehouseLocation } from \"../../../api-client/api.inventory/api\";\nimport { getV1BillsOfMaterials } from \"../../../api-client/api.manufacturing/api\";\n\n\n\nexport const fetchOptions = createAsyncThunk(\n \"reports-title/fetchOptions\",\n async () => {\n const i = await handleFetchItem();\n const c = await handleFetchCompanies();\n const wl = await handleFetchWarehouseLocations();\n const ai = await fetchAssemblyItems();\n return { i, c, wl, ai };\n }\n);\nexport const fetchBom = createAsyncThunk(\n \"reports-title/fetchBom\",\n async () => {\n const bom = await fetchBomData();\n return bom\n }\n);\n\nexport const handleFetchCompanies = async () => {\n try {\n const response = await getV1Company({ ...getToken() });\n\n return response?.data?.company\n } catch (error) {\n return [];\n }\n};\n\nexport const handleFetchItem = async () => {\n try {\n const response = await getV1InventoryItems({\n ...getToken(),\n skip: 0,\n limit: 999,\n filters: `(type.eq=inventory|type.eq=assembly&is_variant.eq=false|self_variant.eq=true)`,\n });\n\n return response?.data?.inventoryItemsList\n } catch (error) {\n return [];\n }\n};\n\nexport const handleFetchWarehouseLocations = async () => {\n try {\n const response = await getV1WarehouseLocation({\n ...getToken(),\n skip: 0,\n limit: 999,\n });\n\n\n return response?.data?.warehouseLocationList\n } catch (error) {\n return [];\n }\n};\n\n\nexport const fetchAssemblyItems = async () => {\n try {\n const response: any = await getV1AssemblyItems({\n ...getToken(),\n skip: 0,\n limit: 999,\n }\n )\n return response?.data?.assemblyItemsList\n } catch (error: any) {\n return []\n }\n}\n\nconst fetchBomData = async () => {\n try {\n const response: any = await getV1BillsOfMaterials({\n skip: 0,\n limit: 99999,\n ...getToken()\n })\n\n return response?.data?.bom_list\n } catch (error) {\n return []\n }\n}","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { fetchBom, fetchOptions } from \"./actionCreator\";\n\nexport const inventoryReportsTitleBarSlice = createSlice({\n name: \"inventoryReportsTitleBar\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n /*-------------------------------- get share drive Pending State ---------------------------------*/\n builder.addCase(fetchOptions.pending, (state) => {\n state.companies = [];\n state.items = [];\n state.warehouseLocations = [];\n state.assemblyItems = []\n state.isLoading = true;\n state.error = \"\";\n });\n builder.addCase(fetchOptions.fulfilled, (state, action) => {\n\n state.companies = action.payload?.c;\n state.items = action.payload?.i;\n state.warehouseLocations = action.payload?.wl;\n state.assemblyItems = action.payload?.ai;\n state.isLoading = false;\n state.isError = false;\n state.error = \"\";\n\n });\n builder.addCase(fetchOptions.rejected, (state, action) => {\n state.isLoading = false;\n state.error = action.error.message || \"\";\n state.isError = true;\n });\n builder.addCase(fetchBom.fulfilled, (state, action) => {\n state.bomData = action.payload?.bom;\n });\n },\n});\n\nexport default inventoryReportsTitleBarSlice.reducer;\n","import { configureStore, combineReducers, AnyAction } from '@reduxjs/toolkit';\nimport { LibraryReduxSlices } from './types';\nimport { shareSlice } from '../components/share-modal/redux/reducer';\nimport { headerSlice } from '../components/header/redux/reducer';\nimport { reportsTitleBarSlice } from '../components/reports-title-bar/redux/reducer';\nimport { inventoryReportsTitleBarSlice } from '../components/inventory-reports-title-bar/redux/reducer';\nimport { dashboardSlice } from '../views/afterAuth/dashboard/redux/reducer';\nimport { formBuilderListSlice } from '../views/form-builder/redux/reducer';\n\n// Default library reducers\nexport const libraryReducers = {\n share: shareSlice.reducer,\n header: headerSlice.reducer,\n reportsTitleBar: reportsTitleBarSlice.reducer,\n inventoryReportsTitleBar: inventoryReportsTitleBarSlice.reducer,\n dashboard: dashboardSlice.reducer,\n formBuilder: formBuilderListSlice.reducer,\n};\n\nexport type ReducerFn<State = Record<string, unknown>> = (\n state: State | undefined,\n action: AnyAction\n) => State;\ntype ReducerMap = Record<string, ReducerFn>;\n\nexport type ReducerManager = {\n getReducers: () => ReducerMap;\n reduce: ReducerFn;\n add: (key: string, reducer: ReducerFn) => void;\n remove: (key: string) => void;\n};\n\nconst createReducerManager = (initialReducers: ReducerMap): ReducerManager => {\n let reducers = { ...initialReducers };\n let combinedReducer = combineReducers(reducers);\n let keysToRemove: string[] = [];\n\n return {\n getReducers: () => ({ ...reducers }),\n reduce: (state: any, action: AnyAction) => {\n if (keysToRemove.length) {\n state = { ...state };\n keysToRemove.forEach((key) => delete state[key]);\n keysToRemove = [];\n }\n return combinedReducer(state, action);\n },\n add: (key: string, reducer: ReducerFn) => {\n if (!key || reducers[key]) return;\n reducers = { ...reducers, [key]: reducer };\n combinedReducer = combineReducers(reducers);\n },\n remove: (key: string) => {\n if (!key || !reducers[key]) return;\n const { [key]: _, ...rest } = reducers;\n reducers = rest;\n keysToRemove.push(key);\n combinedReducer = combineReducers(reducers);\n },\n };\n};\n\ntype ReducerInjectorStore = ReturnType<typeof configureStore> & {\n reducerManager: ReducerManager;\n injectReducer: (key: string, reducer: ReducerFn) => void;\n removeReducer: (key: string) => void;\n};\n\n// Helper function to create a store with library slices\nexport const createLibraryStore = (\n additionalReducers: Record<string, any> = {},\n apiClient?: any,\n middleware: any[] = []\n) => {\n const reducerManager = createReducerManager({\n ...libraryReducers,\n ...additionalReducers,\n });\n\n const store = configureStore({\n reducer: reducerManager.reduce,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n thunk: {\n extraArgument: { apiClient },\n },\n }).concat(middleware),\n });\n\n const reducerEnabledStore: ReducerInjectorStore = {\n ...store,\n reducerManager,\n injectReducer: (key: string, reducer: ReducerFn) => {\n reducerManager.add(key, reducer);\n store.replaceReducer(reducerManager.reduce);\n },\n removeReducer: (key: string) => {\n reducerManager.remove(key);\n store.replaceReducer(reducerManager.reduce);\n },\n };\n\n return reducerEnabledStore;\n};\n\n// Helper function to get just the library slices for integration with existing stores\nexport const getLibrarySlices = (): LibraryReduxSlices => {\n return {\n share: shareSlice.reducer,\n header: headerSlice.reducer,\n reportsTitleBar: reportsTitleBarSlice.reducer,\n inventoryReportsTitleBar: inventoryReportsTitleBarSlice.reducer,\n dashboard: dashboardSlice.reducer,\n formBuilder: formBuilderListSlice.reducer,\n };\n};\n\n// Type for the library store\nexport type LibraryStore = ReturnType<typeof createLibraryStore>;\nexport type LibraryRootState = ReturnType<LibraryStore['getState']>;\nexport type LibraryDispatch = LibraryStore['dispatch'];\n\n// Default store instance for consumers that want a ready-to-use store\nexport const store: LibraryStore = createLibraryStore();\n\n// Helpers for consuming apps to inject or remove reducers at runtime\nexport const injectLibraryReducer = (\n store: LibraryStore,\n key: string,\n reducer: ReducerFn\n) => {\n if (typeof store.injectReducer === 'function') {\n store.injectReducer(key, reducer);\n }\n};\n\nexport const removeLibraryReducer = (store: LibraryStore, key: string) => {\n if (typeof store.removeReducer === 'function') {\n store.removeReducer(key);\n }\n};"],"names":["state","initialState","store"],"mappings":";;;;AAAO,MAAMA,UAAQ;AAAA,EACnB,OAAO,CAAA;AAAA,EACP,aAAa,CAAA;AAAA,EACb,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;ACFO,MAAM,aAAa,YAAY;AAAA,EACpC,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU,CAAA;AAAA,EACV,eAAe,CAAC,YAAY;AAG1B,YAAQ,QAAQ,gCAAgC,SAAS,CAACD,WAAU;AAClE,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,QAAQ,CAAA;AACd,MAAAA,OAAM,cAAc,CAAA;AACpB,MAAAA,OAAM,UAAU;AAAA,IAClB,CAAC;AAGD,YAAQ;AAAA,MACN,gCAAgC;AAAA,MAChC,CAACA,QAAO,WAAW;;AACjB,QAAAA,OAAM,UAAU;AAChB,QAAAA,OAAM,SAAQ,wBAAO,YAAP,mBAAgB,SAAhB,mBAAsB,UAAtB,mBAA6B,IAAI,CAAC,UAAe;AAAA,UAC7D,GAAG;AAAA,UACH,OAAO,GAAG,KAAK,UAAU,IAAI,KAAK,SAAS;AAAA,UAC3C,OAAO,KAAK;AAAA,QAAA;AAEd,QAAAA,OAAM,eAAc,wBAAO,YAAP,mBAAgB,SAAhB,mBAAsB,UAAtB,mBAA6B,IAAI,CAAC,UAAe;AAAA,UACnE,GAAG;AAAA,UACH,OAAO,KAAK;AAAA,UACZ,OAAO,KAAK;AAAA,QAAA;AAEd,QAAAA,OAAM,QAAQ;AACd,QAAAA,OAAM,UAAU;AAAA,MAClB;AAAA,IAAA;AAIF,YAAQ;AAAA,MACN,gCAAgC;AAAA,MAChC,CAACA,QAAO,WAAW;AACjB,QAAAA,OAAM,UAAU;AAChB,QAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AACtC,QAAAA,OAAM,UAAU;AAAA,MAClB;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;AAEc,WAAW;ACnDnB,MAAMA,UAAQ;AAAA,EACpB,eAAe;AAAA,IACd,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM,CAAA;AAAA,EAAC;AAAA,EAER,iBAAiB;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EAAA;AAEb;ACRO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;;AACV,UAAM,WAAW,MAAM,eAAe;AAAA,MACpC,OAAO;AAAA,MACP,GAAG,SAAA;AAAA,IAAS,CACb;AACD,UAAM,SAAO,0CAAU,SAAV,mBAAgB,cAAa,CAAA;AAC1C,UAAM,aAAY,kCAAM,OAAO,CAAA,MAAK,uBAAG,eAArB,mBAAiC;AAAA,MAAI,CAAA,MAAK;AAC1D,eAAO;AAAA,UACL,OAAO,uBAAG;AAAA,UACV,MAAM,uBAAG;AAAA,UACT,WAAW,uBAAG;AAAA,QAAA;AAAA,MAElB;AAAA;AAEA,WAAO,EAAE,UAAA;AAAA,EACX;AAAC;AChBI,MAAM,cAAc,YAAY;AAAA,EACrC,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU;AAAA,IACR,aAAaD,QAAO,EAAE,WAAW;AAClC,MAAAA,OAAM,gBAAgB,EAAE,GAAGA,OAAM,eAAe,GAAG,QAAA;AAAA,IACpD;AAAA,IACE,mBAAmBA,QAAO,EAAE,WAAW;AACxC,MAAAA,OAAM,kBAAkB,EAAE,GAAGA,OAAM,iBAAiB,GAAG,QAAA;AAAA,IACxD;AAAA,EAAA;AAAA,EAEA,eAAe,CAAC,YAAY;AAE1B,YAAQ,QAAQ,eAAe,SAAS,CAACA,WAAU;AACjD,MAAAA,OAAM,gBAAgB;AAAA,QACpB,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,EAAE;AAAA,MAAQ,eAAe;AAAA,MAAW,CAACA,QAAO,EAAE,cAAc;AACzD,QAAAA,OAAM,gBAAgB;AAAA,UACpB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAO;AAAA,UACP,MAAM,QAAQ,aAAa,CAAA;AAAA,QAAC;AAAA,MAEhC;AAAA,IAAA,EACA;AAAA,MAAQ,eAAe;AAAA,MAAU,CAACA,QAAO,EAAE,YAAY;AACrD,cAAM,IAAI,gBAAgB,MAAM,OAAO;AACvC,QAAAA,OAAM,gBAAgB;AAAA,UACpB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAO;AAAA,UACP,MAAM,CAAA;AAAA,QAAC;AAAA,MAEX;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;AAEM,MAAM,EAAE,cAAc,uBAAuB,YAAY;AAEjD,YAAY;ACzCpB,MAAMA,UAA+B;AAAA,EAC1C,WAAW,CAAA;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AACX;ACJO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,aAAa,EAAE,GAAG,SAAA,GAAY;AACrD,WAAO;AAAA,EACT;AACF;ACVO,MAAM,uBAAuB,YAAY;AAAA,EAC9C,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU,CAAA;AAAA,EACV,eAAe,CAAC,YAAY;AAE1B,YAAQ,QAAQ,eAAe,SAAS,CAACD,WAAU;AACjD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,YAAY,CAAA;AAAA,IACpB,CAAC;AACD,YAAQ,QAAQ,eAAe,WAAW,CAACA,QAAO,WAAW;;AAC3D,MAAAA,OAAM,aAAY,kBAAO,YAAP,mBAAgB,SAAhB,mBAAsB;AACxC,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AACD,YAAQ,QAAQ,eAAe,UAAU,CAACA,QAAO,WAAW;AAC1D,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AACtC,MAAAA,OAAM,UAAU;AAAA,IAClB,CAAC;AAAA,EACH;AACF,CAAC;AAEc,qBAAqB;AChB7B,MAAM,QAA+B;AAAA,EAC1C,WAAW,CAAA;AAAA,EACX,OAAO,CAAA;AAAA,EACP,oBAAoB,CAAA;AAAA,EACpB,WAAW;AAAA,EACX,eAAe,CAAA;AAAA,EACf,SAAS,CAAA;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;ACXO,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA,YAAY;AACV,UAAM,IAAI,MAAM,gBAAA;AAChB,UAAM,IAAI,MAAM,qBAAA;AAChB,UAAM,KAAK,MAAM,8BAAA;AACjB,UAAM,KAAK,MAAM,mBAAA;AACjB,WAAO,EAAE,GAAG,GAAG,IAAI,GAAA;AAAA,EACrB;AACF;AACO,MAAM,WAAW;AAAA,EACtB;AAAA,EACA,YAAY;AACV,UAAM,MAAM,MAAM,aAAA;AAClB,WAAO;AAAA,EACT;AACF;AAEO,MAAM,uBAAuB,YAAY;;AAC9C,MAAI;AACF,UAAM,WAAW,MAAM,aAAa,EAAE,GAAG,SAAA,GAAY;AAErD,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB,YAAY;;AACzC,MAAI;AACF,UAAM,WAAW,MAAM,oBAAoB;AAAA,MACzC,GAAG,SAAA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,CACV;AAED,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AAEO,MAAM,gCAAgC,YAAY;;AACvD,MAAI;AACF,UAAM,WAAW,MAAM,uBAAuB;AAAA,MAC5C,GAAG,SAAA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,IAAA,CACR;AAGD,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AAGO,MAAM,qBAAqB,YAAY;;AAC5C,MAAI;AACF,UAAM,WAAgB,MAAM;AAAA,MAAmB;AAAA,QAC7C,GAAG,SAAA;AAAA,QACH,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAEA,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAY;AACnB,WAAO,CAAA;AAAA,EACT;AACF;AAEA,MAAM,eAAe,YAAY;;AAC/B,MAAI;AACF,UAAM,WAAgB,MAAM,sBAAsB;AAAA,MAChD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,GAAG,SAAA;AAAA,IAAS,CACb;AAED,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AC5FO,MAAM,gCAAgC,YAAY;AAAA,EACvD,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU,CAAA;AAAA,EACV,eAAe,CAAC,YAAY;AAE1B,YAAQ,QAAQ,aAAa,SAAS,CAACD,WAAU;AAC/C,MAAAA,OAAM,YAAY,CAAA;AAClB,MAAAA,OAAM,QAAQ,CAAA;AACd,MAAAA,OAAM,qBAAqB,CAAA;AAC3B,MAAAA,OAAM,gBAAgB,CAAA;AACtB,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AACD,YAAQ,QAAQ,aAAa,WAAW,CAACA,QAAO,WAAW;;AAEzD,MAAAA,OAAM,aAAY,YAAO,YAAP,mBAAgB;AAClC,MAAAA,OAAM,SAAQ,YAAO,YAAP,mBAAgB;AAC9B,MAAAA,OAAM,sBAAqB,YAAO,YAAP,mBAAgB;AAC3C,MAAAA,OAAM,iBAAgB,YAAO,YAAP,mBAAgB;AACtC,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AAAA,IAEhB,CAAC;AACD,YAAQ,QAAQ,aAAa,UAAU,CAACA,QAAO,WAAW;AACxD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AACtC,MAAAA,OAAM,UAAU;AAAA,IAClB,CAAC;AACD,YAAQ,QAAQ,SAAS,WAAW,CAACA,QAAO,WAAW;;AACrD,MAAAA,OAAM,WAAU,YAAO,YAAP,mBAAgB;AAAA,IAClC,CAAC;AAAA,EACH;AACF,CAAC;AAEc,8BAA8B;AC9BtC,MAAM,kBAAkB;AAAA,EAC7B,OAAO,WAAW;AAAA,EAClB,QAAQ,YAAY;AAAA,EACpB,iBAAiB,qBAAqB;AAAA,EACtC,0BAA0B,8BAA8B;AAAA,EACxD,WAAW,eAAe;AAAA,EAC1B,aAAa,qBAAqB;AACpC;AAeA,MAAM,uBAAuB,CAAC,oBAAgD;AAC5E,MAAI,WAAW,EAAE,GAAG,gBAAA;AACpB,MAAI,kBAAkB,gBAAgB,QAAQ;AAC9C,MAAI,eAAyB,CAAA;AAE7B,SAAO;AAAA,IACL,aAAa,OAAO,EAAE,GAAG;IACzB,QAAQ,CAACA,QAAY,WAAsB;AACzC,UAAI,aAAa,QAAQ;AACvB,QAAAA,SAAQ,EAAE,GAAGA,OAAA;AACb,qBAAa,QAAQ,CAAC,QAAQ,OAAOA,OAAM,GAAG,CAAC;AAC/C,uBAAe,CAAA;AAAA,MACjB;AACA,aAAO,gBAAgBA,QAAO,MAAM;AAAA,IACtC;AAAA,IACA,KAAK,CAAC,KAAa,YAAuB;AACxC,UAAI,CAAC,OAAO,SAAS,GAAG,EAAG;AAC3B,iBAAW,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,QAAA;AACjC,wBAAkB,gBAAgB,QAAQ;AAAA,IAC5C;AAAA,IACA,QAAQ,CAAC,QAAgB;AACvB,UAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAG;AAC5B,YAAM,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS;AAC9B,iBAAW;AACX,mBAAa,KAAK,GAAG;AACrB,wBAAkB,gBAAgB,QAAQ;AAAA,IAC5C;AAAA,EAAA;AAEJ;AASO,MAAM,qBAAqB,CAChC,qBAA0C,CAAA,GAC1C,WACA,aAAoB,CAAA,MACjB;AACH,QAAM,iBAAiB,qBAAqB;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,EAAA,CACJ;AAED,QAAME,SAAQ,eAAe;AAAA,IAC3B,SAAS,eAAe;AAAA,IACxB,YAAY,CAAC,yBACX,qBAAqB;AAAA,MACnB,OAAO;AAAA,QACL,eAAe,EAAE,UAAA;AAAA,MAAU;AAAA,IAC7B,CACD,EAAE,OAAO,UAAU;AAAA,EAAA,CACvB;AAED,QAAM,sBAA4C;AAAA,IAChD,GAAGA;AAAAA,IACH;AAAA,IACA,eAAe,CAAC,KAAa,YAAuB;AAClD,qBAAe,IAAI,KAAK,OAAO;AAC/BA,aAAM,eAAe,eAAe,MAAM;AAAA,IAC5C;AAAA,IACA,eAAe,CAAC,QAAgB;AAC9B,qBAAe,OAAO,GAAG;AACzBA,aAAM,eAAe,eAAe,MAAM;AAAA,IAC5C;AAAA,EAAA;AAGF,SAAO;AACT;AAGO,MAAM,mBAAmB,MAA0B;AACxD,SAAO;AAAA,IACL,OAAO,WAAW;AAAA,IAClB,QAAQ,YAAY;AAAA,IACpB,iBAAiB,qBAAqB;AAAA,IACtC,0BAA0B,8BAA8B;AAAA,IACxD,WAAW,eAAe;AAAA,IAC1B,aAAa,qBAAqB;AAAA,EAAA;AAEtC;AAQO,MAAM,QAAsB,mBAAA;AAG5B,MAAM,uBAAuB,CAClCA,QACA,KACA,YACG;AACH,MAAI,OAAOA,OAAM,kBAAkB,YAAY;AAC7CA,WAAM,cAAc,KAAK,OAAO;AAAA,EAClC;AACF;AAEO,MAAM,uBAAuB,CAACA,QAAqB,QAAgB;AACxE,MAAI,OAAOA,OAAM,kBAAkB,YAAY;AAC7CA,WAAM,cAAc,GAAG;AAAA,EACzB;AACF;"}
|
|
1
|
+
{"version":3,"file":"store-OqHSsVaz.esm.js","sources":["../../src/components/share-modal/redux/state.ts","../../src/components/share-modal/redux/reducer.ts","../../src/components/header/redux/state.ts","../../src/components/header/redux/actionCreator.ts","../../src/components/header/redux/reducer.ts","../../src/components/reports-title-bar/redux/state.ts","../../src/components/reports-title-bar/redux/actionCreator.ts","../../src/components/reports-title-bar/redux/reducer.ts","../../src/components/inventory-reports-title-bar/redux/state.ts","../../src/components/inventory-reports-title-bar/redux/actionCreator.ts","../../src/components/inventory-reports-title-bar/redux/reducer.ts","../../src/redux/store.ts"],"sourcesContent":["export const state = {\n users: [],\n departments: [],\n loading: true,\n error: \"\",\n isError: false,\n};\n\nexport default state;\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { getAllUserAndDepartmentDropdown } from \"./actionCreator\";\n\nexport const shareSlice = createSlice({\n name: \"share\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n /*-------------------------------- get share drive Pending State ---------------------------------*/\n\n builder.addCase(getAllUserAndDepartmentDropdown.pending, (state) => {\n state.loading = true;\n state.error = \"\";\n state.users = [];\n state.departments = [];\n state.isError = false;\n });\n\n /*-------------------------------- get share drive fullfiled State ---------------------------------*/\n builder.addCase(\n getAllUserAndDepartmentDropdown.fulfilled,\n (state, action) => {\n state.loading = false;\n state.users = action.payload?.data?.users?.map((user: any) => ({\n ...user,\n label: `${user.first_name} ${user.last_name}`,\n value: user.id,\n }));\n state.departments = action.payload?.data?.roles?.map((role: any) => ({\n ...role,\n label: role.name,\n value: role.id,\n }));\n state.error = \"\";\n state.isError = false;\n },\n );\n\n /*-------------------------------- get share drive Rejected State ---------------------------------*/\n builder.addCase(\n getAllUserAndDepartmentDropdown.rejected,\n (state, action) => {\n state.loading = false;\n state.error = action.error.message || \"\";\n state.isError = true;\n },\n );\n },\n});\n\nexport default shareSlice.reducer;\n","export const state = {\n\tlanguagesData: {\n\t\tisLoading: false,\n\t\tisError: false,\n\t\terror: '',\n\t\tdata: [],\n\t},\n\tcurrentLanguage: {\n\t\tlabel: 'English',\n\t\tcode: 'en',\n\t\tdirection: 'ltr',\n\t},\n}\n\nexport default state\n","import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getV1Languages } from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const fetchLanguages = createAsyncThunk(\n \"header/language/get\",\n async () => {\n const response = await getV1Languages({\n order: `id:1`,\n ...getToken(),\n });\n const data = response?.data?.languages || [];\n const languages = data?.filter(d => d?.is_active)?.map(d => {\n return {\n label: d?.name,\n code: d?.code,\n direction: d?.direction\n }\n },\n );\n return { languages }\n });\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { fetchLanguages } from \"./actionCreator\";\nimport { getErrorMessage } from \"../../../utils/common\";\n\nexport const headerSlice = createSlice({\n name: \"header\",\n initialState,\n reducers: {\n setLanguages(state, { payload }) {\n\t\t\tstate.languagesData = { ...state.languagesData, ...payload };\n\t\t},\n setCurrentLanguage(state, { payload }) {\n\t\t\tstate.currentLanguage = { ...state.currentLanguage, ...payload };\n\t\t},\n },\n extraReducers: (builder) => {\n /*-------------------------------- GET LANGUAGES ---------------------------------*/\n builder.addCase(fetchLanguages.pending, (state) => {\n state.languagesData = {\n isLoading: true,\n isError: false,\n error: '',\n data: [],\n }\n }).addCase(fetchLanguages.fulfilled, (state, { payload }) => {\n state.languagesData = {\n isLoading: false,\n isError: false,\n error: '',\n data: payload.languages || [],\n }\n },\n ).addCase(fetchLanguages.rejected, (state, { error }) => {\n const m = getErrorMessage(error.message);\n state.languagesData = {\n isLoading: false,\n isError: true,\n error: m,\n data: [],\n }\n },\n );\n },\n});\n\nexport const { setLanguages, setCurrentLanguage } = headerSlice.actions;\n\nexport default headerSlice.reducer;\n","export interface IReportsTitleBarState {\n companies: any[];\n isLoading: boolean;\n error: string;\n isError: boolean;\n}\n\nexport const state: IReportsTitleBarState = {\n companies: [],\n isLoading: true,\n error: \"\",\n isError: false,\n};\n\nexport default state;\n","import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { getToken } from '../../../utils/common';\nimport {\n getV1Company,\n} from \"../../../api-client/api.rbac/api\";\n\n\n\nexport const fetchCompanies = createAsyncThunk(\n \"reports-title/fetchCompanies\",\n async () => {\n const response = await getV1Company({ ...getToken() });\n return response;\n }\n);\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { fetchCompanies } from \"./actionCreator\";\n\nexport const reportsTitleBarSlice = createSlice({\n name: \"reportsTitleBar\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n /*-------------------------------- get share drive Pending State ---------------------------------*/\n builder.addCase(fetchCompanies.pending, (state) => {\n state.isLoading = true;\n state.error = \"\";\n state.companies = [];\n });\n builder.addCase(fetchCompanies.fulfilled, (state, action) => {\n state.companies = action.payload?.data?.company;\n state.isLoading = false;\n state.isError = false;\n state.error = \"\";\n });\n builder.addCase(fetchCompanies.rejected, (state, action) => {\n state.isLoading = false;\n state.error = action.error.message || \"\";\n state.isError = true;\n });\n },\n});\n\nexport default reportsTitleBarSlice.reducer;\n","export interface IReportsTitleBarState {\n companies: any[];\n items: any[];\n warehouseLocations: any[];\n isLoading: boolean;\n error: string;\n isError: boolean;\n assemblyItems: any[];\n bomData: any[\n\n ]\n}\n\nexport const state: IReportsTitleBarState = {\n companies: [],\n items: [],\n warehouseLocations: [],\n isLoading: true,\n assemblyItems: [],\n bomData: [],\n error: \"\",\n isError: false,\n};\n\nexport default state;\n","import { getToken } from '../../../utils/common';\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nimport {\n getV1Company,\n} from \"../../../api-client/api.rbac/api\";\nimport { getV1AssemblyItems, getV1InventoryItems, getV1WarehouseLocation } from \"../../../api-client/api.inventory/api\";\nimport { getV1BillsOfMaterials } from \"../../../api-client/api.manufacturing/api\";\n\n\n\nexport const fetchOptions = createAsyncThunk(\n \"reports-title/fetchOptions\",\n async () => {\n const i = await handleFetchItem();\n const c = await handleFetchCompanies();\n const wl = await handleFetchWarehouseLocations();\n const ai = await fetchAssemblyItems();\n return { i, c, wl, ai };\n }\n);\nexport const fetchBom = createAsyncThunk(\n \"reports-title/fetchBom\",\n async () => {\n const bom = await fetchBomData();\n return bom\n }\n);\n\nexport const handleFetchCompanies = async () => {\n try {\n const response = await getV1Company({ ...getToken() });\n\n return response?.data?.company\n } catch (error) {\n return [];\n }\n};\n\nexport const handleFetchItem = async () => {\n try {\n const response = await getV1InventoryItems({\n ...getToken(),\n skip: 0,\n limit: 999,\n filters: `(type.eq=inventory|type.eq=assembly&is_variant.eq=false|self_variant.eq=true)`,\n });\n\n return response?.data?.inventoryItemsList\n } catch (error) {\n return [];\n }\n};\n\nexport const handleFetchWarehouseLocations = async () => {\n try {\n const response = await getV1WarehouseLocation({\n ...getToken(),\n skip: 0,\n limit: 999,\n });\n\n\n return response?.data?.warehouseLocationList\n } catch (error) {\n return [];\n }\n};\n\n\nexport const fetchAssemblyItems = async () => {\n try {\n const response: any = await getV1AssemblyItems({\n ...getToken(),\n skip: 0,\n limit: 999,\n }\n )\n return response?.data?.assemblyItemsList\n } catch (error: any) {\n return []\n }\n}\n\nconst fetchBomData = async () => {\n try {\n const response: any = await getV1BillsOfMaterials({\n skip: 0,\n limit: 99999,\n ...getToken()\n })\n\n return response?.data?.bom_list\n } catch (error) {\n return []\n }\n}","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\nimport { fetchBom, fetchOptions } from \"./actionCreator\";\n\nexport const inventoryReportsTitleBarSlice = createSlice({\n name: \"inventoryReportsTitleBar\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n /*-------------------------------- get share drive Pending State ---------------------------------*/\n builder.addCase(fetchOptions.pending, (state) => {\n state.companies = [];\n state.items = [];\n state.warehouseLocations = [];\n state.assemblyItems = []\n state.isLoading = true;\n state.error = \"\";\n });\n builder.addCase(fetchOptions.fulfilled, (state, action) => {\n\n state.companies = action.payload?.c;\n state.items = action.payload?.i;\n state.warehouseLocations = action.payload?.wl;\n state.assemblyItems = action.payload?.ai;\n state.isLoading = false;\n state.isError = false;\n state.error = \"\";\n\n });\n builder.addCase(fetchOptions.rejected, (state, action) => {\n state.isLoading = false;\n state.error = action.error.message || \"\";\n state.isError = true;\n });\n builder.addCase(fetchBom.fulfilled, (state, action) => {\n state.bomData = action.payload?.bom;\n });\n },\n});\n\nexport default inventoryReportsTitleBarSlice.reducer;\n","import { configureStore, combineReducers, AnyAction } from '@reduxjs/toolkit';\nimport { LibraryReduxSlices } from './types';\nimport { shareSlice } from '../components/share-modal/redux/reducer';\nimport { headerSlice } from '../components/header/redux/reducer';\nimport { reportsTitleBarSlice } from '../components/reports-title-bar/redux/reducer';\nimport { inventoryReportsTitleBarSlice } from '../components/inventory-reports-title-bar/redux/reducer';\nimport { dashboardSlice } from '../views/afterAuth/dashboard/redux/reducer';\nimport { formBuilderListSlice } from '../views/form-builder/redux/reducer';\n\n// Default library reducers\nexport const libraryReducers = {\n share: shareSlice.reducer,\n header: headerSlice.reducer,\n reportsTitleBar: reportsTitleBarSlice.reducer,\n inventoryReportsTitleBar: inventoryReportsTitleBarSlice.reducer,\n dashboard: dashboardSlice.reducer,\n formBuilder: formBuilderListSlice.reducer,\n};\n\nexport type ReducerFn<State = Record<string, unknown>> = (\n state: State | undefined,\n action: AnyAction\n) => State;\ntype ReducerMap = Record<string, ReducerFn>;\n\nexport type ReducerManager = {\n getReducers: () => ReducerMap;\n reduce: ReducerFn;\n add: (key: string, reducer: ReducerFn) => void;\n remove: (key: string) => void;\n};\n\nconst createReducerManager = (initialReducers: ReducerMap): ReducerManager => {\n let reducers = { ...initialReducers };\n let combinedReducer = combineReducers(reducers);\n let keysToRemove: string[] = [];\n\n return {\n getReducers: () => ({ ...reducers }),\n reduce: (state: any, action: AnyAction) => {\n if (keysToRemove.length) {\n state = { ...state };\n keysToRemove.forEach((key) => delete state[key]);\n keysToRemove = [];\n }\n return combinedReducer(state, action);\n },\n add: (key: string, reducer: ReducerFn) => {\n if (!key || reducers[key]) return;\n reducers = { ...reducers, [key]: reducer };\n combinedReducer = combineReducers(reducers);\n },\n remove: (key: string) => {\n if (!key || !reducers[key]) return;\n const { [key]: _, ...rest } = reducers;\n reducers = rest;\n keysToRemove.push(key);\n combinedReducer = combineReducers(reducers);\n },\n };\n};\n\ntype ReducerInjectorStore = ReturnType<typeof configureStore> & {\n reducerManager: ReducerManager;\n injectReducer: (key: string, reducer: ReducerFn) => void;\n removeReducer: (key: string) => void;\n};\n\n// Helper function to create a store with library slices\nexport const createLibraryStore = (\n additionalReducers: Record<string, any> = {},\n apiClient?: any,\n middleware: any[] = []\n) => {\n const reducerManager = createReducerManager({\n ...libraryReducers,\n ...additionalReducers,\n });\n\n const store = configureStore({\n reducer: reducerManager.reduce,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n thunk: {\n extraArgument: { apiClient },\n },\n }).concat(middleware),\n });\n\n const reducerEnabledStore: ReducerInjectorStore = {\n ...store,\n reducerManager,\n injectReducer: (key: string, reducer: ReducerFn) => {\n reducerManager.add(key, reducer);\n store.replaceReducer(reducerManager.reduce);\n },\n removeReducer: (key: string) => {\n reducerManager.remove(key);\n store.replaceReducer(reducerManager.reduce);\n },\n };\n\n return reducerEnabledStore;\n};\n\n// Helper function to get just the library slices for integration with existing stores\nexport const getLibrarySlices = (): LibraryReduxSlices => {\n return {\n share: shareSlice.reducer,\n header: headerSlice.reducer,\n reportsTitleBar: reportsTitleBarSlice.reducer,\n inventoryReportsTitleBar: inventoryReportsTitleBarSlice.reducer,\n dashboard: dashboardSlice.reducer,\n formBuilder: formBuilderListSlice.reducer,\n };\n};\n\n// Type for the library store\nexport type LibraryStore = ReturnType<typeof createLibraryStore>;\nexport type LibraryRootState = ReturnType<LibraryStore['getState']>;\nexport type LibraryDispatch = LibraryStore['dispatch'];\n\n// Default store instance for consumers that want a ready-to-use store\nexport const store: LibraryStore = createLibraryStore();\n\n// Helpers for consuming apps to inject or remove reducers at runtime\nexport const injectLibraryReducer = (\n store: LibraryStore,\n key: string,\n reducer: ReducerFn\n) => {\n if (typeof store.injectReducer === 'function') {\n store.injectReducer(key, reducer);\n }\n};\n\nexport const removeLibraryReducer = (store: LibraryStore, key: string) => {\n if (typeof store.removeReducer === 'function') {\n store.removeReducer(key);\n }\n};"],"names":["state","initialState","store"],"mappings":";;;;AAAO,MAAMA,UAAQ;AAAA,EACnB,OAAO,CAAA;AAAA,EACP,aAAa,CAAA;AAAA,EACb,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;ACFO,MAAM,aAAa,YAAY;AAAA,EACpC,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU,CAAA;AAAA,EACV,eAAe,CAAC,YAAY;AAG1B,YAAQ,QAAQ,gCAAgC,SAAS,CAACD,WAAU;AAClE,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,QAAQ,CAAA;AACd,MAAAA,OAAM,cAAc,CAAA;AACpB,MAAAA,OAAM,UAAU;AAAA,IAClB,CAAC;AAGD,YAAQ;AAAA,MACN,gCAAgC;AAAA,MAChC,CAACA,QAAO,WAAW;;AACjB,QAAAA,OAAM,UAAU;AAChB,QAAAA,OAAM,SAAQ,wBAAO,YAAP,mBAAgB,SAAhB,mBAAsB,UAAtB,mBAA6B,IAAI,CAAC,UAAe;AAAA,UAC7D,GAAG;AAAA,UACH,OAAO,GAAG,KAAK,UAAU,IAAI,KAAK,SAAS;AAAA,UAC3C,OAAO,KAAK;AAAA,QAAA;AAEd,QAAAA,OAAM,eAAc,wBAAO,YAAP,mBAAgB,SAAhB,mBAAsB,UAAtB,mBAA6B,IAAI,CAAC,UAAe;AAAA,UACnE,GAAG;AAAA,UACH,OAAO,KAAK;AAAA,UACZ,OAAO,KAAK;AAAA,QAAA;AAEd,QAAAA,OAAM,QAAQ;AACd,QAAAA,OAAM,UAAU;AAAA,MAClB;AAAA,IAAA;AAIF,YAAQ;AAAA,MACN,gCAAgC;AAAA,MAChC,CAACA,QAAO,WAAW;AACjB,QAAAA,OAAM,UAAU;AAChB,QAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AACtC,QAAAA,OAAM,UAAU;AAAA,MAClB;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;AAEc,WAAW;ACnDnB,MAAMA,UAAQ;AAAA,EACpB,eAAe;AAAA,IACd,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM,CAAA;AAAA,EAAC;AAAA,EAER,iBAAiB;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EAAA;AAEb;ACRO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;;AACV,UAAM,WAAW,MAAM,eAAe;AAAA,MACpC,OAAO;AAAA,MACP,GAAG,SAAA;AAAA,IAAS,CACb;AACD,UAAM,SAAO,0CAAU,SAAV,mBAAgB,cAAa,CAAA;AAC1C,UAAM,aAAY,kCAAM,OAAO,CAAA,MAAK,uBAAG,eAArB,mBAAiC;AAAA,MAAI,CAAA,MAAK;AAC1D,eAAO;AAAA,UACL,OAAO,uBAAG;AAAA,UACV,MAAM,uBAAG;AAAA,UACT,WAAW,uBAAG;AAAA,QAAA;AAAA,MAElB;AAAA;AAEA,WAAO,EAAE,UAAA;AAAA,EACX;AAAC;AChBI,MAAM,cAAc,YAAY;AAAA,EACrC,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU;AAAA,IACR,aAAaD,QAAO,EAAE,WAAW;AAClC,MAAAA,OAAM,gBAAgB,EAAE,GAAGA,OAAM,eAAe,GAAG,QAAA;AAAA,IACpD;AAAA,IACE,mBAAmBA,QAAO,EAAE,WAAW;AACxC,MAAAA,OAAM,kBAAkB,EAAE,GAAGA,OAAM,iBAAiB,GAAG,QAAA;AAAA,IACxD;AAAA,EAAA;AAAA,EAEA,eAAe,CAAC,YAAY;AAE1B,YAAQ,QAAQ,eAAe,SAAS,CAACA,WAAU;AACjD,MAAAA,OAAM,gBAAgB;AAAA,QACpB,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM,CAAA;AAAA,MAAC;AAAA,IAEX,CAAC,EAAE;AAAA,MAAQ,eAAe;AAAA,MAAW,CAACA,QAAO,EAAE,cAAc;AACzD,QAAAA,OAAM,gBAAgB;AAAA,UACpB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAO;AAAA,UACP,MAAM,QAAQ,aAAa,CAAA;AAAA,QAAC;AAAA,MAEhC;AAAA,IAAA,EACA;AAAA,MAAQ,eAAe;AAAA,MAAU,CAACA,QAAO,EAAE,YAAY;AACrD,cAAM,IAAI,gBAAgB,MAAM,OAAO;AACvC,QAAAA,OAAM,gBAAgB;AAAA,UACpB,WAAW;AAAA,UACX,SAAS;AAAA,UACT,OAAO;AAAA,UACP,MAAM,CAAA;AAAA,QAAC;AAAA,MAEX;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;AAEM,MAAM,EAAE,cAAc,uBAAuB,YAAY;AAEjD,YAAY;ACzCpB,MAAMA,UAA+B;AAAA,EAC1C,WAAW,CAAA;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AACX;ACJO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,YAAY;AACV,UAAM,WAAW,MAAM,aAAa,EAAE,GAAG,SAAA,GAAY;AACrD,WAAO;AAAA,EACT;AACF;ACVO,MAAM,uBAAuB,YAAY;AAAA,EAC9C,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU,CAAA;AAAA,EACV,eAAe,CAAC,YAAY;AAE1B,YAAQ,QAAQ,eAAe,SAAS,CAACD,WAAU;AACjD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,YAAY,CAAA;AAAA,IACpB,CAAC;AACD,YAAQ,QAAQ,eAAe,WAAW,CAACA,QAAO,WAAW;;AAC3D,MAAAA,OAAM,aAAY,kBAAO,YAAP,mBAAgB,SAAhB,mBAAsB;AACxC,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AACD,YAAQ,QAAQ,eAAe,UAAU,CAACA,QAAO,WAAW;AAC1D,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AACtC,MAAAA,OAAM,UAAU;AAAA,IAClB,CAAC;AAAA,EACH;AACF,CAAC;AAEc,qBAAqB;AChB7B,MAAM,QAA+B;AAAA,EAC1C,WAAW,CAAA;AAAA,EACX,OAAO,CAAA;AAAA,EACP,oBAAoB,CAAA;AAAA,EACpB,WAAW;AAAA,EACX,eAAe,CAAA;AAAA,EACf,SAAS,CAAA;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;ACXO,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA,YAAY;AACV,UAAM,IAAI,MAAM,gBAAA;AAChB,UAAM,IAAI,MAAM,qBAAA;AAChB,UAAM,KAAK,MAAM,8BAAA;AACjB,UAAM,KAAK,MAAM,mBAAA;AACjB,WAAO,EAAE,GAAG,GAAG,IAAI,GAAA;AAAA,EACrB;AACF;AACO,MAAM,WAAW;AAAA,EACtB;AAAA,EACA,YAAY;AACV,UAAM,MAAM,MAAM,aAAA;AAClB,WAAO;AAAA,EACT;AACF;AAEO,MAAM,uBAAuB,YAAY;;AAC9C,MAAI;AACF,UAAM,WAAW,MAAM,aAAa,EAAE,GAAG,SAAA,GAAY;AAErD,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB,YAAY;;AACzC,MAAI;AACF,UAAM,WAAW,MAAM,oBAAoB;AAAA,MACzC,GAAG,SAAA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IAAA,CACV;AAED,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AAEO,MAAM,gCAAgC,YAAY;;AACvD,MAAI;AACF,UAAM,WAAW,MAAM,uBAAuB;AAAA,MAC5C,GAAG,SAAA;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,IAAA,CACR;AAGD,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AAGO,MAAM,qBAAqB,YAAY;;AAC5C,MAAI;AACF,UAAM,WAAgB,MAAM;AAAA,MAAmB;AAAA,QAC7C,GAAG,SAAA;AAAA,QACH,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAEA,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAY;AACnB,WAAO,CAAA;AAAA,EACT;AACF;AAEA,MAAM,eAAe,YAAY;;AAC/B,MAAI;AACF,UAAM,WAAgB,MAAM,sBAAsB;AAAA,MAChD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,GAAG,SAAA;AAAA,IAAS,CACb;AAED,YAAO,0CAAU,SAAV,mBAAgB;AAAA,EACzB,SAAS,OAAO;AACd,WAAO,CAAA;AAAA,EACT;AACF;AC5FO,MAAM,gCAAgC,YAAY;AAAA,EACvD,MAAM;AAAA,EAAA,cACNC;AAAAA,EACA,UAAU,CAAA;AAAA,EACV,eAAe,CAAC,YAAY;AAE1B,YAAQ,QAAQ,aAAa,SAAS,CAACD,WAAU;AAC/C,MAAAA,OAAM,YAAY,CAAA;AAClB,MAAAA,OAAM,QAAQ,CAAA;AACd,MAAAA,OAAM,qBAAqB,CAAA;AAC3B,MAAAA,OAAM,gBAAgB,CAAA;AACtB,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AACD,YAAQ,QAAQ,aAAa,WAAW,CAACA,QAAO,WAAW;;AAEzD,MAAAA,OAAM,aAAY,YAAO,YAAP,mBAAgB;AAClC,MAAAA,OAAM,SAAQ,YAAO,YAAP,mBAAgB;AAC9B,MAAAA,OAAM,sBAAqB,YAAO,YAAP,mBAAgB;AAC3C,MAAAA,OAAM,iBAAgB,YAAO,YAAP,mBAAgB;AACtC,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AAAA,IAEhB,CAAC;AACD,YAAQ,QAAQ,aAAa,UAAU,CAACA,QAAO,WAAW;AACxD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AACtC,MAAAA,OAAM,UAAU;AAAA,IAClB,CAAC;AACD,YAAQ,QAAQ,SAAS,WAAW,CAACA,QAAO,WAAW;;AACrD,MAAAA,OAAM,WAAU,YAAO,YAAP,mBAAgB;AAAA,IAClC,CAAC;AAAA,EACH;AACF,CAAC;AAEc,8BAA8B;AC9BtC,MAAM,kBAAkB;AAAA,EAC7B,OAAO,WAAW;AAAA,EAClB,QAAQ,YAAY;AAAA,EACpB,iBAAiB,qBAAqB;AAAA,EACtC,0BAA0B,8BAA8B;AAAA,EACxD,WAAW,eAAe;AAAA,EAC1B,aAAa,qBAAqB;AACpC;AAeA,MAAM,uBAAuB,CAAC,oBAAgD;AAC5E,MAAI,WAAW,EAAE,GAAG,gBAAA;AACpB,MAAI,kBAAkB,gBAAgB,QAAQ;AAC9C,MAAI,eAAyB,CAAA;AAE7B,SAAO;AAAA,IACL,aAAa,OAAO,EAAE,GAAG;IACzB,QAAQ,CAACA,QAAY,WAAsB;AACzC,UAAI,aAAa,QAAQ;AACvB,QAAAA,SAAQ,EAAE,GAAGA,OAAA;AACb,qBAAa,QAAQ,CAAC,QAAQ,OAAOA,OAAM,GAAG,CAAC;AAC/C,uBAAe,CAAA;AAAA,MACjB;AACA,aAAO,gBAAgBA,QAAO,MAAM;AAAA,IACtC;AAAA,IACA,KAAK,CAAC,KAAa,YAAuB;AACxC,UAAI,CAAC,OAAO,SAAS,GAAG,EAAG;AAC3B,iBAAW,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,QAAA;AACjC,wBAAkB,gBAAgB,QAAQ;AAAA,IAC5C;AAAA,IACA,QAAQ,CAAC,QAAgB;AACvB,UAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAG;AAC5B,YAAM,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS;AAC9B,iBAAW;AACX,mBAAa,KAAK,GAAG;AACrB,wBAAkB,gBAAgB,QAAQ;AAAA,IAC5C;AAAA,EAAA;AAEJ;AASO,MAAM,qBAAqB,CAChC,qBAA0C,CAAA,GAC1C,WACA,aAAoB,CAAA,MACjB;AACH,QAAM,iBAAiB,qBAAqB;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,EAAA,CACJ;AAED,QAAME,SAAQ,eAAe;AAAA,IAC3B,SAAS,eAAe;AAAA,IACxB,YAAY,CAAC,yBACX,qBAAqB;AAAA,MACnB,OAAO;AAAA,QACL,eAAe,EAAE,UAAA;AAAA,MAAU;AAAA,IAC7B,CACD,EAAE,OAAO,UAAU;AAAA,EAAA,CACvB;AAED,QAAM,sBAA4C;AAAA,IAChD,GAAGA;AAAAA,IACH;AAAA,IACA,eAAe,CAAC,KAAa,YAAuB;AAClD,qBAAe,IAAI,KAAK,OAAO;AAC/BA,aAAM,eAAe,eAAe,MAAM;AAAA,IAC5C;AAAA,IACA,eAAe,CAAC,QAAgB;AAC9B,qBAAe,OAAO,GAAG;AACzBA,aAAM,eAAe,eAAe,MAAM;AAAA,IAC5C;AAAA,EAAA;AAGF,SAAO;AACT;AAGO,MAAM,mBAAmB,MAA0B;AACxD,SAAO;AAAA,IACL,OAAO,WAAW;AAAA,IAClB,QAAQ,YAAY;AAAA,IACpB,iBAAiB,qBAAqB;AAAA,IACtC,0BAA0B,8BAA8B;AAAA,IACxD,WAAW,eAAe;AAAA,IAC1B,aAAa,qBAAqB;AAAA,EAAA;AAEtC;AAQO,MAAM,QAAsB,mBAAA;AAG5B,MAAM,uBAAuB,CAClCA,QACA,KACA,YACG;AACH,MAAI,OAAOA,OAAM,kBAAkB,YAAY;AAC7CA,WAAM,cAAc,KAAK,OAAO;AAAA,EAClC;AACF;AAEO,MAAM,uBAAuB,CAACA,QAAqB,QAAgB;AACxE,MAAI,OAAOA,OAAM,kBAAkB,YAAY;AAC7CA,WAAM,cAAc,GAAG;AAAA,EACzB;AACF;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
2
|
import { a6 as getV1LanguagesTranslations } from "./api-BF3CyrPB.esm.js";
|
|
3
|
-
import { aw as getToken } from "./common-
|
|
3
|
+
import { aw as getToken } from "./common-D59u5rE6.esm.js";
|
|
4
4
|
function calculateAdditionalDiscountCrossValue(sourceValue, sourceField, total) {
|
|
5
5
|
if (total <= 0 || sourceValue <= 0) return 0;
|
|
6
6
|
if (sourceField === "percentage") {
|
|
@@ -132,4 +132,4 @@ export {
|
|
|
132
132
|
calculateAdditionalDiscountCrossValue as c,
|
|
133
133
|
loadModuleTranslations as l
|
|
134
134
|
};
|
|
135
|
-
//# sourceMappingURL=translations-
|
|
135
|
+
//# sourceMappingURL=translations-GFvlFdi5.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations-
|
|
1
|
+
{"version":3,"file":"translations-GFvlFdi5.esm.js","sources":["../../src/utils/calculation.ts","../../src/utils/translations.ts"],"sourcesContent":["export function calculateAdditionalDiscountCrossValue(\n sourceValue: number,\n sourceField: 'percentage' | 'amount',\n total: number\n): number {\n if (total <= 0 || sourceValue <= 0) return 0;\n if (sourceField === 'percentage') {\n return Number((total * (sourceValue / 100)).toFixed(2));\n }\n return Number(((sourceValue / total) * 100).toFixed(2));\n}\n\nexport const calculateEntries = (\n\titems: any[],\n\texpenses?: any[],\n\tadditionalDiscountOn?: string,\n\tadditionalDiscountPercentage?: number,\n\tprovidedAdditionalDiscountAmount?: number,\n\troundOff?: boolean,\n\troundOffAmount?: number,\n promotionAmount?: number\n) => {\n\tlet totalQuantity = 0,\n\t\ttotalDiscount = 0,\n\t\ttotalTaxAmount = 0,\n\t\ttotalAmountExcludingAll = 0,\n\t\ttotalAmountIncludingAll = 0,\n\t\tadditionalDiscountAmount = 0,\n\t\ttotalGrossAmount = 0;\n\n\tif (items.length) {\n\t\titems.forEach((item) => {\n\t\t\ttotalQuantity += Number(item?.quantity || 0);\n\t\t\ttotalDiscount += Number(item?.discount_amount || 0);\n\t\t\ttotalAmountIncludingAll += Number(\n\t\t\t\titem.total_amount || 0\n\t\t\t);\n\t\t\ttotalTaxAmount += Number(item.tax_amount);\n\t\t\ttotalAmountExcludingAll +=\n\t\t\t\tNumber(item.quantity || 0) *\n\t\t\t\tNumber(item.rate || 0);\n\t\t\ttotalGrossAmount += Number(item.gross_amount || 0);\n\t\t});\n\t}\n\tif (expenses?.length) {\n\t\texpenses.forEach((item) => {\n\t\t\ttotalQuantity += 1;\n\t\t\ttotalDiscount += Number(item.discount_amount || 0);\n\t\t\ttotalAmountIncludingAll += Number(\n\t\t\t\titem.total_amount || 0\n\t\t\t);\n\t\t\ttotalTaxAmount += Number(item.tax_amount);\n\t\t\ttotalAmountExcludingAll += 1 * Number(item.rate);\n\t\t\ttotalGrossAmount += Number(item.gross_amount || 0);\n\t\t});\n\t}\n\n\tlet finalAmount = totalAmountIncludingAll;\n\n\tif (additionalDiscountOn) {\n\t\tif (additionalDiscountOn === 'Net Amount') {\n\t\t\tif (\n\t\t\t\tadditionalDiscountPercentage &&\n\t\t\t\tNumber(additionalDiscountPercentage) !== 0\n\t\t\t) {\n\t\t\t\tadditionalDiscountAmount =\n\t\t\t\t\ttotalAmountIncludingAll * (additionalDiscountPercentage / 100);\n\t\t\t} else {\n\t\t\t\tadditionalDiscountAmount = providedAdditionalDiscountAmount || 0;\n\t\t\t}\n\t\t} else if (additionalDiscountOn === 'Gross Amount') {\n\t\t\tif (\n\t\t\t\tadditionalDiscountPercentage &&\n\t\t\t\tNumber(additionalDiscountPercentage) !== 0\n\t\t\t) {\n\t\t\t\tadditionalDiscountAmount =\n\t\t\t\t\ttotalGrossAmount * (additionalDiscountPercentage / 100);\n\t\t\t} else {\n\t\t\t\tadditionalDiscountAmount = providedAdditionalDiscountAmount || 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tfinalAmount =\n\t\tadditionalDiscountOn === 'Gross Amount'\n\t\t\t? Number(totalAmountIncludingAll) - Number(additionalDiscountAmount)\n\t\t\t: Number(totalAmountIncludingAll) - Number(additionalDiscountAmount);\n \n if(Number(promotionAmount)) {\n finalAmount = finalAmount - Number(promotionAmount)\n }\n\n\tconst actualTotalAmount = finalAmount;\n\tif (roundOff && roundOffAmount && Number(roundOffAmount)) {\n\t\tfinalAmount = Math.round(finalAmount / roundOffAmount) * roundOffAmount;\n\t}\n\tconst roundOffDifference = Number(finalAmount) - Number(actualTotalAmount);\n\tconst totalItemsExpenseDiscount = totalDiscount;\n\ttotalDiscount += Number(additionalDiscountAmount);\n\treturn {\n\t\ttotalQuantity,\n\t\ttotalDiscount,\n\t\ttotalItemsExpenseDiscount,\n\t\ttotalTaxAmount,\n\t\ttotalAmountExludingAll: totalAmountExcludingAll,\n\t\ttotalAmountIncludingAll,\n\t\tadditinoalDiscountAmount: additionalDiscountAmount,\n\t\ttotalGrossAmount,\n\t\tactualTotalAmount,\n\t\troundOffDifference,\n\t\tfinalAmount\n\t};\n};","import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-ClFauRgV.esm.js";
|
|
2
2
|
import { useFieldArray, Controller, useForm, useFormContext } from "react-hook-form";
|
|
3
3
|
import { P as PropTypes, a as _objectWithoutPropertiesLoose, _ as _extends$1, q as generateUtilityClass, d as capitalize, I as useDefaultProps, v as interopRequireDefaultExports, x as lighten_1, k as darken_1, b as alpha_1 } from "./identifier-CEPqgYF0.esm.js";
|
|
4
|
-
import { e as default_1$3, T as Typography, p as useForkRef, f as ownerWindow, l as useEnhancedEffect, d as debounce, i as isMuiElement, j as useAuth, k as useControlled, r as requireCreateSvgIcon } from "./useAuth-
|
|
5
|
-
import {
|
|
6
|
-
import { g as DynamicInput, w as Typography$1, b as Avatar, a0 as o, p as Modal, d as Button, f as ConfirmPopUp, c as Box$1, s as Toast, a6 as useTheme$1, S as SearchBar, a3 as resolveComponentProps, $ as mergeSlotProps, x as appendOwnerState, P as Paper$1, y as chainPropTypes, e as ButtonBase$1, I as default_1$6, T as TextField$1, t as Tooltip$1, J as default_1$7, E as default_1$8, M as Menu$2, n as MenuItem$1, a4 as useRtl, L as List$1, k as ListItem, m as ListItemText$1, a1 as refType } from "./appbar-
|
|
4
|
+
import { e as default_1$3, T as Typography, p as useForkRef, f as ownerWindow, l as useEnhancedEffect, d as debounce, i as isMuiElement, j as useAuth, k as useControlled, r as requireCreateSvgIcon } from "./useAuth-DhzbULWV.esm.js";
|
|
5
|
+
import { av as default_1$4, F as DynamicSelect, n as DateTimePicker, D as DatePicker$1, az as useThemeProps, A as Accordion$1, a9 as Select, C as Checkbox$1, j as ChipOrPlaceholder$1, o as DropdownButton, al as TitleDropdownButton, S as HeaderCard, ag as TabBar, aw as default_1$5, a8 as SearchableSelect, h as Chip$1, ak as TimePicker, ap as UploadMedia, a2 as PhoneInput, Y as ModalLoader, X as MaterialTable, z as DynamicSearchSelect, s as DynamicDate, I as DynamicTime, i as ChipGenerator, q as DynamicCheckBox, N as Footer, K as Fallback, T as IconButton$1, ah as TabContext, ai as TabList, af as Tab, aj as TabPanel, ax as default_1$9, a as ActionBar, ae as SwitchBase } from "./android-12-switch-DpJE56Wi.esm.js";
|
|
6
|
+
import { g as DynamicInput, w as Typography$1, b as Avatar, a0 as o, p as Modal, d as Button, f as ConfirmPopUp, c as Box$1, s as Toast, a6 as useTheme$1, S as SearchBar, a3 as resolveComponentProps, $ as mergeSlotProps, x as appendOwnerState, P as Paper$1, y as chainPropTypes, e as ButtonBase$1, I as default_1$6, T as TextField$1, t as Tooltip$1, J as default_1$7, E as default_1$8, M as Menu$2, n as MenuItem$1, a4 as useRtl, L as List$1, k as ListItem, m as ListItemText$1, a1 as refType } from "./appbar-5rP5iXcS.esm.js";
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import React__default, { useState, lazy, useMemo, useRef, useEffect, useCallback, useLayoutEffect, useContext, createElement, createContext, cloneElement } from "react";
|
|
9
9
|
import DatePicker from "react-datepicker";
|
|
@@ -11,10 +11,10 @@ import DatePicker from "react-datepicker";
|
|
|
11
11
|
import { C as CalenderIcon, i as images } from "./images-BY6aQF32.esm.js";
|
|
12
12
|
import { KeyboardArrowLeft, KeyboardArrowRight, Close, ChevronLeft, ChevronRight, Add, AccessTimeRounded, KeyboardArrowUp, KeyboardArrowDown, Clear } from "@mui/icons-material";
|
|
13
13
|
import { Box, styled as styled$1, TextField, DialogTitle, IconButton, DialogContent, MenuItem, DialogActions, CircularProgress, FormControlLabel, Checkbox as Checkbox$2, ButtonBase, useTheme, useMediaQuery, Drawer, Grid, Tooltip, Collapse, Divider, ButtonGroup, Button as Button$1, Popper, Grow, Paper, ClickAwayListener, Menu as Menu$1, ListItemIcon, ListItemText, OutlinedInput, InputAdornment, Dialog, FormHelperText, Card as Card$1, CardContent as CardContent$1, TableRow, TableCell, TableContainer, Table, TableHead, TableBody } from "@mui/material";
|
|
14
|
-
import { u as useLanguage } from "./useLangauge-
|
|
14
|
+
import { u as useLanguage } from "./useLangauge-CbMaEsdS.esm.js";
|
|
15
15
|
import dayjs from "dayjs";
|
|
16
16
|
/* empty css */
|
|
17
|
-
import { $ as formatText, aw as getToken, X as formatLabel, a3 as generateFields, ab as getErrorMessage, H as fetchRentalResponseItems, J as fetchRfqItemsByIdForResponse, aS as responseItemDetailsColumns, a0 as formatTimeForPayload, T as formatDateForPayload, aE as mapApiPayload, R as formatDate, r as createdOnAndBy, aY as toFixedWithNumbers } from "./common-
|
|
17
|
+
import { $ as formatText, aw as getToken, X as formatLabel, a3 as generateFields, ab as getErrorMessage, H as fetchRentalResponseItems, J as fetchRfqItemsByIdForResponse, aS as responseItemDetailsColumns, a0 as formatTimeForPayload, T as formatDateForPayload, aE as mapApiPayload, R as formatDate, r as createdOnAndBy, aY as toFixedWithNumbers } from "./common-D59u5rE6.esm.js";
|
|
18
18
|
import { useTranslation } from "react-i18next";
|
|
19
19
|
import { g as generateUtilityClasses, c as clsx, b as composeClasses, j as styled, r as reactIsExports, d as createSvgIcon, i as rootShouldForwardProp } from "./notification-DCKWI861.esm.js";
|
|
20
20
|
import { Sparkles, X, TrendingUp, AlertTriangle, Clock, SendHorizontal, Check, Copy, ChevronUp, ThumbsUp, ThumbsDown, ChevronDown } from "lucide-react";
|
|
@@ -22,13 +22,13 @@ import * as d3 from "d3";
|
|
|
22
22
|
import { marked } from "marked";
|
|
23
23
|
import { bC as streamV1AiFeatureChat, aP as getV1User, as as getV1ReportsScheduleReport, ar as getV1ReportsReportList, l as deleteV1ReportsScheduleReportId, br as putV1ReportsUpdateScheduleReportId, bl as postV1ReportsScheduleReport, W as getV1FormBuilder } from "./api-BF3CyrPB.esm.js";
|
|
24
24
|
import * as Yup from "yup";
|
|
25
|
-
import { C as Chip, M as Menu, t as transformTableColumns, d as formateValueByType, r as renderEmptyRowsFallback } from "./form-builder-deconversion-
|
|
25
|
+
import { C as Chip, M as Menu, t as transformTableColumns, d as formateValueByType, r as renderEmptyRowsFallback } from "./form-builder-deconversion-DNGMsAEj.esm.js";
|
|
26
26
|
import { M as MoreIcon, k as Filter, g as Close$1, c as ArrowUpDown, t as RecgtangleIcon, d as CheckBoxIcon$1, T as Trash, j as Export, C as Calendar$1, E as Edit, a as ArrowDown } from "./trash-DDBuxxtn.esm.js";
|
|
27
27
|
import { enqueueSnackbar, useSnackbar, SnackbarProvider } from "notistack";
|
|
28
28
|
import { useDispatch } from "react-redux";
|
|
29
|
-
import { a as apiHelper, c as useGenericDataFetcher, u as useAppTranslations } from "./ERPUIProvider-
|
|
29
|
+
import { a as apiHelper, c as useGenericDataFetcher, u as useAppTranslations } from "./ERPUIProvider-CIzXMsuV.esm.js";
|
|
30
30
|
import Board from "@asseinfo/react-kanban";
|
|
31
|
-
import { a as calculateEntries } from "./translations-
|
|
31
|
+
import { a as calculateEntries } from "./translations-GFvlFdi5.esm.js";
|
|
32
32
|
import FullCalendar from "@fullcalendar/react";
|
|
33
33
|
import dayGridPlugin from "@fullcalendar/daygrid";
|
|
34
34
|
import listPlugin from "@fullcalendar/list";
|
|
@@ -39,24 +39,24 @@ import timelinePlugin from "@fullcalendar/timeline";
|
|
|
39
39
|
import resourceTimelinePlugin from "@fullcalendar/resource-timeline";
|
|
40
40
|
import { E as Eye, a as EyeOff } from "./tick-DGRjM86F.esm.js";
|
|
41
41
|
import ReactFlagsSelect from "react-flags-select";
|
|
42
|
-
import { useParams, useLocation, useNavigate
|
|
42
|
+
import { useParams, useLocation, useNavigate } from "react-router-dom";
|
|
43
43
|
import { g as getEntityId, R as RANGE, a as handleCompareDateRangeSync, h as handleCompareDateRange } from "./navigation-utils-ChG-fDRf.esm.js";
|
|
44
|
-
import { E as ErpLoader } from "./page-context-
|
|
44
|
+
import { E as ErpLoader } from "./page-context-BlGcwtdZ.esm.js";
|
|
45
45
|
import { Gantt, ViewMode } from "gantt-task-react";
|
|
46
46
|
import { DateRange, Calendar } from "react-date-range";
|
|
47
47
|
import { v as viewTypes } from "./action-bar-BsXTcYpL.esm.js";
|
|
48
48
|
import DataEditor, { GridCellKind } from "@glideapps/glide-data-grid";
|
|
49
49
|
import { useExtraCells } from "@glideapps/glide-data-grid-cells";
|
|
50
50
|
import { createPortal } from "react-dom";
|
|
51
|
-
import { C as Collapse$1 } from "./sidebar-
|
|
51
|
+
import { C as Collapse$1 } from "./sidebar-n5_ky6G7.esm.js";
|
|
52
52
|
import { useMaterialReactTable, MaterialReactTable } from "material-react-table";
|
|
53
53
|
import _$1 from "lodash";
|
|
54
|
-
import { f as usePages, b as useDeepMemo,
|
|
54
|
+
import { f as usePages, b as useDeepMemo, a as useApi } from "./useAccountSetting-D1Ze8r-T.esm.js";
|
|
55
55
|
import { P as PathnameDocument } from "./modules-DIHbpV-p.esm.js";
|
|
56
56
|
import { l as PathnameRental, b as PathnameCrm, k as PathnamePurchase, j as PathnameManufacturing, i as PathnameInventory, a as PathnameAccounting } from "./pathname.rental-BKwgwsUV.esm.js";
|
|
57
57
|
import { c as PathnameUsers } from "./pathname.hrms-CWjGHE-w.esm.js";
|
|
58
58
|
import { u as useAppDispatch, a as useAppSelector } from "./hooks-Cj9Yhy-E.esm.js";
|
|
59
|
-
import { f as fetchCompanies } from "./store-
|
|
59
|
+
import { f as fetchCompanies } from "./store-OqHSsVaz.esm.js";
|
|
60
60
|
import { useDropzone } from "react-dropzone";
|
|
61
61
|
import { a as auth, g as getApiConfig } from "./api-config-GOys-syK.esm.js";
|
|
62
62
|
/* empty css */
|
|
@@ -937,7 +937,7 @@ DynamicDateTime.propTypes = {
|
|
|
937
937
|
min_date: PropTypes.any,
|
|
938
938
|
max_date: PropTypes.any
|
|
939
939
|
};
|
|
940
|
-
const CustomEditor = lazy(() => import("./custom-editor-
|
|
940
|
+
const CustomEditor = lazy(() => import("./custom-editor-UhZu0Svw.esm.js"));
|
|
941
941
|
const DyanmicTextEditor = ({
|
|
942
942
|
formControl,
|
|
943
943
|
name,
|
|
@@ -9541,129 +9541,6 @@ MultiSelect.propTypes = {
|
|
|
9541
9541
|
selectedLabel: PropTypes.string,
|
|
9542
9542
|
onChange: PropTypes.func
|
|
9543
9543
|
};
|
|
9544
|
-
const ProtectedRoute = ({
|
|
9545
|
-
module,
|
|
9546
|
-
action,
|
|
9547
|
-
multiModule,
|
|
9548
|
-
complexPermissions,
|
|
9549
|
-
customPermissionCheck,
|
|
9550
|
-
redirectTo = "/403",
|
|
9551
|
-
showError = true,
|
|
9552
|
-
children
|
|
9553
|
-
}) => {
|
|
9554
|
-
const permissions = usePermissions();
|
|
9555
|
-
const hasPermission = useMemo(() => {
|
|
9556
|
-
if (!permissions) {
|
|
9557
|
-
return false;
|
|
9558
|
-
}
|
|
9559
|
-
if (customPermissionCheck) {
|
|
9560
|
-
return customPermissionCheck(permissions);
|
|
9561
|
-
}
|
|
9562
|
-
if (complexPermissions) {
|
|
9563
|
-
const { permissions: permList, operator = "AND" } = complexPermissions;
|
|
9564
|
-
const results = permList.map(({ module: mod, action: act }) => {
|
|
9565
|
-
const modulePerms = _$1.get(permissions, mod, {});
|
|
9566
|
-
return modulePerms[act] ?? false;
|
|
9567
|
-
});
|
|
9568
|
-
return operator === "AND" ? results.every(Boolean) : results.some(Boolean);
|
|
9569
|
-
}
|
|
9570
|
-
if (multiModule) {
|
|
9571
|
-
const { modules, action: act, operator = "OR" } = multiModule;
|
|
9572
|
-
const results = modules.map((mod) => {
|
|
9573
|
-
const modulePerms = _$1.get(permissions, mod, {});
|
|
9574
|
-
return modulePerms[act] ?? false;
|
|
9575
|
-
});
|
|
9576
|
-
return operator === "AND" ? results.every(Boolean) : results.some(Boolean);
|
|
9577
|
-
}
|
|
9578
|
-
if (module && action) {
|
|
9579
|
-
const modulePerms = _$1.get(permissions, module, {});
|
|
9580
|
-
return modulePerms[action] ?? false;
|
|
9581
|
-
}
|
|
9582
|
-
return false;
|
|
9583
|
-
}, [permissions, module, action, multiModule, complexPermissions, customPermissionCheck]);
|
|
9584
|
-
const ErrorComponent = () => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
9585
|
-
Box,
|
|
9586
|
-
{
|
|
9587
|
-
sx: {
|
|
9588
|
-
display: "flex",
|
|
9589
|
-
flexDirection: "column",
|
|
9590
|
-
justifyContent: "center",
|
|
9591
|
-
alignItems: "center",
|
|
9592
|
-
position: "absolute",
|
|
9593
|
-
top: "50%",
|
|
9594
|
-
left: "50%",
|
|
9595
|
-
transform: "translate(-50%, -50%)",
|
|
9596
|
-
// Fixed transform values
|
|
9597
|
-
gap: 2,
|
|
9598
|
-
textAlign: "center",
|
|
9599
|
-
p: 3
|
|
9600
|
-
},
|
|
9601
|
-
children: [
|
|
9602
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9603
|
-
Typography,
|
|
9604
|
-
{
|
|
9605
|
-
type: "h1",
|
|
9606
|
-
color: "theme.secondary.900",
|
|
9607
|
-
weight: "bold",
|
|
9608
|
-
sx: { fontSize: { xs: "4rem", sm: "6rem" } },
|
|
9609
|
-
children: "403"
|
|
9610
|
-
}
|
|
9611
|
-
),
|
|
9612
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9613
|
-
Divider,
|
|
9614
|
-
{
|
|
9615
|
-
flexItem: true
|
|
9616
|
-
}
|
|
9617
|
-
),
|
|
9618
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9619
|
-
Typography,
|
|
9620
|
-
{
|
|
9621
|
-
type: "s3",
|
|
9622
|
-
color: "theme.secondary.900",
|
|
9623
|
-
weight: "medium",
|
|
9624
|
-
children: "Access Denied"
|
|
9625
|
-
}
|
|
9626
|
-
),
|
|
9627
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9628
|
-
Typography,
|
|
9629
|
-
{
|
|
9630
|
-
type: "body2",
|
|
9631
|
-
color: "theme.secondary.700",
|
|
9632
|
-
weight: "regular",
|
|
9633
|
-
sx: { mt: 1, maxWidth: "300px" },
|
|
9634
|
-
children: "You don't have the required permissions to access this resource."
|
|
9635
|
-
}
|
|
9636
|
-
)
|
|
9637
|
-
]
|
|
9638
|
-
}
|
|
9639
|
-
);
|
|
9640
|
-
if (!permissions || Object.keys(permissions).length === 0) {
|
|
9641
|
-
return null;
|
|
9642
|
-
}
|
|
9643
|
-
if (hasPermission) {
|
|
9644
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children });
|
|
9645
|
-
}
|
|
9646
|
-
return showError ? /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorComponent, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(Navigate, { to: redirectTo, replace: true });
|
|
9647
|
-
};
|
|
9648
|
-
const createPermissionConfig = {
|
|
9649
|
-
// Single module
|
|
9650
|
-
single: (module, action) => ({
|
|
9651
|
-
module,
|
|
9652
|
-
action
|
|
9653
|
-
}),
|
|
9654
|
-
// Multiple modules with same action
|
|
9655
|
-
multiModule: (modules, action, operator = "OR") => ({
|
|
9656
|
-
multiModule: { modules, action, operator }
|
|
9657
|
-
}),
|
|
9658
|
-
// Complex permissions
|
|
9659
|
-
complex: (permissions, operator = "AND") => ({
|
|
9660
|
-
complexPermissions: { permissions, operator }
|
|
9661
|
-
}),
|
|
9662
|
-
// Custom function
|
|
9663
|
-
custom: (checkFn) => ({
|
|
9664
|
-
customPermissionCheck: checkFn
|
|
9665
|
-
})
|
|
9666
|
-
};
|
|
9667
9544
|
const ReportButtons = ({ buttons, dropdownMenuButtonData = null, toggleCallback, className, zIndex = 999 }) => {
|
|
9668
9545
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className, children: [
|
|
9669
9546
|
buttons == null ? void 0 : buttons.map((ele) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -16293,26 +16170,24 @@ export {
|
|
|
16293
16170
|
MultiLineChart as a0,
|
|
16294
16171
|
MultiSelect as a1,
|
|
16295
16172
|
PageLoader as a2,
|
|
16296
|
-
|
|
16297
|
-
|
|
16298
|
-
|
|
16299
|
-
|
|
16300
|
-
|
|
16301
|
-
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16305
|
-
|
|
16306
|
-
|
|
16307
|
-
|
|
16308
|
-
|
|
16309
|
-
|
|
16310
|
-
|
|
16311
|
-
|
|
16312
|
-
|
|
16313
|
-
|
|
16314
|
-
useDynamicLayout as al,
|
|
16315
|
-
validator as am,
|
|
16173
|
+
QuickApprovalModal as a3,
|
|
16174
|
+
ReportButtons as a4,
|
|
16175
|
+
ReportTable as a5,
|
|
16176
|
+
ReportsTitleBar as a6,
|
|
16177
|
+
ScheduleReportModal as a7,
|
|
16178
|
+
Snackbar as a8,
|
|
16179
|
+
SubHeaderDoc as a9,
|
|
16180
|
+
TabBarUi as aa,
|
|
16181
|
+
TextArea as ab,
|
|
16182
|
+
TimeRangePicker as ac,
|
|
16183
|
+
UomFieldWrapper as ad,
|
|
16184
|
+
Upload as ae,
|
|
16185
|
+
UserDropdown as af,
|
|
16186
|
+
calculateOptimalSizes as ag,
|
|
16187
|
+
dynamicFields as ah,
|
|
16188
|
+
fields as ai,
|
|
16189
|
+
useDynamicLayout as aj,
|
|
16190
|
+
validator as ak,
|
|
16316
16191
|
ActivityTag$1 as b,
|
|
16317
16192
|
AdvancedDynamicLayoutWrapper as c,
|
|
16318
16193
|
ApprovalWrapper as d,
|
|
@@ -16339,4 +16214,4 @@ export {
|
|
|
16339
16214
|
DynamicDateTime as y,
|
|
16340
16215
|
DynamicLayoutWrapper as z
|
|
16341
16216
|
};
|
|
16342
|
-
//# sourceMappingURL=uom-field-wrapper-
|
|
16217
|
+
//# sourceMappingURL=uom-field-wrapper-CgYTONsG.esm.js.map
|