@erpsquad/common 1.9.97 → 1.9.99

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.
Files changed (156) hide show
  1. package/dist/chunks/{actionCreator-DmP63jZz.esm.js → actionCreator-C-u8gtV-.esm.js} +2 -2
  2. package/dist/chunks/{actionCreator-DmP63jZz.esm.js.map → actionCreator-C-u8gtV-.esm.js.map} +1 -1
  3. package/dist/chunks/{actionCreator-DwRQnQNP.js → actionCreator-DSrKE0hh.js} +2 -2
  4. package/dist/chunks/{actionCreator-DwRQnQNP.js.map → actionCreator-DSrKE0hh.js.map} +1 -1
  5. package/dist/chunks/{android-12-switch-D3fU6Qtm.esm.js → android-12-switch-DSBIf4t0.esm.js} +46 -38
  6. package/dist/chunks/android-12-switch-DSBIf4t0.esm.js.map +1 -0
  7. package/dist/chunks/{android-12-switch-B5UmJZxg.js → android-12-switch-DvCF0gyx.js} +46 -38
  8. package/dist/chunks/android-12-switch-DvCF0gyx.js.map +1 -0
  9. package/dist/chunks/{apiHelper-BrzRrxpx.js → apiHelper-5tNsUtSY.js} +18 -10
  10. package/dist/chunks/apiHelper-5tNsUtSY.js.map +1 -0
  11. package/dist/chunks/{apiHelper-BvnhN2uo.esm.js → apiHelper-Cv_qWaYo.esm.js} +18 -10
  12. package/dist/chunks/apiHelper-Cv_qWaYo.esm.js.map +1 -0
  13. package/dist/chunks/{appbar-Dn00gF0A.esm.js → appbar-DM2iBqb4.esm.js} +5 -5
  14. package/dist/chunks/{appbar-Dn00gF0A.esm.js.map → appbar-DM2iBqb4.esm.js.map} +1 -1
  15. package/dist/chunks/{appbar-dBRF2bDa.js → appbar-rfkAYQdQ.js} +5 -5
  16. package/dist/chunks/{appbar-dBRF2bDa.js.map → appbar-rfkAYQdQ.js.map} +1 -1
  17. package/dist/chunks/{common-QvMCr1xx.js → common-6VUrYJDq.js} +10 -1
  18. package/dist/chunks/{common-QvMCr1xx.js.map → common-6VUrYJDq.js.map} +1 -1
  19. package/dist/chunks/{common-B-nmtH5r.esm.js → common-B6euWODJ.esm.js} +10 -1
  20. package/dist/chunks/{common-B-nmtH5r.esm.js.map → common-B6euWODJ.esm.js.map} +1 -1
  21. package/dist/chunks/{custom-editor-BvMlZ1Oc.js → custom-editor-DIQqk_yI.js} +2 -2
  22. package/dist/chunks/{custom-editor-BvMlZ1Oc.js.map → custom-editor-DIQqk_yI.js.map} +1 -1
  23. package/dist/chunks/{custom-editor-OrxKsIQY.esm.js → custom-editor-DnfTs5-j.esm.js} +2 -2
  24. package/dist/chunks/{custom-editor-OrxKsIQY.esm.js.map → custom-editor-DnfTs5-j.esm.js.map} +1 -1
  25. package/dist/chunks/{default-data-otyfdCNu.esm.js → default-data-BV_r59U9.esm.js} +14 -14
  26. package/dist/chunks/{default-data-otyfdCNu.esm.js.map → default-data-BV_r59U9.esm.js.map} +1 -1
  27. package/dist/chunks/{default-data-BCroqbYg.js → default-data-DQ7VPUoj.js} +14 -14
  28. package/dist/chunks/{default-data-BCroqbYg.js.map → default-data-DQ7VPUoj.js.map} +1 -1
  29. package/dist/chunks/{form-builder-conversion-Var45CEx.esm.js → form-builder-conversion-BdWASNEo.esm.js} +2 -2
  30. package/dist/chunks/{form-builder-conversion-Var45CEx.esm.js.map → form-builder-conversion-BdWASNEo.esm.js.map} +1 -1
  31. package/dist/chunks/{form-builder-conversion-nTpiw7Q2.js → form-builder-conversion-D69EGO5g.js} +2 -2
  32. package/dist/chunks/{form-builder-conversion-nTpiw7Q2.js.map → form-builder-conversion-D69EGO5g.js.map} +1 -1
  33. package/dist/chunks/{form-builder-deconversion-BjiEAt-i.esm.js → form-builder-deconversion-CUwBfP4C.esm.js} +3 -3
  34. package/dist/chunks/{form-builder-deconversion-BjiEAt-i.esm.js.map → form-builder-deconversion-CUwBfP4C.esm.js.map} +1 -1
  35. package/dist/chunks/{form-builder-deconversion-CFTqjOTb.js → form-builder-deconversion-v5GvXDZ9.js} +3 -3
  36. package/dist/chunks/{form-builder-deconversion-CFTqjOTb.js.map → form-builder-deconversion-v5GvXDZ9.js.map} +1 -1
  37. package/dist/chunks/{fullScreen-BdyRsEBm.esm.js → fullScreen-BO0UA3Zr.esm.js} +2 -2
  38. package/dist/chunks/{fullScreen-BdyRsEBm.esm.js.map → fullScreen-BO0UA3Zr.esm.js.map} +1 -1
  39. package/dist/chunks/{fullScreen-BHrQ0vTa.js → fullScreen-Bfrr-bT2.js} +2 -2
  40. package/dist/chunks/{fullScreen-BHrQ0vTa.js.map → fullScreen-Bfrr-bT2.js.map} +1 -1
  41. package/dist/chunks/{languageContext-s_EUKz_A.js → languageContext-BP7EvzMv.js} +3 -3
  42. package/dist/chunks/{languageContext-s_EUKz_A.js.map → languageContext-BP7EvzMv.js.map} +1 -1
  43. package/dist/chunks/{languageContext-CbCRCTbP.esm.js → languageContext-DM_LTp53.esm.js} +3 -3
  44. package/dist/chunks/{languageContext-CbCRCTbP.esm.js.map → languageContext-DM_LTp53.esm.js.map} +1 -1
  45. package/dist/chunks/{migration-utils-Bn35YUJM.esm.js → migration-utils-D9TSOBR0.esm.js} +2 -2
  46. package/dist/chunks/{migration-utils-Bn35YUJM.esm.js.map → migration-utils-D9TSOBR0.esm.js.map} +1 -1
  47. package/dist/chunks/{migration-utils-CmzV1tw3.js → migration-utils-DwLXzWtr.js} +2 -2
  48. package/dist/chunks/{migration-utils-CmzV1tw3.js.map → migration-utils-DwLXzWtr.js.map} +1 -1
  49. package/dist/chunks/module-routes-config-B8IucBuj.js +19 -0
  50. package/dist/chunks/module-routes-config-B8IucBuj.js.map +1 -0
  51. package/dist/chunks/module-routes-config-CCkZEtfg.esm.js +20 -0
  52. package/dist/chunks/module-routes-config-CCkZEtfg.esm.js.map +1 -0
  53. package/dist/chunks/{modules-BDHGBfwa.js → modules-C3T2Pnwc.js} +10 -5
  54. package/dist/chunks/modules-C3T2Pnwc.js.map +1 -0
  55. package/dist/chunks/{modules-UIv-lDBW.esm.js → modules-D5_hDIg9.esm.js} +10 -5
  56. package/dist/chunks/modules-D5_hDIg9.esm.js.map +1 -0
  57. package/dist/chunks/{page-context-DLUB4Qx9.esm.js → page-context-B_wK6kLR.esm.js} +4 -4
  58. package/dist/chunks/{page-context-DLUB4Qx9.esm.js.map → page-context-B_wK6kLR.esm.js.map} +1 -1
  59. package/dist/chunks/{page-context-DRbgpYFO.js → page-context-h7LEMAG0.js} +4 -4
  60. package/dist/chunks/{page-context-DRbgpYFO.js.map → page-context-h7LEMAG0.js.map} +1 -1
  61. package/dist/chunks/pathname.hrms-2_BEXO_r.js +262 -0
  62. package/dist/chunks/pathname.hrms-2_BEXO_r.js.map +1 -0
  63. package/dist/chunks/pathname.hrms-C5ojsho0.esm.js +263 -0
  64. package/dist/chunks/pathname.hrms-C5ojsho0.esm.js.map +1 -0
  65. package/dist/chunks/{reducer-Gajha1Kz.esm.js → reducer-Bpuo5eq1.esm.js} +2 -2
  66. package/dist/chunks/{reducer-Gajha1Kz.esm.js.map → reducer-Bpuo5eq1.esm.js.map} +1 -1
  67. package/dist/chunks/{reducer-DGvVphqy.js → reducer-t-U331ho.js} +2 -2
  68. package/dist/chunks/{reducer-DGvVphqy.js.map → reducer-t-U331ho.js.map} +1 -1
  69. package/dist/chunks/{route-page-map-DPlRjCJm.esm.js → route-page-map-C4wM0M4A.esm.js} +2 -2
  70. package/dist/chunks/{route-page-map-DPlRjCJm.esm.js.map → route-page-map-C4wM0M4A.esm.js.map} +1 -1
  71. package/dist/chunks/{route-page-map-Btth_lp5.js → route-page-map-CJLyl6P1.js} +2 -2
  72. package/dist/chunks/{route-page-map-Btth_lp5.js.map → route-page-map-CJLyl6P1.js.map} +1 -1
  73. package/dist/chunks/{shareSlice-Cn2PGA6m.js → shareSlice-Br9IsR9k.js} +2 -2
  74. package/dist/chunks/{shareSlice-Cn2PGA6m.js.map → shareSlice-Br9IsR9k.js.map} +1 -1
  75. package/dist/chunks/{shareSlice-DGme6jBu.esm.js → shareSlice-CbG_VJcW.esm.js} +2 -2
  76. package/dist/chunks/{shareSlice-DGme6jBu.esm.js.map → shareSlice-CbG_VJcW.esm.js.map} +1 -1
  77. package/dist/chunks/{sidebar-Dcw_6aQ7.js → sidebar-C2zkLZyA.js} +4 -4
  78. package/dist/chunks/{sidebar-Dcw_6aQ7.js.map → sidebar-C2zkLZyA.js.map} +1 -1
  79. package/dist/chunks/{sidebar-PZqii53B.esm.js → sidebar-l49eLo8p.esm.js} +4 -4
  80. package/dist/chunks/{sidebar-PZqii53B.esm.js.map → sidebar-l49eLo8p.esm.js.map} +1 -1
  81. package/dist/chunks/{sidebarScreen-DY4Uklrh.esm.js → sidebarScreen-BQN2N8jx.esm.js} +5 -5
  82. package/dist/chunks/{sidebarScreen-DY4Uklrh.esm.js.map → sidebarScreen-BQN2N8jx.esm.js.map} +1 -1
  83. package/dist/chunks/{sidebarScreen-FH1CEH8k.js → sidebarScreen-PoYXto7E.js} +5 -5
  84. package/dist/chunks/{sidebarScreen-FH1CEH8k.js.map → sidebarScreen-PoYXto7E.js.map} +1 -1
  85. package/dist/chunks/{store-DEoLcgbp.js → store-BdrUnJ3G.js} +3 -3
  86. package/dist/chunks/{store-DEoLcgbp.js.map → store-BdrUnJ3G.js.map} +1 -1
  87. package/dist/chunks/{store-zDGOGRDm.esm.js → store-ksRZPIIc.esm.js} +3 -3
  88. package/dist/chunks/{store-zDGOGRDm.esm.js.map → store-ksRZPIIc.esm.js.map} +1 -1
  89. package/dist/chunks/{translations-BVvsrCTo.js → translations-1vp9srMj.js} +2 -2
  90. package/dist/chunks/{translations-BVvsrCTo.js.map → translations-1vp9srMj.js.map} +1 -1
  91. package/dist/chunks/{translations-DJFxXzIm.esm.js → translations-B5t-KZNN.esm.js} +2 -2
  92. package/dist/chunks/{translations-DJFxXzIm.esm.js.map → translations-B5t-KZNN.esm.js.map} +1 -1
  93. package/dist/chunks/{uom-field-wrapper-CeeTt3Ph.esm.js → uom-field-wrapper-Ckop1JTE.esm.js} +15 -15
  94. package/dist/chunks/{uom-field-wrapper-CeeTt3Ph.esm.js.map → uom-field-wrapper-Ckop1JTE.esm.js.map} +1 -1
  95. package/dist/chunks/{uom-field-wrapper-UBPKubPh.js → uom-field-wrapper-l8HA79k1.js} +15 -15
  96. package/dist/chunks/{uom-field-wrapper-UBPKubPh.js.map → uom-field-wrapper-l8HA79k1.js.map} +1 -1
  97. package/dist/chunks/{useAccountSetting-BcPg1o6H.esm.js → useAccountSetting-D6Hhq1Pz.esm.js} +3 -3
  98. package/dist/chunks/{useAccountSetting-BcPg1o6H.esm.js.map → useAccountSetting-D6Hhq1Pz.esm.js.map} +1 -1
  99. package/dist/chunks/{useAccountSetting-B5qXSiGa.js → useAccountSetting-ngzko7sX.js} +3 -3
  100. package/dist/chunks/{useAccountSetting-B5qXSiGa.js.map → useAccountSetting-ngzko7sX.js.map} +1 -1
  101. package/dist/chunks/{useAuth-BhsPEB2T.js → useAuth-HvZ6U960.js} +2 -2
  102. package/dist/chunks/{useAuth-BhsPEB2T.js.map → useAuth-HvZ6U960.js.map} +1 -1
  103. package/dist/chunks/{useAuth-C4WcddEE.esm.js → useAuth-Tfx2guEJ.esm.js} +2 -2
  104. package/dist/chunks/{useAuth-C4WcddEE.esm.js.map → useAuth-Tfx2guEJ.esm.js.map} +1 -1
  105. package/dist/chunks/{useLangauge-Bie5anLS.esm.js → useLangauge-BU_fP3ZM.esm.js} +2 -2
  106. package/dist/chunks/{useLangauge-Bie5anLS.esm.js.map → useLangauge-BU_fP3ZM.esm.js.map} +1 -1
  107. package/dist/chunks/{useLangauge-BtG3kyRv.js → useLangauge-DwsR1jcv.js} +2 -2
  108. package/dist/chunks/{useLangauge-BtG3kyRv.js.map → useLangauge-DwsR1jcv.js.map} +1 -1
  109. package/dist/chunks/{useReduxIntegration-DvUNoDIr.js → useReduxIntegration-JMVTp0lq.js} +4 -4
  110. package/dist/chunks/{useReduxIntegration-DvUNoDIr.js.map → useReduxIntegration-JMVTp0lq.js.map} +1 -1
  111. package/dist/chunks/{useReduxIntegration-CPPcf1p7.esm.js → useReduxIntegration-VgWJGErE.esm.js} +4 -4
  112. package/dist/chunks/{useReduxIntegration-CPPcf1p7.esm.js.map → useReduxIntegration-VgWJGErE.esm.js.map} +1 -1
  113. package/dist/components/index.esm.js +9 -9
  114. package/dist/components/index.js +9 -9
  115. package/dist/components/providers/ERPUIProvider.d.ts +1 -0
  116. package/dist/constants/index.esm.js +3 -3
  117. package/dist/constants/index.js +3 -3
  118. package/dist/constants/pathnames/pathname.hrms.d.ts +61 -3
  119. package/dist/contexts/index.esm.js +3 -3
  120. package/dist/contexts/index.js +3 -3
  121. package/dist/hooks/index.esm.js +5 -5
  122. package/dist/hooks/index.js +5 -5
  123. package/dist/index.esm.js +55 -50
  124. package/dist/index.esm.js.map +1 -1
  125. package/dist/index.js +32 -27
  126. package/dist/index.js.map +1 -1
  127. package/dist/layout/index.esm.js +2 -2
  128. package/dist/layout/index.js +2 -2
  129. package/dist/redux/index.esm.js +4 -4
  130. package/dist/redux/index.js +4 -4
  131. package/dist/src/components/providers/ERPUIProvider.d.ts +1 -0
  132. package/dist/src/constants/pathnames/pathname.hrms.d.ts +61 -3
  133. package/dist/src/utils/api.d.ts +10 -0
  134. package/dist/src/utils/index.d.ts +1 -0
  135. package/dist/src/utils/module-routes-config.d.ts +34 -0
  136. package/dist/src/views/form-builder/utils/common.d.ts +1 -1
  137. package/dist/utils/api.d.ts +10 -0
  138. package/dist/utils/index.esm.js +12 -7
  139. package/dist/utils/index.esm.js.map +1 -1
  140. package/dist/utils/index.js +11 -6
  141. package/dist/utils/index.js.map +1 -1
  142. package/dist/utils/module-routes-config.d.ts +34 -0
  143. package/dist/views/form-builder/utils/common.d.ts +1 -1
  144. package/dist/views/index.esm.js +10 -10
  145. package/dist/views/index.js +9 -9
  146. package/package.json +1 -1
  147. package/dist/chunks/android-12-switch-B5UmJZxg.js.map +0 -1
  148. package/dist/chunks/android-12-switch-D3fU6Qtm.esm.js.map +0 -1
  149. package/dist/chunks/apiHelper-BrzRrxpx.js.map +0 -1
  150. package/dist/chunks/apiHelper-BvnhN2uo.esm.js.map +0 -1
  151. package/dist/chunks/modules-BDHGBfwa.js.map +0 -1
  152. package/dist/chunks/modules-UIv-lDBW.esm.js.map +0 -1
  153. package/dist/chunks/pathname.hrms-BVwbtB1M.js +0 -109
  154. package/dist/chunks/pathname.hrms-BVwbtB1M.js.map +0 -1
  155. package/dist/chunks/pathname.hrms-BiL7sQv0.esm.js +0 -110
  156. package/dist/chunks/pathname.hrms-BiL7sQv0.esm.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiHelper-BrzRrxpx.js","sources":["../../src/hooks/use-translations.ts","../../src/hooks/useDataFetcher.tsx","../../src/components/providers/ERPUIProvider.tsx","../../src/hooks/apiHelper.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n// import { useLocation } from 'react-router-dom'\nimport { getI18n, useTranslation } from 'react-i18next'\nimport { loadModuleTranslations } from '../utils/translations'\nimport modules from '../constants/modules'\nimport { useAuth } from './useAuth'\n\n// Global state to prevent duplicate calls across all hook instances\nlet globalLastLoadedModules = ''\nlet globalIsLoading = false\nlet globalInitialLoad = false\n\nexport const useAppTranslations = () => {\n\tconst [isLoading, setIsLoading] = useState(globalInitialLoad)\n\tconst location = window.location\n\tconst i18nInstance = getI18n()\n\tconst { user, loading } = useAuth()\n\tconst { t } = useTranslation()\n\n\tuseEffect(() => {\n\t\tconst erpModules = modules(t)\n\t\tconst currentPath = location.pathname.toLowerCase()\n\t\tif(user?.id && !loading) {\n\t\n\t\t\tconst matchedModule = erpModules.find(\n\t\t\t\t(mod) =>\n\t\t\t\t\tmod.link.toLowerCase() === currentPath ||\n\t\t\t\t\tmod.connectedRoutes?.some((route: string) => currentPath.startsWith(route.toLowerCase()))\n\t\t\t)\n\t\n\t\t\tlet modulesToLoad: string[] = []\n\t\n\t\t\tif (matchedModule?.translationModule) {\n\t\t\t\tmodulesToLoad = [...matchedModule.translationModule, 'common']\n\t\t\t} else if (!matchedModule && currentPath === '/dashboard') {\n\t\t\t\tmodulesToLoad = ['common']\n\t\t\t}\n\t\n\t\t\tif (modulesToLoad.length > 0) {\n\t\t\t\tconst moduleKey = [...modulesToLoad].sort().join(',')\n\t\n\t\t\t\t// Skip if same modules are already loaded or currently loading\n\t\t\t\tif (globalLastLoadedModules === moduleKey || globalIsLoading) {\n\t\t\t\t\tif (globalInitialLoad) {\n\t\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t\t\tglobalInitialLoad = false\n\t\t\t\t\t}\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\n\t\t\t\tglobalIsLoading = true\n\t\t\t\tglobalLastLoadedModules = moduleKey\n\t\t\t\tsetIsLoading(true)\n\t\n\t\t\t\tloadModuleTranslations(modulesToLoad, i18nInstance).finally(() => {\n\t\t\t\t\tglobalIsLoading = false\n\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t\tglobalInitialLoad = false\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\t// No modules to load, but still need to handle initial load state\n\t\t\t\tif (globalInitialLoad) {\n\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t\tglobalInitialLoad = false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [location.pathname, t, user, loading])\n\n\treturn { isLoading }\n};\n\nexport default useAppTranslations;\n","import { useCallback, useState, useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { usePages } from './use-pages';\nimport { useLocation } from 'react-router-dom';\ninterface FilterParams {\n\tskip: number;\n\tlimit: number;\n\tsearch?: string;\n\tselect?: string;\n\torder?: string;\n\tfilters?: string;\n}\n\ninterface ActivePage {\n\tsort?: { id: string; desc: boolean };\n\tfilterQueryString?: string;\n\tsearch?: string;\n\tvisible_columns?: { visible: boolean; accessorKey: string }[];\n}\n\nconst useGenericDataFetcher = (\n\tcols?: ActivePage,\n\tpagination: { skip: number; limit: number },\n\tfetchAction: (filters: FilterParams) => void,\n\tcustomeFilter: any = '',\n\tcustomDeps?: any[],\n\tshowCreatedBy: boolean = true,\n\tcustomFields?: any = []\n) => {\n\tconst { activePage } = usePages();\n\tconst dispatch = useDispatch();\n\tconst location = useLocation();\n\n\tconst sourceColumns = Array.isArray(cols) ? cols?.filter((col: any) => col.visible) : activePage?.visible_columns;\n\n\tconst [trackedPath, setTrackedPath] = useState<string | null>(null);\n\tconst [trackedColumns, setTrackedColumns] = useState<any[]>([]);\n\n\tuseEffect(() => {\n\t\tif (trackedPath !== location?.pathname) {\n\t\t\tsetTrackedPath(location?.pathname);\n\t\t\tsetTrackedColumns([]);\n\t\t}\n\t}, [location?.pathname, trackedPath]);\n\n\tuseEffect(() => {\n\t\tif (trackedPath === location?.pathname && sourceColumns?.length > 0) {\n\t\t\tif (JSON.stringify(trackedColumns) !== JSON.stringify(sourceColumns)) {\n\t\t\t\tsetTrackedColumns(sourceColumns);\n\t\t\t}\n\t\t}\n\t}, [location?.pathname, trackedPath, sourceColumns]);\n\n\tconst getProcessedFilters = useCallback(() => {\n\t\tconst { filterQueryString } = activePage || {};\n\t\tconst queryString = filterQueryString?.replaceAll(/[()]/g, \"\") || '';\n\t\tconst extraQueryString = queryString.length ? `&${queryString}` : '';\n\t\tlet filters = customeFilter;\n\n\t\tif (extraQueryString) {\n\t\t\tfilters = filters ? `(${filters}${extraQueryString})` : `(${extraQueryString})`;\n\t\t} else if (filters) {\n\t\t\tfilters = `(${filters})`;\n\t\t}\n\n\t\treturn filters || undefined;\n\t\t//eslint-disable-next-line\n\t}, [activePage.filterQueryString, customeFilter]);\n\n\tconst fetchData = useCallback(() => {\n\t\tif (!fetchAction) {\n\t\t\treturn;\n\t\t}\n\t\tconst { sort = null, search } = activePage;\n\n\t\tif (!trackedColumns || trackedColumns.length === 0) return;\n\n\t\tconst filters = getProcessedFilters();\n\t\tconst visibleColumns = trackedColumns?.filter((vc) => vc.visible)\n\n\t\tconst selectPayload = visibleColumns?.length > 0 ? `[${visibleColumns\n\t\t\t?.map((item) =>\n\t\t\t\titem.accessorKey?.includes(\".\")\n\t\t\t\t\t? item.accessorKey.split(\".\")[0]\n\t\t\t\t\t: item.accessorKey\n\t\t\t)}${showCreatedBy ? ',created_at,created_by_data' : ''}${customFields?.length ? `,${customFields?.join(',')}` : ''}]` : undefined\n\t\tconst payload: FilterParams = {\n\t\t\tskip: activePage?.skip || pagination?.skip,\n\t\t\tlimit: pagination.limit,\n\t\t\tsearch,\n\t\t\tselect: selectPayload,\n\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t...(filters && { filters }),\n\t\t};\n\n\t\tdispatch(fetchAction(payload));\n\t\t//eslint-disable-next-line\n\t}, [\n\t\ttrackedColumns,\n\t\tactivePage.sort,\n\t\tactivePage.filterQueryString,\n\t\tactivePage.search,\n\t\t// pagination?.skip,\n\t\tactivePage?.skip,\n\t\tpagination?.limit,\n\t\tdispatch,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t...(customDeps || []),\n\t]);\n\n\n\n\treturn fetchData;\n};\n\nexport default useGenericDataFetcher;\n","import React, { createContext, useContext, ReactNode, Suspense } from 'react';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { ThemeProvider } from '@mui/material/styles';\nimport CssBaseline from '@mui/material/CssBaseline';\nimport { SnackbarProvider } from 'notistack';\nimport { BrowserRouter } from 'react-router-dom';\nimport { createLibraryStore, ApiClientConfig } from '../../redux';\nimport { createLightTheme, createDarkTheme, Color } from '../../theme';\nimport { AuthProvider } from '../../contexts/AuthContext';\nimport { LanguageProvider } from '../../contexts/languageContext';\nimport { PageProvider } from '../../contexts/page-context';\nimport { PermissionsProvider } from '../../contexts/permission-context';\nimport MUIThemeWrapper from '../../theme/themeWrapper';\nimport Loader from '../loader';\nimport useAppTranslations from '../../hooks/use-translations';\nimport '../../utils/i18n';\nimport { initializeApiConfig, ApiConfig } from '../../utils/api-config';\nimport { initializeApiBaseUrls, extendApiConfigurations } from '../../utils/api';\n\n// Context for library configuration\ninterface ERPUIContextValue {\n useRedux: boolean;\n apiClient?: ApiClientConfig;\n theme?: any;\n themeMode: 'light' | 'dark';\n direction: 'ltr' | 'rtl';\n primaryColor?: Color;\n}\n\nconst ERPUIContext = createContext<ERPUIContextValue>({\n useRedux: false,\n themeMode: 'light',\n direction: 'ltr',\n});\n\nexport const useERPUI = () => useContext(ERPUIContext);\n\n// Provider props interface\ninterface ERPUIProviderProps {\n children: ReactNode;\n\n // Redux configuration\n useRedux?: boolean;\n reduxStore?: any;\n apiClient?: ApiClientConfig;\n additionalReducers?: Record<string, any>;\n\n // Theme configuration\n theme?: any;\n themeMode?: 'light' | 'dark';\n primaryColor?: Color;\n direction?: 'ltr' | 'rtl';\n\n // Context providers configuration\n enableAuth?: boolean;\n enableLanguage?: boolean;\n enablePages?: boolean;\n enablePermissions?: boolean;\n enableRouter?: boolean;\n enableSnackbar?: boolean;\n\n // Other configuration\n enableCssBaseline?: boolean;\n snackbarConfig?: {\n maxSnack?: number;\n anchorOrigin?: {\n vertical: 'top' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n autoHideDuration?: number;\n };\n\n // API configuration\n apiConfig?: ApiConfig;\n\n // Additional API configurations to extend the shared apiConfigurations map\n additionalApiConfigurations?: Record<string, any>;\n\n // Route maps\n routeToColumnsMap?: Record<string, any>;\n routeToResourceMap?: Record<string, any>;\n publicRoutes?: string[]; // Optional prop to allow customization of public routes in AuthProvider\n}\n\nexport const ERPUIProvider: React.FC<ERPUIProviderProps> = ({\n children,\n\n // Redux props\n useRedux = false,\n reduxStore,\n apiClient,\n additionalReducers = {},\n\n // Theme props\n theme: customTheme,\n themeMode = 'light',\n primaryColor,\n direction = 'ltr',\n\n // Context providers configuration\n enableAuth = true,\n enableLanguage = true,\n enablePages = true,\n enablePermissions = true,\n enableRouter = false, // Default false since consuming app usually provides router\n enableSnackbar = true,\n\n // Other props\n enableCssBaseline = true,\n snackbarConfig = {\n maxSnack: 3,\n anchorOrigin: { vertical: 'top', horizontal: 'right' },\n autoHideDuration: 5000,\n },\n\n // API configuration\n apiConfig: providedApiConfig,\n additionalApiConfigurations,\n routeToColumnsMap,\n routeToResourceMap,\n publicRoutes = [], // Default empty array for public routes in AuthProvider \n}) => {\n console.log(\"additionalApiConfigurations...........\",additionalApiConfigurations)\n\n // Initialize API configuration synchronously before first render\n // This prevents \"API configuration not initialized\" errors when components\n // try to use the API during initial render\n const isInitialized = React.useRef(false);\n\n if (providedApiConfig && !isInitialized.current) {\n try {\n initializeApiConfig(providedApiConfig);\n initializeApiBaseUrls();\n if (additionalApiConfigurations) {\n extendApiConfigurations(additionalApiConfigurations);\n }\n isInitialized.current = true;\n } catch (error) {\n console.error('Failed to initialize API configuration:', error);\n }\n }\n // const { isLoading } = useAppTranslations();\n // if (isLoading) {\n // return <Loader />;\n // }\n // Create or use provided Redux store\n const store = React.useMemo(() => {\n if (!useRedux) return null;\n\n if (reduxStore) {\n return reduxStore;\n }\n\n return createLibraryStore(additionalReducers, apiClient);\n }, [useRedux, reduxStore, additionalReducers, apiClient]);\n\n // Create theme\n const theme = React.useMemo(() => {\n if (customTheme) {\n return customTheme;\n }\n\n const themeCreator = themeMode === 'dark' ? createDarkTheme : createLightTheme;\n const { theme: generatedTheme } = themeCreator(primaryColor, direction);\n return generatedTheme;\n }, [customTheme, themeMode, primaryColor, direction]);\n\n // Context value\n const contextValue: ERPUIContextValue = {\n useRedux,\n apiClient,\n theme,\n themeMode,\n direction,\n primaryColor,\n };\n\n // Build provider tree from inside out\n let content = (\n <ERPUIContext.Provider value={contextValue}>\n {/* <ThemeProvider theme={theme}>\n {enableCssBaseline && <CssBaseline />} */}\n {/* <Suspense fallback={<Loader />}> */}\n <MUIThemeWrapper theme={theme} enableCssBaseline={enableCssBaseline}>\n {children}\n </MUIThemeWrapper>\n {/* </Suspense> */}\n {/* </ThemeProvider> */}\n </ERPUIContext.Provider>\n );\n\n // Wrap with snackbar provider if enabled\n if (enableSnackbar) {\n content = (\n <SnackbarProvider {...snackbarConfig}>\n {content}\n </SnackbarProvider>\n );\n }\n\n // Wrap with page provider if enabled\n // if (enablePages) {\n // content = (\n // <PageProvider routeToColumnsMap={routeToColumnsMap} routeToResourceMap={routeToResourceMap}>\n // {content}\n // </PageProvider>\n // );\n // }\n\n // Wrap with permissions provider if enabled\n if (enablePermissions) {\n content = (\n <PermissionsProvider>\n {content}\n </PermissionsProvider>\n );\n }\n\n // Wrap with language provider if enabled\n if (enableLanguage) {\n content = (\n <LanguageProvider>\n {content}\n </LanguageProvider>\n );\n }\n\n // Wrap with auth provider if enabled\n if (enableAuth) {\n content = (\n <AuthProvider publicRoutes={publicRoutes}>\n {content}\n </AuthProvider>\n );\n }\n\n // Wrap with router if enabled\n if (enableRouter) {\n content = (\n <BrowserRouter>\n {content}\n </BrowserRouter>\n );\n }\n\n // Wrap with Redux provider if enabled\n if (useRedux && store) {\n content = (\n <ReduxProvider store={store}>\n {content}\n </ReduxProvider>\n );\n }\n\n return content;\n};\n\nexport default ERPUIProvider;","import { enqueueSnackbar } from \"notistack\";\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?:any\n};\n\ntype Callback = () => void;\n\nexport function apiHelper(res: ApiResponse, callBack?: Callback): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n return res.error?.message ? JSON.parse(res.error.message) : null;\n } catch {\n return { message: \"Something went wrong\" };\n }\n })();\n\n const message = errorMessage?.message?.replace(\"Error:\", \"\").trim() || \"Something went wrong\";\n\n enqueueSnackbar(message, {\n variant: \"error\",\n });\n return\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n } else if (callBack) {\n console.warn(\"Provided callBack is not a function.\");\n }\n}\n"],"names":["useState","getI18n","useAuth","useTranslation","useEffect","modules","loadModuleTranslations","usePages","useDispatch","useLocation","useCallback","createContext","useContext","initializeApiConfig","initializeApiBaseUrls","extendApiConfigurations","store","createLibraryStore","createDarkTheme","createLightTheme","jsx","MUIThemeWrapper","SnackbarProvider","PermissionsProvider","LanguageProvider","AuthProvider","BrowserRouter","ReduxProvider","_a","enqueueSnackbar"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiHelper-BvnhN2uo.esm.js","sources":["../../src/hooks/use-translations.ts","../../src/hooks/useDataFetcher.tsx","../../src/components/providers/ERPUIProvider.tsx","../../src/hooks/apiHelper.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n// import { useLocation } from 'react-router-dom'\nimport { getI18n, useTranslation } from 'react-i18next'\nimport { loadModuleTranslations } from '../utils/translations'\nimport modules from '../constants/modules'\nimport { useAuth } from './useAuth'\n\n// Global state to prevent duplicate calls across all hook instances\nlet globalLastLoadedModules = ''\nlet globalIsLoading = false\nlet globalInitialLoad = false\n\nexport const useAppTranslations = () => {\n\tconst [isLoading, setIsLoading] = useState(globalInitialLoad)\n\tconst location = window.location\n\tconst i18nInstance = getI18n()\n\tconst { user, loading } = useAuth()\n\tconst { t } = useTranslation()\n\n\tuseEffect(() => {\n\t\tconst erpModules = modules(t)\n\t\tconst currentPath = location.pathname.toLowerCase()\n\t\tif(user?.id && !loading) {\n\t\n\t\t\tconst matchedModule = erpModules.find(\n\t\t\t\t(mod) =>\n\t\t\t\t\tmod.link.toLowerCase() === currentPath ||\n\t\t\t\t\tmod.connectedRoutes?.some((route: string) => currentPath.startsWith(route.toLowerCase()))\n\t\t\t)\n\t\n\t\t\tlet modulesToLoad: string[] = []\n\t\n\t\t\tif (matchedModule?.translationModule) {\n\t\t\t\tmodulesToLoad = [...matchedModule.translationModule, 'common']\n\t\t\t} else if (!matchedModule && currentPath === '/dashboard') {\n\t\t\t\tmodulesToLoad = ['common']\n\t\t\t}\n\t\n\t\t\tif (modulesToLoad.length > 0) {\n\t\t\t\tconst moduleKey = [...modulesToLoad].sort().join(',')\n\t\n\t\t\t\t// Skip if same modules are already loaded or currently loading\n\t\t\t\tif (globalLastLoadedModules === moduleKey || globalIsLoading) {\n\t\t\t\t\tif (globalInitialLoad) {\n\t\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t\t\tglobalInitialLoad = false\n\t\t\t\t\t}\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\n\t\t\t\tglobalIsLoading = true\n\t\t\t\tglobalLastLoadedModules = moduleKey\n\t\t\t\tsetIsLoading(true)\n\t\n\t\t\t\tloadModuleTranslations(modulesToLoad, i18nInstance).finally(() => {\n\t\t\t\t\tglobalIsLoading = false\n\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t\tglobalInitialLoad = false\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\t// No modules to load, but still need to handle initial load state\n\t\t\t\tif (globalInitialLoad) {\n\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t\tglobalInitialLoad = false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [location.pathname, t, user, loading])\n\n\treturn { isLoading }\n};\n\nexport default useAppTranslations;\n","import { useCallback, useState, useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { usePages } from './use-pages';\nimport { useLocation } from 'react-router-dom';\ninterface FilterParams {\n\tskip: number;\n\tlimit: number;\n\tsearch?: string;\n\tselect?: string;\n\torder?: string;\n\tfilters?: string;\n}\n\ninterface ActivePage {\n\tsort?: { id: string; desc: boolean };\n\tfilterQueryString?: string;\n\tsearch?: string;\n\tvisible_columns?: { visible: boolean; accessorKey: string }[];\n}\n\nconst useGenericDataFetcher = (\n\tcols?: ActivePage,\n\tpagination: { skip: number; limit: number },\n\tfetchAction: (filters: FilterParams) => void,\n\tcustomeFilter: any = '',\n\tcustomDeps?: any[],\n\tshowCreatedBy: boolean = true,\n\tcustomFields?: any = []\n) => {\n\tconst { activePage } = usePages();\n\tconst dispatch = useDispatch();\n\tconst location = useLocation();\n\n\tconst sourceColumns = Array.isArray(cols) ? cols?.filter((col: any) => col.visible) : activePage?.visible_columns;\n\n\tconst [trackedPath, setTrackedPath] = useState<string | null>(null);\n\tconst [trackedColumns, setTrackedColumns] = useState<any[]>([]);\n\n\tuseEffect(() => {\n\t\tif (trackedPath !== location?.pathname) {\n\t\t\tsetTrackedPath(location?.pathname);\n\t\t\tsetTrackedColumns([]);\n\t\t}\n\t}, [location?.pathname, trackedPath]);\n\n\tuseEffect(() => {\n\t\tif (trackedPath === location?.pathname && sourceColumns?.length > 0) {\n\t\t\tif (JSON.stringify(trackedColumns) !== JSON.stringify(sourceColumns)) {\n\t\t\t\tsetTrackedColumns(sourceColumns);\n\t\t\t}\n\t\t}\n\t}, [location?.pathname, trackedPath, sourceColumns]);\n\n\tconst getProcessedFilters = useCallback(() => {\n\t\tconst { filterQueryString } = activePage || {};\n\t\tconst queryString = filterQueryString?.replaceAll(/[()]/g, \"\") || '';\n\t\tconst extraQueryString = queryString.length ? `&${queryString}` : '';\n\t\tlet filters = customeFilter;\n\n\t\tif (extraQueryString) {\n\t\t\tfilters = filters ? `(${filters}${extraQueryString})` : `(${extraQueryString})`;\n\t\t} else if (filters) {\n\t\t\tfilters = `(${filters})`;\n\t\t}\n\n\t\treturn filters || undefined;\n\t\t//eslint-disable-next-line\n\t}, [activePage.filterQueryString, customeFilter]);\n\n\tconst fetchData = useCallback(() => {\n\t\tif (!fetchAction) {\n\t\t\treturn;\n\t\t}\n\t\tconst { sort = null, search } = activePage;\n\n\t\tif (!trackedColumns || trackedColumns.length === 0) return;\n\n\t\tconst filters = getProcessedFilters();\n\t\tconst visibleColumns = trackedColumns?.filter((vc) => vc.visible)\n\n\t\tconst selectPayload = visibleColumns?.length > 0 ? `[${visibleColumns\n\t\t\t?.map((item) =>\n\t\t\t\titem.accessorKey?.includes(\".\")\n\t\t\t\t\t? item.accessorKey.split(\".\")[0]\n\t\t\t\t\t: item.accessorKey\n\t\t\t)}${showCreatedBy ? ',created_at,created_by_data' : ''}${customFields?.length ? `,${customFields?.join(',')}` : ''}]` : undefined\n\t\tconst payload: FilterParams = {\n\t\t\tskip: activePage?.skip || pagination?.skip,\n\t\t\tlimit: pagination.limit,\n\t\t\tsearch,\n\t\t\tselect: selectPayload,\n\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t...(filters && { filters }),\n\t\t};\n\n\t\tdispatch(fetchAction(payload));\n\t\t//eslint-disable-next-line\n\t}, [\n\t\ttrackedColumns,\n\t\tactivePage.sort,\n\t\tactivePage.filterQueryString,\n\t\tactivePage.search,\n\t\t// pagination?.skip,\n\t\tactivePage?.skip,\n\t\tpagination?.limit,\n\t\tdispatch,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t...(customDeps || []),\n\t]);\n\n\n\n\treturn fetchData;\n};\n\nexport default useGenericDataFetcher;\n","import React, { createContext, useContext, ReactNode, Suspense } from 'react';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { ThemeProvider } from '@mui/material/styles';\nimport CssBaseline from '@mui/material/CssBaseline';\nimport { SnackbarProvider } from 'notistack';\nimport { BrowserRouter } from 'react-router-dom';\nimport { createLibraryStore, ApiClientConfig } from '../../redux';\nimport { createLightTheme, createDarkTheme, Color } from '../../theme';\nimport { AuthProvider } from '../../contexts/AuthContext';\nimport { LanguageProvider } from '../../contexts/languageContext';\nimport { PageProvider } from '../../contexts/page-context';\nimport { PermissionsProvider } from '../../contexts/permission-context';\nimport MUIThemeWrapper from '../../theme/themeWrapper';\nimport Loader from '../loader';\nimport useAppTranslations from '../../hooks/use-translations';\nimport '../../utils/i18n';\nimport { initializeApiConfig, ApiConfig } from '../../utils/api-config';\nimport { initializeApiBaseUrls, extendApiConfigurations } from '../../utils/api';\n\n// Context for library configuration\ninterface ERPUIContextValue {\n useRedux: boolean;\n apiClient?: ApiClientConfig;\n theme?: any;\n themeMode: 'light' | 'dark';\n direction: 'ltr' | 'rtl';\n primaryColor?: Color;\n}\n\nconst ERPUIContext = createContext<ERPUIContextValue>({\n useRedux: false,\n themeMode: 'light',\n direction: 'ltr',\n});\n\nexport const useERPUI = () => useContext(ERPUIContext);\n\n// Provider props interface\ninterface ERPUIProviderProps {\n children: ReactNode;\n\n // Redux configuration\n useRedux?: boolean;\n reduxStore?: any;\n apiClient?: ApiClientConfig;\n additionalReducers?: Record<string, any>;\n\n // Theme configuration\n theme?: any;\n themeMode?: 'light' | 'dark';\n primaryColor?: Color;\n direction?: 'ltr' | 'rtl';\n\n // Context providers configuration\n enableAuth?: boolean;\n enableLanguage?: boolean;\n enablePages?: boolean;\n enablePermissions?: boolean;\n enableRouter?: boolean;\n enableSnackbar?: boolean;\n\n // Other configuration\n enableCssBaseline?: boolean;\n snackbarConfig?: {\n maxSnack?: number;\n anchorOrigin?: {\n vertical: 'top' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n autoHideDuration?: number;\n };\n\n // API configuration\n apiConfig?: ApiConfig;\n\n // Additional API configurations to extend the shared apiConfigurations map\n additionalApiConfigurations?: Record<string, any>;\n\n // Route maps\n routeToColumnsMap?: Record<string, any>;\n routeToResourceMap?: Record<string, any>;\n publicRoutes?: string[]; // Optional prop to allow customization of public routes in AuthProvider\n}\n\nexport const ERPUIProvider: React.FC<ERPUIProviderProps> = ({\n children,\n\n // Redux props\n useRedux = false,\n reduxStore,\n apiClient,\n additionalReducers = {},\n\n // Theme props\n theme: customTheme,\n themeMode = 'light',\n primaryColor,\n direction = 'ltr',\n\n // Context providers configuration\n enableAuth = true,\n enableLanguage = true,\n enablePages = true,\n enablePermissions = true,\n enableRouter = false, // Default false since consuming app usually provides router\n enableSnackbar = true,\n\n // Other props\n enableCssBaseline = true,\n snackbarConfig = {\n maxSnack: 3,\n anchorOrigin: { vertical: 'top', horizontal: 'right' },\n autoHideDuration: 5000,\n },\n\n // API configuration\n apiConfig: providedApiConfig,\n additionalApiConfigurations,\n routeToColumnsMap,\n routeToResourceMap,\n publicRoutes = [], // Default empty array for public routes in AuthProvider \n}) => {\n console.log(\"additionalApiConfigurations...........\",additionalApiConfigurations)\n\n // Initialize API configuration synchronously before first render\n // This prevents \"API configuration not initialized\" errors when components\n // try to use the API during initial render\n const isInitialized = React.useRef(false);\n\n if (providedApiConfig && !isInitialized.current) {\n try {\n initializeApiConfig(providedApiConfig);\n initializeApiBaseUrls();\n if (additionalApiConfigurations) {\n extendApiConfigurations(additionalApiConfigurations);\n }\n isInitialized.current = true;\n } catch (error) {\n console.error('Failed to initialize API configuration:', error);\n }\n }\n // const { isLoading } = useAppTranslations();\n // if (isLoading) {\n // return <Loader />;\n // }\n // Create or use provided Redux store\n const store = React.useMemo(() => {\n if (!useRedux) return null;\n\n if (reduxStore) {\n return reduxStore;\n }\n\n return createLibraryStore(additionalReducers, apiClient);\n }, [useRedux, reduxStore, additionalReducers, apiClient]);\n\n // Create theme\n const theme = React.useMemo(() => {\n if (customTheme) {\n return customTheme;\n }\n\n const themeCreator = themeMode === 'dark' ? createDarkTheme : createLightTheme;\n const { theme: generatedTheme } = themeCreator(primaryColor, direction);\n return generatedTheme;\n }, [customTheme, themeMode, primaryColor, direction]);\n\n // Context value\n const contextValue: ERPUIContextValue = {\n useRedux,\n apiClient,\n theme,\n themeMode,\n direction,\n primaryColor,\n };\n\n // Build provider tree from inside out\n let content = (\n <ERPUIContext.Provider value={contextValue}>\n {/* <ThemeProvider theme={theme}>\n {enableCssBaseline && <CssBaseline />} */}\n {/* <Suspense fallback={<Loader />}> */}\n <MUIThemeWrapper theme={theme} enableCssBaseline={enableCssBaseline}>\n {children}\n </MUIThemeWrapper>\n {/* </Suspense> */}\n {/* </ThemeProvider> */}\n </ERPUIContext.Provider>\n );\n\n // Wrap with snackbar provider if enabled\n if (enableSnackbar) {\n content = (\n <SnackbarProvider {...snackbarConfig}>\n {content}\n </SnackbarProvider>\n );\n }\n\n // Wrap with page provider if enabled\n // if (enablePages) {\n // content = (\n // <PageProvider routeToColumnsMap={routeToColumnsMap} routeToResourceMap={routeToResourceMap}>\n // {content}\n // </PageProvider>\n // );\n // }\n\n // Wrap with permissions provider if enabled\n if (enablePermissions) {\n content = (\n <PermissionsProvider>\n {content}\n </PermissionsProvider>\n );\n }\n\n // Wrap with language provider if enabled\n if (enableLanguage) {\n content = (\n <LanguageProvider>\n {content}\n </LanguageProvider>\n );\n }\n\n // Wrap with auth provider if enabled\n if (enableAuth) {\n content = (\n <AuthProvider publicRoutes={publicRoutes}>\n {content}\n </AuthProvider>\n );\n }\n\n // Wrap with router if enabled\n if (enableRouter) {\n content = (\n <BrowserRouter>\n {content}\n </BrowserRouter>\n );\n }\n\n // Wrap with Redux provider if enabled\n if (useRedux && store) {\n content = (\n <ReduxProvider store={store}>\n {content}\n </ReduxProvider>\n );\n }\n\n return content;\n};\n\nexport default ERPUIProvider;","import { enqueueSnackbar } from \"notistack\";\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?:any\n};\n\ntype Callback = () => void;\n\nexport function apiHelper(res: ApiResponse, callBack?: Callback): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n return res.error?.message ? JSON.parse(res.error.message) : null;\n } catch {\n return { message: \"Something went wrong\" };\n }\n })();\n\n const message = errorMessage?.message?.replace(\"Error:\", \"\").trim() || \"Something went wrong\";\n\n enqueueSnackbar(message, {\n variant: \"error\",\n });\n return\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n } else if (callBack) {\n console.warn(\"Provided callBack is not a function.\");\n }\n}\n"],"names":["React","jsx","ReduxProvider","_a"],"mappings":";;;;;;;;;;;;;;;;AAQA,IAAI,0BAA0B;AAC9B,IAAI,kBAAkB;AACtB,IAAI,oBAAoB;AAEjB,MAAM,qBAAqB,MAAM;AACvC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,iBAAiB;AAC5D,QAAM,WAAW,OAAO;AACxB,QAAM,eAAe,QAAA;AACrB,QAAM,EAAE,MAAM,QAAA,IAAY,QAAA;AAC1B,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,YAAU,MAAM;AACf,UAAM,aAAa,QAAQ,CAAC;AAC5B,UAAM,cAAc,SAAS,SAAS,YAAA;AACtC,SAAG,6BAAM,OAAM,CAAC,SAAS;AAExB,YAAM,gBAAgB,WAAW;AAAA,QAChC,CAAC,QAAA;;AACA,qBAAI,KAAK,YAAA,MAAkB,iBAC3B,SAAI,oBAAJ,mBAAqB,KAAK,CAAC,UAAkB,YAAY,WAAW,MAAM,aAAa;AAAA;AAAA,MAAC;AAG1F,UAAI,gBAA0B,CAAA;AAE9B,UAAI,+CAAe,mBAAmB;AACrC,wBAAgB,CAAC,GAAG,cAAc,mBAAmB,QAAQ;AAAA,MAC9D,WAAW,CAAC,iBAAiB,gBAAgB,cAAc;AAC1D,wBAAgB,CAAC,QAAQ;AAAA,MAC1B;AAEA,UAAI,cAAc,SAAS,GAAG;AAC7B,cAAM,YAAY,CAAC,GAAG,aAAa,EAAE,KAAA,EAAO,KAAK,GAAG;AAGpD,YAAI,4BAA4B,aAAa,iBAAiB;AAC7D,cAAI,mBAAmB;AACtB,yBAAa,KAAK;AAClB,gCAAoB;AAAA,UACrB;AACA;AAAA,QACD;AAEA,0BAAkB;AAClB,kCAA0B;AAC1B,qBAAa,IAAI;AAEjB,+BAAuB,eAAe,YAAY,EAAE,QAAQ,MAAM;AACjE,4BAAkB;AAClB,uBAAa,KAAK;AAClB,8BAAoB;AAAA,QACrB,CAAC;AAAA,MACF,OAAO;AAEN,YAAI,mBAAmB;AACtB,uBAAa,KAAK;AAClB,8BAAoB;AAAA,QACrB;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,UAAU,GAAG,MAAM,OAAO,CAAC;AAExC,SAAO,EAAE,UAAA;AACV;AClDA,MAAM,wBAAwB,CAC7B,MACA,YACA,aACA,gBAAqB,IACrB,YACA,gBAAyB,MACzB,eAAqB,CAAA,MACjB;AACJ,QAAM,EAAE,WAAA,IAAe,SAAA;AACvB,QAAM,WAAW,YAAA;AACjB,QAAM,WAAW,YAAA;AAEjB,QAAM,gBAAgB,MAAM,QAAQ,IAAI,IAAI,6BAAM,OAAO,CAAC,QAAa,IAAI,WAAW,yCAAY;AAElG,QAAM,CAAC,aAAa,cAAc,IAAI,SAAwB,IAAI;AAClE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAgB,CAAA,CAAE;AAE9D,YAAU,MAAM;AACf,QAAI,iBAAgB,qCAAU,WAAU;AACvC,qBAAe,qCAAU,QAAQ;AACjC,wBAAkB,CAAA,CAAE;AAAA,IACrB;AAAA,EACD,GAAG,CAAC,qCAAU,UAAU,WAAW,CAAC;AAEpC,YAAU,MAAM;AACf,QAAI,iBAAgB,qCAAU,cAAY,+CAAe,UAAS,GAAG;AACpE,UAAI,KAAK,UAAU,cAAc,MAAM,KAAK,UAAU,aAAa,GAAG;AACrE,0BAAkB,aAAa;AAAA,MAChC;AAAA,IACD;AAAA,EACD,GAAG,CAAC,qCAAU,UAAU,aAAa,aAAa,CAAC;AAEnD,QAAM,sBAAsB,YAAY,MAAM;AAC7C,UAAM,EAAE,sBAAsB,cAAc,CAAA;AAC5C,UAAM,eAAc,uDAAmB,WAAW,SAAS,QAAO;AAClE,UAAM,mBAAmB,YAAY,SAAS,IAAI,WAAW,KAAK;AAClE,QAAI,UAAU;AAEd,QAAI,kBAAkB;AACrB,gBAAU,UAAU,IAAI,OAAO,GAAG,gBAAgB,MAAM,IAAI,gBAAgB;AAAA,IAC7E,WAAW,SAAS;AACnB,gBAAU,IAAI,OAAO;AAAA,IACtB;AAEA,WAAO,WAAW;AAAA,EAEnB,GAAG,CAAC,WAAW,mBAAmB,aAAa,CAAC;AAEhD,QAAM,YAAY,YAAY,MAAM;AACnC,QAAI,CAAC,aAAa;AACjB;AAAA,IACD;AACA,UAAM,EAAE,OAAO,MAAM,OAAA,IAAW;AAEhC,QAAI,CAAC,kBAAkB,eAAe,WAAW,EAAG;AAEpD,UAAM,UAAU,oBAAA;AAChB,UAAM,iBAAiB,iDAAgB,OAAO,CAAC,OAAO,GAAG;AAEzD,UAAM,iBAAgB,iDAAgB,UAAS,IAAI,IAAI,iDACpD;AAAA,MAAI,CAAC,SAAA;;AACN,2BAAK,gBAAL,mBAAkB,SAAS,QACxB,KAAK,YAAY,MAAM,GAAG,EAAE,CAAC,IAC7B,KAAK;AAAA;AAAA,KACR,GAAG,gBAAgB,gCAAgC,EAAE,IAAG,6CAAc,UAAS,IAAI,6CAAc,KAAK,IAAI,KAAK,EAAE,MAAM;AACzH,UAAM,UAAwB;AAAA,MAC7B,OAAM,yCAAY,UAAQ,yCAAY;AAAA,MACtC,OAAO,WAAW;AAAA,MAClB;AAAA,MACA,QAAQ;AAAA,MACR,GAAI,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,KAAK,CAAC,GAAA;AAAA,MACrD,GAAI,WAAW,EAAE,QAAA;AAAA,IAAQ;AAG1B,aAAS,YAAY,OAAO,CAAC;AAAA,EAE9B,GAAG;AAAA,IACF;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,IAEX,yCAAY;AAAA,IACZ,yCAAY;AAAA,IACZ;AAAA;AAAA,IAEA,GAAI,cAAc,CAAA;AAAA,EAAC,CACnB;AAID,SAAO;AACR;ACpFA,MAAM,eAAe,cAAiC;AAAA,EACpD,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AACb,CAAC;AAEM,MAAM,WAAW,MAAM,WAAW,YAAY;AAiD9C,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA;AAAA,EAGA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,qBAAqB,CAAA;AAAA;AAAA,EAGrB,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA;AAAA,EAGZ,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,eAAe;AAAA;AAAA,EACf,iBAAiB;AAAA;AAAA,EAGjB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,cAAc,EAAE,UAAU,OAAO,YAAY,QAAA;AAAA,IAC7C,kBAAkB;AAAA,EAAA;AAAA;AAAA,EAIpB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,CAAA;AAAA;AACjB,MAAM;AACJ,UAAQ,IAAI,0CAAyC,2BAA2B;AAKhF,QAAM,gBAAgBA,eAAM,OAAO,KAAK;AAExC,MAAI,qBAAqB,CAAC,cAAc,SAAS;AAC/C,QAAI;AACF,0BAAoB,iBAAiB;AACrC,4BAAA;AACA,UAAI,6BAA6B;AAC/B,gCAAwB,2BAA2B;AAAA,MACrD;AACA,oBAAc,UAAU;AAAA,IAC1B,SAAS,OAAO;AACd,cAAQ,MAAM,2CAA2C,KAAK;AAAA,IAChE;AAAA,EACF;AAMA,QAAM,QAAQA,eAAM,QAAQ,MAAM;AAChC,QAAI,CAAC,SAAU,QAAO;AAEtB,QAAI,YAAY;AACd,aAAO;AAAA,IACT;AAEA,WAAO,mBAAmB,oBAAoB,SAAS;AAAA,EACzD,GAAG,CAAC,UAAU,YAAY,oBAAoB,SAAS,CAAC;AAGxD,QAAM,QAAQA,eAAM,QAAQ,MAAM;AAChC,QAAI,aAAa;AACf,aAAO;AAAA,IACT;AAEA,UAAM,eAAe,cAAc,SAAS,kBAAkB;AAC9D,UAAM,EAAE,OAAO,eAAA,IAAmB,aAAa,cAAc,SAAS;AACtE,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,WAAW,cAAc,SAAS,CAAC;AAGpD,QAAM,eAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAIF,MAAI,UACFC,kCAAAA,IAAC,aAAa,UAAb,EAAsB,OAAO,cAI5B,UAAAA,kCAAAA,IAAC,iBAAA,EAAgB,OAAc,mBAC5B,SAAA,CACH,GAGF;AAIF,MAAI,gBAAgB;AAClB,cACEA,kCAAAA,IAAC,kBAAA,EAAkB,GAAG,gBACnB,UAAA,SACH;AAAA,EAEJ;AAYA,MAAI,mBAAmB;AACrB,cACEA,kCAAAA,IAAC,uBACE,UAAA,QAAA,CACH;AAAA,EAEJ;AAGA,MAAI,gBAAgB;AAClB,cACEA,kCAAAA,IAAC,oBACE,UAAA,QAAA,CACH;AAAA,EAEJ;AAGA,MAAI,YAAY;AACd,cACEA,kCAAAA,IAAC,cAAA,EAAa,cACX,UAAA,SACH;AAAA,EAEJ;AAGA,MAAI,cAAc;AAChB,cACEA,kCAAAA,IAAC,iBACE,UAAA,QAAA,CACH;AAAA,EAEJ;AAGA,MAAI,YAAY,OAAO;AACrB,cACEA,kCAAAA,IAACC,UAAA,EAAc,OACZ,UAAA,SACH;AAAA,EAEJ;AAEA,SAAO;AACT;ACjPO,SAAS,UAAU,KAAkB,UAA2B;;AACrE,QAAI,gCAAK,SAAL,mBAAW,mBAAkB,YAAY;AAC3C,UAAM,gBAAgB,MAAM;;AAC1B,UAAI;AACF,iBAAOC,MAAA,IAAI,UAAJ,gBAAAA,IAAW,WAAU,KAAK,MAAM,IAAI,MAAM,OAAO,IAAI;AAAA,MAC9D,QAAQ;AACN,eAAO,EAAE,SAAS,uBAAA;AAAA,MACpB;AAAA,IACF,GAAA;AAEA,UAAM,YAAU,kDAAc,YAAd,mBAAuB,QAAQ,UAAU,IAAI,WAAU;AAEvE,oBAAgB,SAAS;AAAA,MACvB,SAAS;AAAA,IAAA,CACV;AACD;AAAA,EACF;AAEA,MAAI,YAAY,OAAO,aAAa,YAAY;AAC9C,aAAA;AAAA,EACF,WAAW,UAAU;AACnB,YAAQ,KAAK,sCAAsC;AAAA,EACrD;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"modules-BDHGBfwa.js","sources":["../../src/constants/pathnames/pathname.document.ts","../../src/constants/pathnames/pathname.onboarding.ts","../../src/constants/modules.ts"],"sourcesContent":["import { Pathname } from \"./pathname\";\n\nexport const PathnameGenerator = (name: string) => {\n return Pathname.DASHBOARD_DOCUMENT + name;\n};\n\nexport let PathnameDocument = {\n LANDING_PAGE: \"/\",\n PRIVATE: \"/private\",\n SHARED: \"/shared\",\n PUBLIC: \"/public\",\n SETTING: \"/setting\",\n FORMS: \"/setting/forms\",\n ADD_CUSTOM_FIELDS: \"/setting/forms/add-custom-fields\",\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Pathname } from \"./pathname\";\n\nexport const PathnameGenerator = (name: string): string => Pathname.DASHBOARD_ONBOARDING + name;\n\nconst CRUD_ACTIONS = { ADD: 'add', VIEW: 'view', EDIT: 'edit' } as const;\n\ntype ModulePaths = Record<string, string>;\n\nexport const MAIN_MENU: ModulePaths = {\n SETTINGS: 'settings',\n};\n\nexport const MODULES: ModulePaths = {\n SETTINGS: 'settings',\n};\n\nexport const generateCrudPaths = (\n base: string,\n entity: string,\n prefix = '',\n keyPostfix = ''\n) =>\n { \n // console.log(\"CROSS_HIRE_ORDERS_GRNS 111\", MODULES[base])\n return Object.fromEntries(\n Object.entries(CRUD_ACTIONS).map(([key, action]) => {\n const isEditOrView = action === 'edit' || action === 'view';\n const id = (isEditOrView && MODULES[base]?.includes(':id')) ? `:${entity?.replace('-', \"\")}Id` : ':id'\n const routeParts = [prefix, MODULES[base]];\n if (isEditOrView) {\n routeParts.push(id, `${action}-${entity}`);\n } else {\n routeParts.push(`${action}-${entity}`);\n }\n\n return [\n `${key}_${keyPostfix.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()}`,\n `/${routeParts.filter(Boolean).join('/')}`,\n ];\n })\n );\n}\n\n\nexport const generateModulePaths = (mainModule: keyof typeof MAIN_MENU, subModule: keyof typeof MODULES = '', entity: string, keyPostfix = '') => ({\n [subModule.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()]: `/${[MAIN_MENU[mainModule], MODULES[subModule]].filter(Boolean).join('/')}`,\n ...generateCrudPaths(subModule, entity, MAIN_MENU[mainModule], keyPostfix),\n});\n\nexport const PathnameOnBoarding: Record<any, string> = {\n LANDING_PAGE: '/',\n LIST: '/list',\n FORMS: \"/settings/forms\",\n};\n\n","import { Pathname } from \"./pathnames/pathname\";\nimport image from \"../assets/images\";\nimport { PathnameUsers } from \"./pathnames/pathname.user\";\nimport { PathnameAccounting } from \"./pathnames/pathname.accounting\";\nimport { PathnameDocument } from \"./pathnames/pathname.document\";\nimport { PathnameInventory } from \"./pathnames/pathname.inventory\";\nimport { PathnameManufacturing } from \"./pathnames/pathname.manufacturing\";\nimport { PathnameCrm } from \"./pathnames/pathname.crm\";\nimport { PathnamePurchase } from \"./pathnames/pathname.procurement\";\nimport { PathnameRental } from \"./pathnames/pathname.rental\";\nimport { PathnameHrms } from \"./pathnames/pathname.hrms\";\nimport { PathnameOnBoarding } from \"./pathnames/pathname.onboarding\";\nimport { getApiConfig } from \"../utils/api-config\";\n\n// Helper to conditionally create the onboarding menu item\nconst getOnboardingMenuItem = (t: any, env: string) => {\n if (!['ksa'].includes(env)) {\n return [];\n }\n\n return [\n {\n label: t(\"onboarding.name\"),\n link: Pathname.DASHBOARD_ONBOARDING,\n sidebar: image.sidebar.user,\n bacModuleName: \"user\",\n icon: image.user,\n permission: \"\",\n beModuleName: \"rbac\",\n bg: \"rgba(204, 172, 255, 0.10)\",\n connectedRoutes: Object.values(PathnameOnBoarding).map(\n (path: string) => Pathname.DASHBOARD_ONBOARDING + path\n ),\n translationModule: [\"onboarding\"],\n },\n ];\n};\n\nconst modules = (t: any) => {\n const u_data = localStorage.getItem(\"_u_data\") || undefined;\n const userData = u_data ? JSON.parse(u_data) : \"\";\n const config: any = getApiConfig();\n const access_modules = userData?.module_access || [];\n const VITE_APP_ENV = config?.zatcaEnvironment || 'simulation';\n const accessibleModules = access_modules.map((module: any) => module.module_name);\n const accessibleModulesSet = new Set(accessibleModules);\n\n const MenuBar = [\n {\n label: t(\"user.name\"),\n link: Pathname.DASHBOARD_USER,\n sidebar: image.sidebar.user,\n bacModuleName: \"user\",\n icon: image.user,\n permission: \"\",\n beModuleName: \"rbac\",\n bg: \"rgba(204, 172, 255, 0.10)\",\n connectedRoutes: Object.values(PathnameUsers).map(\n (path: string) => Pathname.DASHBOARD_USER + path\n ),\n translationModule: [\"user\"]\n },\n {\n label: t(\"document.name\"),\n link: Pathname.DASHBOARD_DOCUMENT,\n sidebar: image.sidebar.document,\n bacModuleName: \"document\",\n icon: image.document,\n permission: \"\",\n beModuleName: \"document\",\n bg: \"rgba(255, 164, 125, 0.10)\",\n connectedRoutes: Object.values(PathnameDocument).map(\n (path: string) => Pathname.DASHBOARD_DOCUMENT + path\n ),\n translationModule: [\"document\"]\n },\n {\n label: t(\"accounting.name\"),\n link: Pathname.DASHBOARD_ACCOUNTING,\n sidebar: image.sidebar.accountingIcon,\n bacModuleName: \"accounts-and-finance\",\n icon: image.accounting,\n permission: \"\",\n beModuleName: \"accounts-and-finance\",\n bg: \"rgba(102, 215, 113, 0.10)\",\n connectedRoutes: Object.values(PathnameAccounting).map(\n (path: string) => Pathname.DASHBOARD_ACCOUNTING + path\n ),\n translationModule: [\"accounting\"]\n },\n {\n label: t(\"inventory.name\"),\n link: Pathname.DASHBOARD_INVENTORY,\n sidebar: image.sidebar.inventoryIcon,\n bacModuleName: \"inventory\",\n icon: image.inventory,\n permission: \"\",\n beModuleName: \"inventory\",\n bg: \"rgba(102, 120, 215, 0.20)\",\n connectedRoutes: Object.values(PathnameInventory).map(\n (path: string) => Pathname.DASHBOARD_INVENTORY + path\n ),\n translationModule: [\"inventory\"]\n },\n {\n label: t(\"project.name\"),\n link: Pathname.DASHBOARD_PROJECT,\n sidebar: image.sidebar.projectIcon,\n bacModuleName: \"project\",\n icon: image.project,\n permission: \"\",\n beModuleName: \"project\",\n bg: \"rgba(215, 102, 170, 0.10)\",\n connectedRoutes: [],\n translationModule: [\"project\"]\n },\n {\n label: t(\"procurement.name\"),\n link: Pathname.DASHBOARD_PROCUREMENT,\n sidebar: image.sidebar.procurementIcon,\n bacModuleName: \"purchase\",\n icon: image.procurement,\n permission: \"\",\n beModuleName: \"purchase\",\n bg: \"rgba(255, 125, 172, 0.10)\",\n connectedRoutes: Object.values(PathnamePurchase).map(\n (path: string) => Pathname.DASHBOARD_PROCUREMENT + path\n ),\n // connectedRoutes: [],\n translationModule: [\"procurement\"]\n },\n {\n label: t(\"manufacturing.name\"),\n link: Pathname.DASHBOARD_MANUFACTURING,\n sidebar: image.sidebar.manufacturingIcon,\n bacModuleName: \"manufacturing\",\n icon: image.manufacturing,\n permission: \"\",\n beModuleName: \"manufacturing\",\n bg: \"rgba(244, 96, 54, 0.10)\",\n connectedRoutes: Object.values(PathnameManufacturing).map(\n (path: string) => Pathname.DASHBOARD_MANUFACTURING + path\n ),\n translationModule: [\"manufacturing\"]\n },\n {\n label: t(\"crm.name\"),\n link: Pathname.DASHBOARD_CRM,\n sidebar: image.sidebar.crmIcon,\n bacModuleName: \"sales\",\n icon: image.crm,\n permission: \"\",\n beModuleName: \"sales\",\n bg: \"rgba(111, 102, 215, 0.10)\",\n connectedRoutes: Object.values(PathnameCrm).map(\n (path: string) => Pathname.DASHBOARD_CRM + path\n ),\n translationModule: [\"crm\"]\n },\n // {\n // label: t(\"purchase.name\"),\n // link: Pathname.DASHBOARD_PURCHASE,\n // sidebar: image.sidebar.purchaseIcon,\n // icon: image.sidebar.purchaseIcon,\n // permission: \"\",\n // bg: \"rgba(111, 102, 215, 0.10)\",\n // connectedRoutes: [],\n // },\n {\n label: t(\"hrms.name\"),\n link: Pathname.DASHBOARD_HRMS,\n sidebar: image.sidebar.hrmsIcon,\n bacModuleName: \"hrms\",\n icon: image.hrms,\n permission: \"\",\n beModuleName: \"hrms\",\n bg: \"rgba(75, 179, 255, 0.10)\",\n connectedRoutes: Object.values(PathnameHrms).map(\n (path: string) => Pathname.DASHBOARD_HRMS + path\n ),\n translationModule: [\"hrms\"]\n },\n {\n label: t(\"office.name\"),\n link: Pathname.DASHBOARD_OFFICE,\n sidebar: image.sidebar.officeIcon,\n bacModuleName: \"office\",\n icon: image.office,\n permission: \"\",\n beModuleName: \"office\",\n bg: \"rgba(0, 172, 131, 0.10)\",\n connectedRoutes: [],\n translationModule: [\"office\"]\n },\n {\n label: t(\"rental.name\"),\n link: Pathname.DASHBOARD_RENTAL,\n sidebar: image.sidebar.rentalIcon,\n bacModuleName: \"rental\",\n icon: image.rental,\n permission: \"\",\n beModuleName: \"rental\",\n bg: \"rgba(0, 121, 63, 0.10)\",\n connectedRoutes: Object.values(PathnameRental).map(\n (path: string) => Pathname.DASHBOARD_RENTAL + path\n ),\n translationModule: [\"rental\",\"inventory\"]\n },\n {\n label: \"Settings\",\n link: Pathname.DASHBOARD_QUOTES,\n sidebar: image.sidebar.setting,\n bacModuleName: \"setting\",\n icon: image.settings,\n permission: \"\",\n beModuleName: \"setting\",\n bg: \"rgba(125, 154, 255, 0.10)\",\n connectedRoutes: [],\n translationModule: [\"settings\"]\n },\n ...getOnboardingMenuItem(t, VITE_APP_ENV),\n ];\n\n function filterMenu(menu: any[]) {\n return menu.filter((item) => {\n const isModuleAccessible = accessibleModulesSet.has(item.bacModuleName);\n let hasValidSubmenu = false;\n\n if (item.submenu && item.submenu.length > 0) {\n item.submenu = filterMenu(item.submenu); // Recursively filter submenu\n hasValidSubmenu = item.submenu.length > 0;\n }\n\n return isModuleAccessible || hasValidSubmenu;\n });\n }\n\n const filteredMenu = filterMenu(MenuBar);\n\n return filteredMenu;\n};\n\nexport default modules;"],"names":["Pathname","image","getApiConfig","module","PathnameUsers","PathnameAccounting","PathnameInventory","PathnamePurchase","PathnameManufacturing","PathnameCrm","PathnameHrms","PathnameRental"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"modules-UIv-lDBW.esm.js","sources":["../../src/constants/pathnames/pathname.document.ts","../../src/constants/pathnames/pathname.onboarding.ts","../../src/constants/modules.ts"],"sourcesContent":["import { Pathname } from \"./pathname\";\n\nexport const PathnameGenerator = (name: string) => {\n return Pathname.DASHBOARD_DOCUMENT + name;\n};\n\nexport let PathnameDocument = {\n LANDING_PAGE: \"/\",\n PRIVATE: \"/private\",\n SHARED: \"/shared\",\n PUBLIC: \"/public\",\n SETTING: \"/setting\",\n FORMS: \"/setting/forms\",\n ADD_CUSTOM_FIELDS: \"/setting/forms/add-custom-fields\",\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Pathname } from \"./pathname\";\n\nexport const PathnameGenerator = (name: string): string => Pathname.DASHBOARD_ONBOARDING + name;\n\nconst CRUD_ACTIONS = { ADD: 'add', VIEW: 'view', EDIT: 'edit' } as const;\n\ntype ModulePaths = Record<string, string>;\n\nexport const MAIN_MENU: ModulePaths = {\n SETTINGS: 'settings',\n};\n\nexport const MODULES: ModulePaths = {\n SETTINGS: 'settings',\n};\n\nexport const generateCrudPaths = (\n base: string,\n entity: string,\n prefix = '',\n keyPostfix = ''\n) =>\n { \n // console.log(\"CROSS_HIRE_ORDERS_GRNS 111\", MODULES[base])\n return Object.fromEntries(\n Object.entries(CRUD_ACTIONS).map(([key, action]) => {\n const isEditOrView = action === 'edit' || action === 'view';\n const id = (isEditOrView && MODULES[base]?.includes(':id')) ? `:${entity?.replace('-', \"\")}Id` : ':id'\n const routeParts = [prefix, MODULES[base]];\n if (isEditOrView) {\n routeParts.push(id, `${action}-${entity}`);\n } else {\n routeParts.push(`${action}-${entity}`);\n }\n\n return [\n `${key}_${keyPostfix.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()}`,\n `/${routeParts.filter(Boolean).join('/')}`,\n ];\n })\n );\n}\n\n\nexport const generateModulePaths = (mainModule: keyof typeof MAIN_MENU, subModule: keyof typeof MODULES = '', entity: string, keyPostfix = '') => ({\n [subModule.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()]: `/${[MAIN_MENU[mainModule], MODULES[subModule]].filter(Boolean).join('/')}`,\n ...generateCrudPaths(subModule, entity, MAIN_MENU[mainModule], keyPostfix),\n});\n\nexport const PathnameOnBoarding: Record<any, string> = {\n LANDING_PAGE: '/',\n LIST: '/list',\n FORMS: \"/settings/forms\",\n};\n\n","import { Pathname } from \"./pathnames/pathname\";\nimport image from \"../assets/images\";\nimport { PathnameUsers } from \"./pathnames/pathname.user\";\nimport { PathnameAccounting } from \"./pathnames/pathname.accounting\";\nimport { PathnameDocument } from \"./pathnames/pathname.document\";\nimport { PathnameInventory } from \"./pathnames/pathname.inventory\";\nimport { PathnameManufacturing } from \"./pathnames/pathname.manufacturing\";\nimport { PathnameCrm } from \"./pathnames/pathname.crm\";\nimport { PathnamePurchase } from \"./pathnames/pathname.procurement\";\nimport { PathnameRental } from \"./pathnames/pathname.rental\";\nimport { PathnameHrms } from \"./pathnames/pathname.hrms\";\nimport { PathnameOnBoarding } from \"./pathnames/pathname.onboarding\";\nimport { getApiConfig } from \"../utils/api-config\";\n\n// Helper to conditionally create the onboarding menu item\nconst getOnboardingMenuItem = (t: any, env: string) => {\n if (!['ksa'].includes(env)) {\n return [];\n }\n\n return [\n {\n label: t(\"onboarding.name\"),\n link: Pathname.DASHBOARD_ONBOARDING,\n sidebar: image.sidebar.user,\n bacModuleName: \"user\",\n icon: image.user,\n permission: \"\",\n beModuleName: \"rbac\",\n bg: \"rgba(204, 172, 255, 0.10)\",\n connectedRoutes: Object.values(PathnameOnBoarding).map(\n (path: string) => Pathname.DASHBOARD_ONBOARDING + path\n ),\n translationModule: [\"onboarding\"],\n },\n ];\n};\n\nconst modules = (t: any) => {\n const u_data = localStorage.getItem(\"_u_data\") || undefined;\n const userData = u_data ? JSON.parse(u_data) : \"\";\n const config: any = getApiConfig();\n const access_modules = userData?.module_access || [];\n const VITE_APP_ENV = config?.zatcaEnvironment || 'simulation';\n const accessibleModules = access_modules.map((module: any) => module.module_name);\n const accessibleModulesSet = new Set(accessibleModules);\n\n const MenuBar = [\n {\n label: t(\"user.name\"),\n link: Pathname.DASHBOARD_USER,\n sidebar: image.sidebar.user,\n bacModuleName: \"user\",\n icon: image.user,\n permission: \"\",\n beModuleName: \"rbac\",\n bg: \"rgba(204, 172, 255, 0.10)\",\n connectedRoutes: Object.values(PathnameUsers).map(\n (path: string) => Pathname.DASHBOARD_USER + path\n ),\n translationModule: [\"user\"]\n },\n {\n label: t(\"document.name\"),\n link: Pathname.DASHBOARD_DOCUMENT,\n sidebar: image.sidebar.document,\n bacModuleName: \"document\",\n icon: image.document,\n permission: \"\",\n beModuleName: \"document\",\n bg: \"rgba(255, 164, 125, 0.10)\",\n connectedRoutes: Object.values(PathnameDocument).map(\n (path: string) => Pathname.DASHBOARD_DOCUMENT + path\n ),\n translationModule: [\"document\"]\n },\n {\n label: t(\"accounting.name\"),\n link: Pathname.DASHBOARD_ACCOUNTING,\n sidebar: image.sidebar.accountingIcon,\n bacModuleName: \"accounts-and-finance\",\n icon: image.accounting,\n permission: \"\",\n beModuleName: \"accounts-and-finance\",\n bg: \"rgba(102, 215, 113, 0.10)\",\n connectedRoutes: Object.values(PathnameAccounting).map(\n (path: string) => Pathname.DASHBOARD_ACCOUNTING + path\n ),\n translationModule: [\"accounting\"]\n },\n {\n label: t(\"inventory.name\"),\n link: Pathname.DASHBOARD_INVENTORY,\n sidebar: image.sidebar.inventoryIcon,\n bacModuleName: \"inventory\",\n icon: image.inventory,\n permission: \"\",\n beModuleName: \"inventory\",\n bg: \"rgba(102, 120, 215, 0.20)\",\n connectedRoutes: Object.values(PathnameInventory).map(\n (path: string) => Pathname.DASHBOARD_INVENTORY + path\n ),\n translationModule: [\"inventory\"]\n },\n {\n label: t(\"project.name\"),\n link: Pathname.DASHBOARD_PROJECT,\n sidebar: image.sidebar.projectIcon,\n bacModuleName: \"project\",\n icon: image.project,\n permission: \"\",\n beModuleName: \"project\",\n bg: \"rgba(215, 102, 170, 0.10)\",\n connectedRoutes: [],\n translationModule: [\"project\"]\n },\n {\n label: t(\"procurement.name\"),\n link: Pathname.DASHBOARD_PROCUREMENT,\n sidebar: image.sidebar.procurementIcon,\n bacModuleName: \"purchase\",\n icon: image.procurement,\n permission: \"\",\n beModuleName: \"purchase\",\n bg: \"rgba(255, 125, 172, 0.10)\",\n connectedRoutes: Object.values(PathnamePurchase).map(\n (path: string) => Pathname.DASHBOARD_PROCUREMENT + path\n ),\n // connectedRoutes: [],\n translationModule: [\"procurement\"]\n },\n {\n label: t(\"manufacturing.name\"),\n link: Pathname.DASHBOARD_MANUFACTURING,\n sidebar: image.sidebar.manufacturingIcon,\n bacModuleName: \"manufacturing\",\n icon: image.manufacturing,\n permission: \"\",\n beModuleName: \"manufacturing\",\n bg: \"rgba(244, 96, 54, 0.10)\",\n connectedRoutes: Object.values(PathnameManufacturing).map(\n (path: string) => Pathname.DASHBOARD_MANUFACTURING + path\n ),\n translationModule: [\"manufacturing\"]\n },\n {\n label: t(\"crm.name\"),\n link: Pathname.DASHBOARD_CRM,\n sidebar: image.sidebar.crmIcon,\n bacModuleName: \"sales\",\n icon: image.crm,\n permission: \"\",\n beModuleName: \"sales\",\n bg: \"rgba(111, 102, 215, 0.10)\",\n connectedRoutes: Object.values(PathnameCrm).map(\n (path: string) => Pathname.DASHBOARD_CRM + path\n ),\n translationModule: [\"crm\"]\n },\n // {\n // label: t(\"purchase.name\"),\n // link: Pathname.DASHBOARD_PURCHASE,\n // sidebar: image.sidebar.purchaseIcon,\n // icon: image.sidebar.purchaseIcon,\n // permission: \"\",\n // bg: \"rgba(111, 102, 215, 0.10)\",\n // connectedRoutes: [],\n // },\n {\n label: t(\"hrms.name\"),\n link: Pathname.DASHBOARD_HRMS,\n sidebar: image.sidebar.hrmsIcon,\n bacModuleName: \"hrms\",\n icon: image.hrms,\n permission: \"\",\n beModuleName: \"hrms\",\n bg: \"rgba(75, 179, 255, 0.10)\",\n connectedRoutes: Object.values(PathnameHrms).map(\n (path: string) => Pathname.DASHBOARD_HRMS + path\n ),\n translationModule: [\"hrms\"]\n },\n {\n label: t(\"office.name\"),\n link: Pathname.DASHBOARD_OFFICE,\n sidebar: image.sidebar.officeIcon,\n bacModuleName: \"office\",\n icon: image.office,\n permission: \"\",\n beModuleName: \"office\",\n bg: \"rgba(0, 172, 131, 0.10)\",\n connectedRoutes: [],\n translationModule: [\"office\"]\n },\n {\n label: t(\"rental.name\"),\n link: Pathname.DASHBOARD_RENTAL,\n sidebar: image.sidebar.rentalIcon,\n bacModuleName: \"rental\",\n icon: image.rental,\n permission: \"\",\n beModuleName: \"rental\",\n bg: \"rgba(0, 121, 63, 0.10)\",\n connectedRoutes: Object.values(PathnameRental).map(\n (path: string) => Pathname.DASHBOARD_RENTAL + path\n ),\n translationModule: [\"rental\",\"inventory\"]\n },\n {\n label: \"Settings\",\n link: Pathname.DASHBOARD_QUOTES,\n sidebar: image.sidebar.setting,\n bacModuleName: \"setting\",\n icon: image.settings,\n permission: \"\",\n beModuleName: \"setting\",\n bg: \"rgba(125, 154, 255, 0.10)\",\n connectedRoutes: [],\n translationModule: [\"settings\"]\n },\n ...getOnboardingMenuItem(t, VITE_APP_ENV),\n ];\n\n function filterMenu(menu: any[]) {\n return menu.filter((item) => {\n const isModuleAccessible = accessibleModulesSet.has(item.bacModuleName);\n let hasValidSubmenu = false;\n\n if (item.submenu && item.submenu.length > 0) {\n item.submenu = filterMenu(item.submenu); // Recursively filter submenu\n hasValidSubmenu = item.submenu.length > 0;\n }\n\n return isModuleAccessible || hasValidSubmenu;\n });\n }\n\n const filteredMenu = filterMenu(MenuBar);\n\n return filteredMenu;\n};\n\nexport default modules;"],"names":["image"],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- "use strict";
2
- const pathname_rental = require("./pathname.rental-C9fm1WTq.js");
3
- const PathnameGenerator$1 = (name) => {
4
- return pathname_rental.Pathname.DASHBOARD_USER + name;
5
- };
6
- const PathnameUsers = {
7
- LANDING_PAGE: "/",
8
- USER: "/user",
9
- ROLE: "/role",
10
- LANGUAGE: "/language",
11
- FORMS: "/setting/forms",
12
- CUSTOM_FORM: "/setting/forms/custom-form",
13
- ADD_USER: "/user/add-user",
14
- EDIT_USER: "/user/:id/edit-user",
15
- VIEW_USER: "/user/:id/view-user",
16
- ADD_ROLE: "/role/add-role",
17
- EDIT_ROLE: "/role/:id/edit-role",
18
- VIEW_ROLE: "/role/:id/view-role",
19
- WORK: "/setting/works",
20
- ADD_WORKFLOW: "/setting/works/workflow",
21
- ADD_LANGUAGE: "/language/add-language",
22
- EDIT_LANGUAGE: "/language/:id/edit-language",
23
- VIEW_LANGUAGE: "/language/:id/view-language"
24
- // EMAILS: "/setting/emails",
25
- // ADD_EMAIL_TEMPLATE: "/setting/emails/:id/add-template",
26
- // EDIT_EMAIL_TEMPLATE: "/setting/emails/:id/edit-template/:template_id",
27
- };
28
- const PathnameGenerator = (name) => {
29
- return pathname_rental.Pathname.DASHBOARD_HRMS + name;
30
- };
31
- const CRUD_ACTIONS = { ADD: "add", VIEW: "view", EDIT: "edit" };
32
- const COMPANY_MASTER_POLICY = "/company-master-policy";
33
- const MAIN_MENU = {
34
- COMPANY_MASTER_POLICY: "company-master-policy"
35
- };
36
- const MODULES = {
37
- APPROVAL_WORKFLOW: "approval-workflow",
38
- LOAN_CONFIGURATION: "loan-configuration",
39
- DOCUMENT_MASTER: "document-master",
40
- COMPANY_CALENDAR: "company-calendar",
41
- LEAVE_POLICY_MASTER: "leave-policy-master",
42
- SALARY_STRUCTURE_MASTER: "salary-structure-master",
43
- EMPLOYEE_MANAGEMENT: "employee-management"
44
- };
45
- const generateCrudPaths = (base, entity, prefix = "", keyPostfix = "") => Object.fromEntries(
46
- Object.entries(CRUD_ACTIONS).map(([key, action]) => {
47
- const isEditOrView = action === "edit" || action === "view";
48
- const routeParts = [prefix, MODULES[base]];
49
- if (isEditOrView) {
50
- routeParts.push(":id", `${action}-${entity}`);
51
- } else {
52
- routeParts.push(`${action}-${entity}`);
53
- }
54
- return [
55
- `${key}_${keyPostfix.replace(/[^a-zA-Z0-9]/g, "_").toUpperCase()}`,
56
- `/${routeParts.filter(Boolean).join("/")}`
57
- ];
58
- })
59
- );
60
- const generateModulePaths = (mainModule, subModule = "", entity, keyPostfix = "") => ({
61
- [subModule.replace(/[^a-zA-Z0-9]/g, "_").toUpperCase()]: `/${[MAIN_MENU[mainModule], MODULES[subModule]].filter(Boolean).join("/")}`,
62
- ...generateCrudPaths(subModule, entity, MAIN_MENU[mainModule], keyPostfix)
63
- });
64
- const ROUTES = {
65
- // Company Master Policy
66
- EMPLOYEE_CONTRACT_MASTER: `${COMPANY_MASTER_POLICY}/employee-contract-master`,
67
- DOCUMENT_MASTER: `${COMPANY_MASTER_POLICY}/document-master`,
68
- ACCRUALS_BENEFITS_MASTER: `${COMPANY_MASTER_POLICY}/accruals-benefits-master`,
69
- SALARY_STRUCTURE_MASTER: `${COMPANY_MASTER_POLICY}/salary-structure-master`,
70
- LOAN_CONFIGURATION_MASTER: `${COMPANY_MASTER_POLICY}/loan-configuration-master`,
71
- COMPANY_CALENDAR: `${COMPANY_MASTER_POLICY}/company-calendar`,
72
- ...generateModulePaths("COMPANY_MASTER_POLICY", "APPROVAL_WORKFLOW", "approval-workflow", "APPROVAL_WORKFLOW"),
73
- // Document master
74
- ...generateModulePaths("COMPANY_MASTER_POLICY", "DOCUMENT_MASTER", "document-master", "DOCUMENT_MASTER"),
75
- // Company Calender
76
- ...generateModulePaths("COMPANY_MASTER_POLICY", "COMPANY_CALENDAR", "company-calendar", "COMPANY_CALENDAR"),
77
- // Leave Policy Master
78
- ...generateModulePaths("COMPANY_MASTER_POLICY", "LEAVE_POLICY_MASTER", "leave-policy-master", "LEAVE_POLICY_MASTER"),
79
- // Salary Structure Master
80
- ...generateModulePaths("COMPANY_MASTER_POLICY", "SALARY_STRUCTURE_MASTER", "salary-structure-master", "SALARY_STRUCTURE_MASTER"),
81
- // Employee Management
82
- ...generateModulePaths("COMPANY_MASTER_POLICY", "EMPLOYEE_MANAGEMENT", "employee-management", "EMPLOYEE_MANAGEMENT"),
83
- // Employee Management
84
- EMPLOYEE_MANAGEMENT: "/employee-management",
85
- // Recruitment
86
- RECRUITMENT: "/recruitment",
87
- // Onboarding Management
88
- ONBOARDING_MANAGEMENT: "/onboarding-management",
89
- // Offboarding Management
90
- OFFBOARDING_MANAGEMENT: "/offboarding-management",
91
- // Attendance & Time Tracking
92
- ATTENDANCE_TIME_TRACKING: "/attendance-time-tracking",
93
- // Leave Management
94
- LEAVE_MANAGEMENT: "/leave-management",
95
- // Loan Configuration
96
- ...generateModulePaths("COMPANY_MASTER_POLICY", "LOAN_CONFIGURATION", "loan-configuration", "LOAN_CONFIGURATION")
97
- };
98
- const PathnameHrms = {
99
- LANDING_PAGE: "/",
100
- LIST: "/list",
101
- FORMS: "/settings/forms",
102
- CUSTOM_FORM: "/settings/custom-form",
103
- ...ROUTES
104
- };
105
- exports.PathnameGenerator = PathnameGenerator;
106
- exports.PathnameGenerator$1 = PathnameGenerator$1;
107
- exports.PathnameHrms = PathnameHrms;
108
- exports.PathnameUsers = PathnameUsers;
109
- //# sourceMappingURL=pathname.hrms-BVwbtB1M.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pathname.hrms-BVwbtB1M.js","sources":["../../src/constants/pathnames/pathname.user.ts","../../src/constants/pathnames/pathname.hrms.ts"],"sourcesContent":["import { Pathname } from \"./pathname\";\n\nexport const PathnameGenerator = (name: string) => {\n return Pathname.DASHBOARD_USER + name;\n};\n\nexport const PathnameUsers = {\n LANDING_PAGE: \"/\",\n USER: \"/user\",\n ROLE: \"/role\",\n LANGUAGE: \"/language\",\n FORMS: \"/setting/forms\",\n CUSTOM_FORM: \"/setting/forms/custom-form\",\n ADD_USER: \"/user/add-user\",\n EDIT_USER: \"/user/:id/edit-user\",\n VIEW_USER: \"/user/:id/view-user\",\n ADD_ROLE: \"/role/add-role\",\n EDIT_ROLE: \"/role/:id/edit-role\",\n VIEW_ROLE: \"/role/:id/view-role\",\n WORK: \"/setting/works\",\n ADD_WORKFLOW: \"/setting/works/workflow\",\n ADD_LANGUAGE: \"/language/add-language\",\n EDIT_LANGUAGE: \"/language/:id/edit-language\",\n VIEW_LANGUAGE: \"/language/:id/view-language\",\n // EMAILS: \"/setting/emails\",\n // ADD_EMAIL_TEMPLATE: \"/setting/emails/:id/add-template\",\n // EDIT_EMAIL_TEMPLATE: \"/setting/emails/:id/edit-template/:template_id\",\n};\n","import { Pathname } from \"./pathname\";\n\n\nexport const PathnameGenerator = (name: string) => {\n\treturn Pathname.DASHBOARD_HRMS + name;\n};\n\nconst CRUD_ACTIONS = { ADD: 'add', VIEW: 'view', EDIT: 'edit' } as const;\ntype ModulePaths = Record<string, string>;\nconst COMPANY_MASTER_POLICY = '/company-master-policy';\nexport const MAIN_MENU: ModulePaths = {\n\tCOMPANY_MASTER_POLICY: \"company-master-policy\",\n};\n\nexport const MODULES: ModulePaths = {\n\tAPPROVAL_WORKFLOW: 'approval-workflow',\n\tLOAN_CONFIGURATION: 'loan-configuration',\n\tDOCUMENT_MASTER: 'document-master',\n\tCOMPANY_CALENDAR: 'company-calendar',\n\tLEAVE_POLICY_MASTER: 'leave-policy-master',\n\tSALARY_STRUCTURE_MASTER: 'salary-structure-master',\n\tEMPLOYEE_MANAGEMENT: 'employee-management',\n};\nexport const generateCrudPaths = (\n\tbase: string,\n\tentity: string,\n\tprefix = '',\n\tkeyPostfix = ''\n) =>\n\tObject.fromEntries(\n\t\tObject.entries(CRUD_ACTIONS).map(([key, action]) => {\n\t\t\tconst isEditOrView = action === 'edit' || action === 'view';\n\n\t\t\tconst routeParts = [prefix, MODULES[base]];\n\t\t\tif (isEditOrView) {\n\t\t\t\trouteParts.push(':id', `${action}-${entity}`);\n\t\t\t} else {\n\t\t\t\trouteParts.push(`${action}-${entity}`);\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t`${key}_${keyPostfix.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()}`,\n\t\t\t\t`/${routeParts.filter(Boolean).join('/')}`,\n\t\t\t];\n\t\t})\n\t);\n\n\nexport const generateModulePaths = (mainModule: keyof typeof MAIN_MENU, subModule: keyof typeof MODULES = '', entity: string, keyPostfix = '') => ({\n\t[subModule.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()]: `/${[MAIN_MENU[mainModule], MODULES[subModule]].filter(Boolean).join('/')}`,\n\t...generateCrudPaths(subModule, entity, MAIN_MENU[mainModule], keyPostfix),\n});\n\n\nexport const ROUTES = {\n\t// Company Master Policy\n\tEMPLOYEE_CONTRACT_MASTER: `${COMPANY_MASTER_POLICY}/employee-contract-master`,\n\tDOCUMENT_MASTER: `${COMPANY_MASTER_POLICY}/document-master`,\n\tACCRUALS_BENEFITS_MASTER: `${COMPANY_MASTER_POLICY}/accruals-benefits-master`,\n\tSALARY_STRUCTURE_MASTER: `${COMPANY_MASTER_POLICY}/salary-structure-master`,\n\tLOAN_CONFIGURATION_MASTER: `${COMPANY_MASTER_POLICY}/loan-configuration-master`,\n\tCOMPANY_CALENDAR: `${COMPANY_MASTER_POLICY}/company-calendar`,\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'APPROVAL_WORKFLOW', 'approval-workflow', 'APPROVAL_WORKFLOW'),\n\n\t// Document master\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'DOCUMENT_MASTER', 'document-master', 'DOCUMENT_MASTER'),\n\n\t// Company Calender\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'COMPANY_CALENDAR', 'company-calendar', 'COMPANY_CALENDAR'),\n\n\t// Leave Policy Master\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'LEAVE_POLICY_MASTER', 'leave-policy-master', 'LEAVE_POLICY_MASTER'),\n\n\t// Salary Structure Master\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'SALARY_STRUCTURE_MASTER', 'salary-structure-master', 'SALARY_STRUCTURE_MASTER'),\n\n\t// Employee Management\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'EMPLOYEE_MANAGEMENT', 'employee-management', 'EMPLOYEE_MANAGEMENT'),\n\n\t// Employee Management\n\tEMPLOYEE_MANAGEMENT: '/employee-management',\n\n\t// Recruitment\n\tRECRUITMENT: '/recruitment',\n\n\t// Onboarding Management\n\tONBOARDING_MANAGEMENT: '/onboarding-management',\n\n\t// Offboarding Management\n\tOFFBOARDING_MANAGEMENT: '/offboarding-management',\n\n\t// Attendance & Time Tracking\n\tATTENDANCE_TIME_TRACKING: '/attendance-time-tracking',\n\n\t// Leave Management\n\tLEAVE_MANAGEMENT: '/leave-management',\n\n\t// Loan Configuration\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'LOAN_CONFIGURATION', 'loan-configuration', 'LOAN_CONFIGURATION'),\n} as const;\n\ntype ApprovalWorkflowRoutes = {\n\tAPPROVAL_WORKFLOW: string;\n\tADD_APPROVAL_WORKFLOW: string;\n\tVIEW_APPROVAL_WORKFLOW: string;\n\tEDIT_APPROVAL_WORKFLOW: string;\n};\ntype LoanConfigurationRoutes = {\n\tLOAN_CONFIGURATION: string;\n\tADD_LOAN_CONFIGURATION: string;\n\tVIEW_LOAN_CONFIGURATION: string;\n\tEDIT_LOAN_CONFIGURATION: string;\n\n};\ntype DocumentMasterRoutes = {\n\tDOCUMENT_MASTER: string;\n\tADD_DOCUMENT_MASTER: string;\n\tVIEW_DOCUMENT_MASTER: string;\n\tEDIT_DOCUMENT_MASTER: string;\n};\n\ntype CompanyCalenderRoutes = {\n\tCOMPANY_CALENDAR: string;\n\tADD_COMPANY_CALENDAR: string;\n\tEDIT_COMPANY_CALENDAR: string;\n\tVIEW_COMPANY_CALENDAR: string;\n}\n\ntype LeavePolicyMasterRoutes = {\n\tLEAVE_POLICY_MASTER: string;\n\tADD_LEAVE_POLICY_MASTER: string;\n\tEDIT_LEAVE_POLICY_MASTER: string;\n\tVIEW_LEAVE_POLICY_MASTER: string;\n}\n\ntype SalaryStructureMasterRoutes = {\n\tSALARY_STRUCTURE_MASTER: string;\n\tADD_SALARY_STRUCTURE_MASTER: string;\n\tEDIT_SALARY_STRUCTURE_MASTER: string;\n\tVIEW_SALARY_STRUCTURE_MASTER: string;\n}\n\ntype EmployeeManagementRoutes = {\n\tEMPLOYEE_MANAGEMENT: string;\n\tADD_EMPLOYEE_MANAGEMENT: string;\n\tEDIT_EMPLOYEE_MANAGEMENT: string;\n\tVIEW_EMPLOYEE_MANAGEMENT: string;\n}\n\nexport const PathnameHrms: typeof ROUTES & { LANDING_PAGE: string; LIST: string; FORMS: string; CUSTOM_FORM: string } & ApprovalWorkflowRoutes & LoanConfigurationRoutes & DocumentMasterRoutes & CompanyCalenderRoutes & LeavePolicyMasterRoutes & SalaryStructureMasterRoutes & EmployeeManagementRoutes = {\n\tLANDING_PAGE: '/',\n\tLIST: '/list',\n\tFORMS: '/settings/forms',\n\tCUSTOM_FORM: '/settings/custom-form',\n\t...ROUTES\n} as any;\n\n"],"names":["PathnameGenerator","Pathname"],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- import { P as Pathname } from "./pathname.rental-VYOFVGX6.esm.js";
2
- const PathnameGenerator$1 = (name) => {
3
- return Pathname.DASHBOARD_USER + name;
4
- };
5
- const PathnameUsers = {
6
- LANDING_PAGE: "/",
7
- USER: "/user",
8
- ROLE: "/role",
9
- LANGUAGE: "/language",
10
- FORMS: "/setting/forms",
11
- CUSTOM_FORM: "/setting/forms/custom-form",
12
- ADD_USER: "/user/add-user",
13
- EDIT_USER: "/user/:id/edit-user",
14
- VIEW_USER: "/user/:id/view-user",
15
- ADD_ROLE: "/role/add-role",
16
- EDIT_ROLE: "/role/:id/edit-role",
17
- VIEW_ROLE: "/role/:id/view-role",
18
- WORK: "/setting/works",
19
- ADD_WORKFLOW: "/setting/works/workflow",
20
- ADD_LANGUAGE: "/language/add-language",
21
- EDIT_LANGUAGE: "/language/:id/edit-language",
22
- VIEW_LANGUAGE: "/language/:id/view-language"
23
- // EMAILS: "/setting/emails",
24
- // ADD_EMAIL_TEMPLATE: "/setting/emails/:id/add-template",
25
- // EDIT_EMAIL_TEMPLATE: "/setting/emails/:id/edit-template/:template_id",
26
- };
27
- const PathnameGenerator = (name) => {
28
- return Pathname.DASHBOARD_HRMS + name;
29
- };
30
- const CRUD_ACTIONS = { ADD: "add", VIEW: "view", EDIT: "edit" };
31
- const COMPANY_MASTER_POLICY = "/company-master-policy";
32
- const MAIN_MENU = {
33
- COMPANY_MASTER_POLICY: "company-master-policy"
34
- };
35
- const MODULES = {
36
- APPROVAL_WORKFLOW: "approval-workflow",
37
- LOAN_CONFIGURATION: "loan-configuration",
38
- DOCUMENT_MASTER: "document-master",
39
- COMPANY_CALENDAR: "company-calendar",
40
- LEAVE_POLICY_MASTER: "leave-policy-master",
41
- SALARY_STRUCTURE_MASTER: "salary-structure-master",
42
- EMPLOYEE_MANAGEMENT: "employee-management"
43
- };
44
- const generateCrudPaths = (base, entity, prefix = "", keyPostfix = "") => Object.fromEntries(
45
- Object.entries(CRUD_ACTIONS).map(([key, action]) => {
46
- const isEditOrView = action === "edit" || action === "view";
47
- const routeParts = [prefix, MODULES[base]];
48
- if (isEditOrView) {
49
- routeParts.push(":id", `${action}-${entity}`);
50
- } else {
51
- routeParts.push(`${action}-${entity}`);
52
- }
53
- return [
54
- `${key}_${keyPostfix.replace(/[^a-zA-Z0-9]/g, "_").toUpperCase()}`,
55
- `/${routeParts.filter(Boolean).join("/")}`
56
- ];
57
- })
58
- );
59
- const generateModulePaths = (mainModule, subModule = "", entity, keyPostfix = "") => ({
60
- [subModule.replace(/[^a-zA-Z0-9]/g, "_").toUpperCase()]: `/${[MAIN_MENU[mainModule], MODULES[subModule]].filter(Boolean).join("/")}`,
61
- ...generateCrudPaths(subModule, entity, MAIN_MENU[mainModule], keyPostfix)
62
- });
63
- const ROUTES = {
64
- // Company Master Policy
65
- EMPLOYEE_CONTRACT_MASTER: `${COMPANY_MASTER_POLICY}/employee-contract-master`,
66
- DOCUMENT_MASTER: `${COMPANY_MASTER_POLICY}/document-master`,
67
- ACCRUALS_BENEFITS_MASTER: `${COMPANY_MASTER_POLICY}/accruals-benefits-master`,
68
- SALARY_STRUCTURE_MASTER: `${COMPANY_MASTER_POLICY}/salary-structure-master`,
69
- LOAN_CONFIGURATION_MASTER: `${COMPANY_MASTER_POLICY}/loan-configuration-master`,
70
- COMPANY_CALENDAR: `${COMPANY_MASTER_POLICY}/company-calendar`,
71
- ...generateModulePaths("COMPANY_MASTER_POLICY", "APPROVAL_WORKFLOW", "approval-workflow", "APPROVAL_WORKFLOW"),
72
- // Document master
73
- ...generateModulePaths("COMPANY_MASTER_POLICY", "DOCUMENT_MASTER", "document-master", "DOCUMENT_MASTER"),
74
- // Company Calender
75
- ...generateModulePaths("COMPANY_MASTER_POLICY", "COMPANY_CALENDAR", "company-calendar", "COMPANY_CALENDAR"),
76
- // Leave Policy Master
77
- ...generateModulePaths("COMPANY_MASTER_POLICY", "LEAVE_POLICY_MASTER", "leave-policy-master", "LEAVE_POLICY_MASTER"),
78
- // Salary Structure Master
79
- ...generateModulePaths("COMPANY_MASTER_POLICY", "SALARY_STRUCTURE_MASTER", "salary-structure-master", "SALARY_STRUCTURE_MASTER"),
80
- // Employee Management
81
- ...generateModulePaths("COMPANY_MASTER_POLICY", "EMPLOYEE_MANAGEMENT", "employee-management", "EMPLOYEE_MANAGEMENT"),
82
- // Employee Management
83
- EMPLOYEE_MANAGEMENT: "/employee-management",
84
- // Recruitment
85
- RECRUITMENT: "/recruitment",
86
- // Onboarding Management
87
- ONBOARDING_MANAGEMENT: "/onboarding-management",
88
- // Offboarding Management
89
- OFFBOARDING_MANAGEMENT: "/offboarding-management",
90
- // Attendance & Time Tracking
91
- ATTENDANCE_TIME_TRACKING: "/attendance-time-tracking",
92
- // Leave Management
93
- LEAVE_MANAGEMENT: "/leave-management",
94
- // Loan Configuration
95
- ...generateModulePaths("COMPANY_MASTER_POLICY", "LOAN_CONFIGURATION", "loan-configuration", "LOAN_CONFIGURATION")
96
- };
97
- const PathnameHrms = {
98
- LANDING_PAGE: "/",
99
- LIST: "/list",
100
- FORMS: "/settings/forms",
101
- CUSTOM_FORM: "/settings/custom-form",
102
- ...ROUTES
103
- };
104
- export {
105
- PathnameHrms as P,
106
- PathnameUsers as a,
107
- PathnameGenerator as b,
108
- PathnameGenerator$1 as c
109
- };
110
- //# sourceMappingURL=pathname.hrms-BiL7sQv0.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pathname.hrms-BiL7sQv0.esm.js","sources":["../../src/constants/pathnames/pathname.user.ts","../../src/constants/pathnames/pathname.hrms.ts"],"sourcesContent":["import { Pathname } from \"./pathname\";\n\nexport const PathnameGenerator = (name: string) => {\n return Pathname.DASHBOARD_USER + name;\n};\n\nexport const PathnameUsers = {\n LANDING_PAGE: \"/\",\n USER: \"/user\",\n ROLE: \"/role\",\n LANGUAGE: \"/language\",\n FORMS: \"/setting/forms\",\n CUSTOM_FORM: \"/setting/forms/custom-form\",\n ADD_USER: \"/user/add-user\",\n EDIT_USER: \"/user/:id/edit-user\",\n VIEW_USER: \"/user/:id/view-user\",\n ADD_ROLE: \"/role/add-role\",\n EDIT_ROLE: \"/role/:id/edit-role\",\n VIEW_ROLE: \"/role/:id/view-role\",\n WORK: \"/setting/works\",\n ADD_WORKFLOW: \"/setting/works/workflow\",\n ADD_LANGUAGE: \"/language/add-language\",\n EDIT_LANGUAGE: \"/language/:id/edit-language\",\n VIEW_LANGUAGE: \"/language/:id/view-language\",\n // EMAILS: \"/setting/emails\",\n // ADD_EMAIL_TEMPLATE: \"/setting/emails/:id/add-template\",\n // EDIT_EMAIL_TEMPLATE: \"/setting/emails/:id/edit-template/:template_id\",\n};\n","import { Pathname } from \"./pathname\";\n\n\nexport const PathnameGenerator = (name: string) => {\n\treturn Pathname.DASHBOARD_HRMS + name;\n};\n\nconst CRUD_ACTIONS = { ADD: 'add', VIEW: 'view', EDIT: 'edit' } as const;\ntype ModulePaths = Record<string, string>;\nconst COMPANY_MASTER_POLICY = '/company-master-policy';\nexport const MAIN_MENU: ModulePaths = {\n\tCOMPANY_MASTER_POLICY: \"company-master-policy\",\n};\n\nexport const MODULES: ModulePaths = {\n\tAPPROVAL_WORKFLOW: 'approval-workflow',\n\tLOAN_CONFIGURATION: 'loan-configuration',\n\tDOCUMENT_MASTER: 'document-master',\n\tCOMPANY_CALENDAR: 'company-calendar',\n\tLEAVE_POLICY_MASTER: 'leave-policy-master',\n\tSALARY_STRUCTURE_MASTER: 'salary-structure-master',\n\tEMPLOYEE_MANAGEMENT: 'employee-management',\n};\nexport const generateCrudPaths = (\n\tbase: string,\n\tentity: string,\n\tprefix = '',\n\tkeyPostfix = ''\n) =>\n\tObject.fromEntries(\n\t\tObject.entries(CRUD_ACTIONS).map(([key, action]) => {\n\t\t\tconst isEditOrView = action === 'edit' || action === 'view';\n\n\t\t\tconst routeParts = [prefix, MODULES[base]];\n\t\t\tif (isEditOrView) {\n\t\t\t\trouteParts.push(':id', `${action}-${entity}`);\n\t\t\t} else {\n\t\t\t\trouteParts.push(`${action}-${entity}`);\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t`${key}_${keyPostfix.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()}`,\n\t\t\t\t`/${routeParts.filter(Boolean).join('/')}`,\n\t\t\t];\n\t\t})\n\t);\n\n\nexport const generateModulePaths = (mainModule: keyof typeof MAIN_MENU, subModule: keyof typeof MODULES = '', entity: string, keyPostfix = '') => ({\n\t[subModule.replace(/[^a-zA-Z0-9]/g, '_').toUpperCase()]: `/${[MAIN_MENU[mainModule], MODULES[subModule]].filter(Boolean).join('/')}`,\n\t...generateCrudPaths(subModule, entity, MAIN_MENU[mainModule], keyPostfix),\n});\n\n\nexport const ROUTES = {\n\t// Company Master Policy\n\tEMPLOYEE_CONTRACT_MASTER: `${COMPANY_MASTER_POLICY}/employee-contract-master`,\n\tDOCUMENT_MASTER: `${COMPANY_MASTER_POLICY}/document-master`,\n\tACCRUALS_BENEFITS_MASTER: `${COMPANY_MASTER_POLICY}/accruals-benefits-master`,\n\tSALARY_STRUCTURE_MASTER: `${COMPANY_MASTER_POLICY}/salary-structure-master`,\n\tLOAN_CONFIGURATION_MASTER: `${COMPANY_MASTER_POLICY}/loan-configuration-master`,\n\tCOMPANY_CALENDAR: `${COMPANY_MASTER_POLICY}/company-calendar`,\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'APPROVAL_WORKFLOW', 'approval-workflow', 'APPROVAL_WORKFLOW'),\n\n\t// Document master\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'DOCUMENT_MASTER', 'document-master', 'DOCUMENT_MASTER'),\n\n\t// Company Calender\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'COMPANY_CALENDAR', 'company-calendar', 'COMPANY_CALENDAR'),\n\n\t// Leave Policy Master\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'LEAVE_POLICY_MASTER', 'leave-policy-master', 'LEAVE_POLICY_MASTER'),\n\n\t// Salary Structure Master\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'SALARY_STRUCTURE_MASTER', 'salary-structure-master', 'SALARY_STRUCTURE_MASTER'),\n\n\t// Employee Management\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'EMPLOYEE_MANAGEMENT', 'employee-management', 'EMPLOYEE_MANAGEMENT'),\n\n\t// Employee Management\n\tEMPLOYEE_MANAGEMENT: '/employee-management',\n\n\t// Recruitment\n\tRECRUITMENT: '/recruitment',\n\n\t// Onboarding Management\n\tONBOARDING_MANAGEMENT: '/onboarding-management',\n\n\t// Offboarding Management\n\tOFFBOARDING_MANAGEMENT: '/offboarding-management',\n\n\t// Attendance & Time Tracking\n\tATTENDANCE_TIME_TRACKING: '/attendance-time-tracking',\n\n\t// Leave Management\n\tLEAVE_MANAGEMENT: '/leave-management',\n\n\t// Loan Configuration\n\t...generateModulePaths('COMPANY_MASTER_POLICY', 'LOAN_CONFIGURATION', 'loan-configuration', 'LOAN_CONFIGURATION'),\n} as const;\n\ntype ApprovalWorkflowRoutes = {\n\tAPPROVAL_WORKFLOW: string;\n\tADD_APPROVAL_WORKFLOW: string;\n\tVIEW_APPROVAL_WORKFLOW: string;\n\tEDIT_APPROVAL_WORKFLOW: string;\n};\ntype LoanConfigurationRoutes = {\n\tLOAN_CONFIGURATION: string;\n\tADD_LOAN_CONFIGURATION: string;\n\tVIEW_LOAN_CONFIGURATION: string;\n\tEDIT_LOAN_CONFIGURATION: string;\n\n};\ntype DocumentMasterRoutes = {\n\tDOCUMENT_MASTER: string;\n\tADD_DOCUMENT_MASTER: string;\n\tVIEW_DOCUMENT_MASTER: string;\n\tEDIT_DOCUMENT_MASTER: string;\n};\n\ntype CompanyCalenderRoutes = {\n\tCOMPANY_CALENDAR: string;\n\tADD_COMPANY_CALENDAR: string;\n\tEDIT_COMPANY_CALENDAR: string;\n\tVIEW_COMPANY_CALENDAR: string;\n}\n\ntype LeavePolicyMasterRoutes = {\n\tLEAVE_POLICY_MASTER: string;\n\tADD_LEAVE_POLICY_MASTER: string;\n\tEDIT_LEAVE_POLICY_MASTER: string;\n\tVIEW_LEAVE_POLICY_MASTER: string;\n}\n\ntype SalaryStructureMasterRoutes = {\n\tSALARY_STRUCTURE_MASTER: string;\n\tADD_SALARY_STRUCTURE_MASTER: string;\n\tEDIT_SALARY_STRUCTURE_MASTER: string;\n\tVIEW_SALARY_STRUCTURE_MASTER: string;\n}\n\ntype EmployeeManagementRoutes = {\n\tEMPLOYEE_MANAGEMENT: string;\n\tADD_EMPLOYEE_MANAGEMENT: string;\n\tEDIT_EMPLOYEE_MANAGEMENT: string;\n\tVIEW_EMPLOYEE_MANAGEMENT: string;\n}\n\nexport const PathnameHrms: typeof ROUTES & { LANDING_PAGE: string; LIST: string; FORMS: string; CUSTOM_FORM: string } & ApprovalWorkflowRoutes & LoanConfigurationRoutes & DocumentMasterRoutes & CompanyCalenderRoutes & LeavePolicyMasterRoutes & SalaryStructureMasterRoutes & EmployeeManagementRoutes = {\n\tLANDING_PAGE: '/',\n\tLIST: '/list',\n\tFORMS: '/settings/forms',\n\tCUSTOM_FORM: '/settings/custom-form',\n\t...ROUTES\n} as any;\n\n"],"names":["PathnameGenerator"],"mappings":"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"}