@erpsquad/common 1.9.98 → 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 (119) 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-C3WlgdKQ.esm.js → android-12-switch-DSBIf4t0.esm.js} +39 -33
  6. package/dist/chunks/android-12-switch-DSBIf4t0.esm.js.map +1 -0
  7. package/dist/chunks/{android-12-switch-CVH-tc4s.js → android-12-switch-DvCF0gyx.js} +39 -33
  8. package/dist/chunks/android-12-switch-DvCF0gyx.js.map +1 -0
  9. package/dist/chunks/{apiHelper-DSbRnRC1.js → apiHelper-5tNsUtSY.js} +12 -9
  10. package/dist/chunks/apiHelper-5tNsUtSY.js.map +1 -0
  11. package/dist/chunks/{apiHelper-DOCeCGD-.esm.js → apiHelper-Cv_qWaYo.esm.js} +12 -9
  12. package/dist/chunks/apiHelper-Cv_qWaYo.esm.js.map +1 -0
  13. package/dist/chunks/{appbar-CrH_SjSo.esm.js → appbar-DM2iBqb4.esm.js} +4 -4
  14. package/dist/chunks/{appbar-CrH_SjSo.esm.js.map → appbar-DM2iBqb4.esm.js.map} +1 -1
  15. package/dist/chunks/{appbar-D6bWAv8x.js → appbar-rfkAYQdQ.js} +4 -4
  16. package/dist/chunks/{appbar-D6bWAv8x.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-D1f8nbl6.esm.js → default-data-BV_r59U9.esm.js} +12 -12
  26. package/dist/chunks/{default-data-D1f8nbl6.esm.js.map → default-data-BV_r59U9.esm.js.map} +1 -1
  27. package/dist/chunks/{default-data-9-BQ_0wq.js → default-data-DQ7VPUoj.js} +12 -12
  28. package/dist/chunks/{default-data-9-BQ_0wq.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-DSPrY2tY.esm.js → fullScreen-BO0UA3Zr.esm.js} +2 -2
  38. package/dist/chunks/{fullScreen-DSPrY2tY.esm.js.map → fullScreen-BO0UA3Zr.esm.js.map} +1 -1
  39. package/dist/chunks/{fullScreen-BtbOZq50.js → fullScreen-Bfrr-bT2.js} +2 -2
  40. package/dist/chunks/{fullScreen-BtbOZq50.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/{page-context-DATjzley.esm.js → page-context-B_wK6kLR.esm.js} +3 -3
  50. package/dist/chunks/{page-context-DATjzley.esm.js.map → page-context-B_wK6kLR.esm.js.map} +1 -1
  51. package/dist/chunks/{page-context-BKgBvHxw.js → page-context-h7LEMAG0.js} +3 -3
  52. package/dist/chunks/{page-context-BKgBvHxw.js.map → page-context-h7LEMAG0.js.map} +1 -1
  53. package/dist/chunks/{reducer-Gajha1Kz.esm.js → reducer-Bpuo5eq1.esm.js} +2 -2
  54. package/dist/chunks/{reducer-Gajha1Kz.esm.js.map → reducer-Bpuo5eq1.esm.js.map} +1 -1
  55. package/dist/chunks/{reducer-DGvVphqy.js → reducer-t-U331ho.js} +2 -2
  56. package/dist/chunks/{reducer-DGvVphqy.js.map → reducer-t-U331ho.js.map} +1 -1
  57. package/dist/chunks/{shareSlice-Cn2PGA6m.js → shareSlice-Br9IsR9k.js} +2 -2
  58. package/dist/chunks/{shareSlice-Cn2PGA6m.js.map → shareSlice-Br9IsR9k.js.map} +1 -1
  59. package/dist/chunks/{shareSlice-DGme6jBu.esm.js → shareSlice-CbG_VJcW.esm.js} +2 -2
  60. package/dist/chunks/{shareSlice-DGme6jBu.esm.js.map → shareSlice-CbG_VJcW.esm.js.map} +1 -1
  61. package/dist/chunks/{sidebar-D2Q9rQrz.js → sidebar-C2zkLZyA.js} +4 -4
  62. package/dist/chunks/{sidebar-D2Q9rQrz.js.map → sidebar-C2zkLZyA.js.map} +1 -1
  63. package/dist/chunks/{sidebar-gl6ML9FB.esm.js → sidebar-l49eLo8p.esm.js} +4 -4
  64. package/dist/chunks/{sidebar-gl6ML9FB.esm.js.map → sidebar-l49eLo8p.esm.js.map} +1 -1
  65. package/dist/chunks/{sidebarScreen-57BCIH9V.esm.js → sidebarScreen-BQN2N8jx.esm.js} +5 -5
  66. package/dist/chunks/{sidebarScreen-57BCIH9V.esm.js.map → sidebarScreen-BQN2N8jx.esm.js.map} +1 -1
  67. package/dist/chunks/{sidebarScreen-CnsblLHN.js → sidebarScreen-PoYXto7E.js} +5 -5
  68. package/dist/chunks/{sidebarScreen-CnsblLHN.js.map → sidebarScreen-PoYXto7E.js.map} +1 -1
  69. package/dist/chunks/{store-DEoLcgbp.js → store-BdrUnJ3G.js} +3 -3
  70. package/dist/chunks/{store-DEoLcgbp.js.map → store-BdrUnJ3G.js.map} +1 -1
  71. package/dist/chunks/{store-zDGOGRDm.esm.js → store-ksRZPIIc.esm.js} +3 -3
  72. package/dist/chunks/{store-zDGOGRDm.esm.js.map → store-ksRZPIIc.esm.js.map} +1 -1
  73. package/dist/chunks/{translations-BVvsrCTo.js → translations-1vp9srMj.js} +2 -2
  74. package/dist/chunks/{translations-BVvsrCTo.js.map → translations-1vp9srMj.js.map} +1 -1
  75. package/dist/chunks/{translations-DJFxXzIm.esm.js → translations-B5t-KZNN.esm.js} +2 -2
  76. package/dist/chunks/{translations-DJFxXzIm.esm.js.map → translations-B5t-KZNN.esm.js.map} +1 -1
  77. package/dist/chunks/{uom-field-wrapper-CzXOP8fb.esm.js → uom-field-wrapper-Ckop1JTE.esm.js} +13 -13
  78. package/dist/chunks/{uom-field-wrapper-CzXOP8fb.esm.js.map → uom-field-wrapper-Ckop1JTE.esm.js.map} +1 -1
  79. package/dist/chunks/{uom-field-wrapper-CjqCwlbR.js → uom-field-wrapper-l8HA79k1.js} +13 -13
  80. package/dist/chunks/{uom-field-wrapper-CjqCwlbR.js.map → uom-field-wrapper-l8HA79k1.js.map} +1 -1
  81. package/dist/chunks/{useAccountSetting-nBdUAbgS.esm.js → useAccountSetting-D6Hhq1Pz.esm.js} +3 -3
  82. package/dist/chunks/{useAccountSetting-nBdUAbgS.esm.js.map → useAccountSetting-D6Hhq1Pz.esm.js.map} +1 -1
  83. package/dist/chunks/{useAccountSetting-ChWinjqQ.js → useAccountSetting-ngzko7sX.js} +3 -3
  84. package/dist/chunks/{useAccountSetting-ChWinjqQ.js.map → useAccountSetting-ngzko7sX.js.map} +1 -1
  85. package/dist/chunks/{useAuth-BhsPEB2T.js → useAuth-HvZ6U960.js} +2 -2
  86. package/dist/chunks/{useAuth-BhsPEB2T.js.map → useAuth-HvZ6U960.js.map} +1 -1
  87. package/dist/chunks/{useAuth-C4WcddEE.esm.js → useAuth-Tfx2guEJ.esm.js} +2 -2
  88. package/dist/chunks/{useAuth-C4WcddEE.esm.js.map → useAuth-Tfx2guEJ.esm.js.map} +1 -1
  89. package/dist/chunks/{useLangauge-Bie5anLS.esm.js → useLangauge-BU_fP3ZM.esm.js} +2 -2
  90. package/dist/chunks/{useLangauge-Bie5anLS.esm.js.map → useLangauge-BU_fP3ZM.esm.js.map} +1 -1
  91. package/dist/chunks/{useLangauge-BtG3kyRv.js → useLangauge-DwsR1jcv.js} +2 -2
  92. package/dist/chunks/{useLangauge-BtG3kyRv.js.map → useLangauge-DwsR1jcv.js.map} +1 -1
  93. package/dist/chunks/{useReduxIntegration-D6MZKdkS.js → useReduxIntegration-JMVTp0lq.js} +4 -4
  94. package/dist/chunks/{useReduxIntegration-D6MZKdkS.js.map → useReduxIntegration-JMVTp0lq.js.map} +1 -1
  95. package/dist/chunks/{useReduxIntegration--sS2yQ4F.esm.js → useReduxIntegration-VgWJGErE.esm.js} +4 -4
  96. package/dist/chunks/{useReduxIntegration--sS2yQ4F.esm.js.map → useReduxIntegration-VgWJGErE.esm.js.map} +1 -1
  97. package/dist/components/index.esm.js +9 -9
  98. package/dist/components/index.js +9 -9
  99. package/dist/contexts/index.esm.js +3 -3
  100. package/dist/contexts/index.js +3 -3
  101. package/dist/hooks/index.esm.js +5 -5
  102. package/dist/hooks/index.js +5 -5
  103. package/dist/index.esm.js +24 -24
  104. package/dist/index.js +24 -24
  105. package/dist/layout/index.esm.js +2 -2
  106. package/dist/layout/index.js +2 -2
  107. package/dist/redux/index.esm.js +4 -4
  108. package/dist/redux/index.js +4 -4
  109. package/dist/src/utils/api.d.ts +10 -0
  110. package/dist/utils/api.d.ts +10 -0
  111. package/dist/utils/index.esm.js +7 -7
  112. package/dist/utils/index.js +6 -6
  113. package/dist/views/index.esm.js +8 -8
  114. package/dist/views/index.js +7 -7
  115. package/package.json +1 -1
  116. package/dist/chunks/android-12-switch-C3WlgdKQ.esm.js.map +0 -1
  117. package/dist/chunks/android-12-switch-CVH-tc4s.js.map +0 -1
  118. package/dist/chunks/apiHelper-DOCeCGD-.esm.js.map +0 -1
  119. package/dist/chunks/apiHelper-DSbRnRC1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"page-context-DATjzley.esm.js","sources":["../../src/contexts/permission-context.tsx","../../src/components/loaders/erp-loader.tsx","../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport React, { createContext, useMemo, ReactNode } from \"react\";\nimport { formatLabel } from \"../utils/format-text\";\nimport { useAppSelector } from \"../redux/hooks\";\n\n// Define the types for permissions\ntype PermissionActions = \"canEdit\" | \"canView\" | \"canAdd\" | \"canDelete\" | \"canAddForOthers\";\ntype SubModulePermissions = Partial<Record<PermissionActions, boolean>>;\ntype ModulePermissions = SubModulePermissions & Record<string, SubModulePermissions>;\n\nexport interface PermissionsContextType {\n [module: string]: ModulePermissions;\n}\n\ninterface PermissionsProviderProps {\n children: ReactNode;\n}\n\n// Create a context with a default value\nexport const PermissionsContext = createContext<PermissionsContextType | null>(null);\n\nexport const PermissionsProvider: React.FC<PermissionsProviderProps> = ({ children }) => {\n const { setIsPermissionLoaded = false } = useAppSelector(\n (store) => store.roles ?? {}\n );\n\n const storagePermission = useMemo(() => {\n return localStorage.getItem(\"role-permission\")\n }, [localStorage.getItem(\"role-permission\")])\n\n const permissions: Record<string, any> = useMemo(() => {\n const rawValue = storagePermission;\n\n if (!rawValue) {\n return {};\n }\n\n try {\n return JSON.parse(rawValue);\n } catch (error) {\n console.warn(\n \"[PermissionsProvider] Failed to parse stored permissions. Clearing corrupted value.\",\n error\n );\n localStorage.removeItem(\"role-permission\");\n return {};\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setIsPermissionLoaded, storagePermission]);\n const computedPermissions = useMemo(() => {\n const checkPermission = (module: string, action: string): boolean =>\n Boolean(permissions?.[module]?.[action]);\n\n const dynamicPermissions: PermissionsContextType = {};\n\n Object.keys(permissions)\n // .filter((key) => key.startsWith(\"rental-\"))\n .forEach((module) => {\n const formattedModule = formatLabel(\n module.replace(/p$/gi, \"\").replace(/-p-/gi, \"-\")\n ).replace(/[^a-zA-Z0-9]/gi, \"\");\n\n // Extract the main module name (e.g., \"RentalQuotations\")\n const [baseModule, subModule, ...subModuleParts] = formattedModule.split(/(?=[A-Z])/);\n const subModuleName = subModuleParts.join(\"\");\n const bModule = baseModule + (subModule || \"\")\n\n if (!dynamicPermissions[bModule]) {\n dynamicPermissions[bModule] = {};\n }\n\n const actionMap: Record<string, PermissionActions> = {\n u: \"canEdit\",\n e: \"canEdit\",\n r: \"canView\",\n w: \"canAdd\",\n d: \"canDelete\",\n wo: \"canAddForOthers\"\n };\n\n Object.entries(actionMap).forEach(([key, actionName]) => {\n if (subModuleName) {\n // Store sub-module actions separately\n if (!dynamicPermissions[bModule][subModuleName]) {\n dynamicPermissions[bModule][subModuleName] = {};\n }\n const currentValue = (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n } else {\n // Store main module actions\n const currentValue = (dynamicPermissions[bModule] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n }\n });\n });\n\n\n return dynamicPermissions;\n }, [permissions]);\n\n return (\n <PermissionsContext.Provider value={computedPermissions}>\n {children}\n </PermissionsContext.Provider>\n );\n};\n","import React from \"react\"\nimport { Box, CircularProgress, CircularProgressProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nconst Loader = styled(CircularProgress)(({theme})=>({\n color: theme.palette?.theme?.primary[500]||\"#1976d2\"\n}))\n\nconst ErpLoader = (props:CircularProgressProps) => {\n\treturn <Box position=\"fixed\" left='50%' top=\"50%\">\n <Loader size={50} {...props}/>\n </Box>\n};\n\nexport { ErpLoader };\nexport default ErpLoader;\n","/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData: Record<string, any>\n\tsetFormData: (data: Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n\trouteToColumnsMap?: Record<string, any>;\n\trouteToResourceMap?: Record<string, any>;\n}\n\nconst UpdatePageInfo = () => { };\nconst UpdateGeneratedColumns = () => { };\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => { },\n\tsetActivePage: () => { },\n\tsetPages: () => { },\n\tschemaFields: [],\n\tinitializeColumns: () => { },\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\t// if (dColumns && dColumns?.length) {\n\t\t// \tdefaultColumns = defaultColumns.map((column) => {\n\t\t// \t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t// \t\treturn f || column\n\t\t// \t})\n\t\t// }\n\t\tif (dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\tconst merged = f ? { ...column, ...f } : column;\n\t\t\t\treturn merged\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field) => !field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && { typeArrayAccessorKey: field.accessorKey || '' }),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false : true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues(_.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey || column.enableSorting === false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children, routeToColumnsMap: customRouteToColumnsMap, routeToResourceMap: customRouteToResourceMap }) => {\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToResourceMap:\", customRouteToResourceMap)\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToColumnsMap:\", customRouteToColumnsMap)\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst { user } = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = (customRouteToColumnsMap?.[curPathName] || routeToColumnsMap[curPathName])?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName, customRouteToColumnsMap]);\n\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = customRouteToResourceMap?.[curPathName] || routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName, customRouteToResourceMap]);\n\n\t//Translation\n\tconst { t } = useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\tconsole.log('PageContext: Entering fetchPageData', { currentPath, currentDefaultColumnsLength: currentDefaultColumns?.length, hasResources: !!currentResources });\n\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed', { ref: currentPathnameRef.current, current: currentPath });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconsole.log('PageContext: Resources Check:', { currentDefaultColumns, currentResources });\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '', formResource = '' } = currentResources;\n\n\t\t\t\t\tconsole.log('PageContext: Pathname:', currentPath);\n\t\t\t\t\tconsole.log('PageContext: Default Columns:', currentDefaultColumns);\n\t\t\t\t\tconsole.log('PageContext: Resources:', currentResources);\n\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst [pageResponse, fieldResponse, formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }) : Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters: `(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\tconsole.log('PageContext: API Responses:', { pageResponse, fieldResponse, formResponse });\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({ ...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label }));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n\t\t\t\t\tconsole.log('PageContext: Generated Columns:', gColumns);\n\n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait getV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\n\t};\n\n\tconst addOrDeletePage = async (restPages?: any[]) => {\n\t\ttry {\n\t\t\tconst filteredPages = restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name == p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n\t\t\t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg = restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t}\n\t}\n\n\tconst deletePage = async (pages: string) => {\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\n\t\t// Fetch data for new page with current values\n\t\tconsole.log('PageContext: useEffect Triggered', { curPathName, defaultColumnsLength: defaultColumns?.length, hasResources: !!resources });\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\t// Removed loading check to prevent blank page during loading\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["jsx","field","_a","pages","sharedPages"],"mappings":"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"}
1
+ {"version":3,"file":"page-context-B_wK6kLR.esm.js","sources":["../../src/contexts/permission-context.tsx","../../src/components/loaders/erp-loader.tsx","../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport React, { createContext, useMemo, ReactNode } from \"react\";\nimport { formatLabel } from \"../utils/format-text\";\nimport { useAppSelector } from \"../redux/hooks\";\n\n// Define the types for permissions\ntype PermissionActions = \"canEdit\" | \"canView\" | \"canAdd\" | \"canDelete\" | \"canAddForOthers\";\ntype SubModulePermissions = Partial<Record<PermissionActions, boolean>>;\ntype ModulePermissions = SubModulePermissions & Record<string, SubModulePermissions>;\n\nexport interface PermissionsContextType {\n [module: string]: ModulePermissions;\n}\n\ninterface PermissionsProviderProps {\n children: ReactNode;\n}\n\n// Create a context with a default value\nexport const PermissionsContext = createContext<PermissionsContextType | null>(null);\n\nexport const PermissionsProvider: React.FC<PermissionsProviderProps> = ({ children }) => {\n const { setIsPermissionLoaded = false } = useAppSelector(\n (store) => store.roles ?? {}\n );\n\n const storagePermission = useMemo(() => {\n return localStorage.getItem(\"role-permission\")\n }, [localStorage.getItem(\"role-permission\")])\n\n const permissions: Record<string, any> = useMemo(() => {\n const rawValue = storagePermission;\n\n if (!rawValue) {\n return {};\n }\n\n try {\n return JSON.parse(rawValue);\n } catch (error) {\n console.warn(\n \"[PermissionsProvider] Failed to parse stored permissions. Clearing corrupted value.\",\n error\n );\n localStorage.removeItem(\"role-permission\");\n return {};\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setIsPermissionLoaded, storagePermission]);\n const computedPermissions = useMemo(() => {\n const checkPermission = (module: string, action: string): boolean =>\n Boolean(permissions?.[module]?.[action]);\n\n const dynamicPermissions: PermissionsContextType = {};\n\n Object.keys(permissions)\n // .filter((key) => key.startsWith(\"rental-\"))\n .forEach((module) => {\n const formattedModule = formatLabel(\n module.replace(/p$/gi, \"\").replace(/-p-/gi, \"-\")\n ).replace(/[^a-zA-Z0-9]/gi, \"\");\n\n // Extract the main module name (e.g., \"RentalQuotations\")\n const [baseModule, subModule, ...subModuleParts] = formattedModule.split(/(?=[A-Z])/);\n const subModuleName = subModuleParts.join(\"\");\n const bModule = baseModule + (subModule || \"\")\n\n if (!dynamicPermissions[bModule]) {\n dynamicPermissions[bModule] = {};\n }\n\n const actionMap: Record<string, PermissionActions> = {\n u: \"canEdit\",\n e: \"canEdit\",\n r: \"canView\",\n w: \"canAdd\",\n d: \"canDelete\",\n wo: \"canAddForOthers\"\n };\n\n Object.entries(actionMap).forEach(([key, actionName]) => {\n if (subModuleName) {\n // Store sub-module actions separately\n if (!dynamicPermissions[bModule][subModuleName]) {\n dynamicPermissions[bModule][subModuleName] = {};\n }\n const currentValue = (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n } else {\n // Store main module actions\n const currentValue = (dynamicPermissions[bModule] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n }\n });\n });\n\n\n return dynamicPermissions;\n }, [permissions]);\n\n return (\n <PermissionsContext.Provider value={computedPermissions}>\n {children}\n </PermissionsContext.Provider>\n );\n};\n","import React from \"react\"\nimport { Box, CircularProgress, CircularProgressProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nconst Loader = styled(CircularProgress)(({theme})=>({\n color: theme.palette?.theme?.primary[500]||\"#1976d2\"\n}))\n\nconst ErpLoader = (props:CircularProgressProps) => {\n\treturn <Box position=\"fixed\" left='50%' top=\"50%\">\n <Loader size={50} {...props}/>\n </Box>\n};\n\nexport { ErpLoader };\nexport default ErpLoader;\n","/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData: Record<string, any>\n\tsetFormData: (data: Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n\trouteToColumnsMap?: Record<string, any>;\n\trouteToResourceMap?: Record<string, any>;\n}\n\nconst UpdatePageInfo = () => { };\nconst UpdateGeneratedColumns = () => { };\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => { },\n\tsetActivePage: () => { },\n\tsetPages: () => { },\n\tschemaFields: [],\n\tinitializeColumns: () => { },\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\t// if (dColumns && dColumns?.length) {\n\t\t// \tdefaultColumns = defaultColumns.map((column) => {\n\t\t// \t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t// \t\treturn f || column\n\t\t// \t})\n\t\t// }\n\t\tif (dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\tconst merged = f ? { ...column, ...f } : column;\n\t\t\t\treturn merged\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field) => !field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && { typeArrayAccessorKey: field.accessorKey || '' }),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false : true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues(_.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey || column.enableSorting === false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children, routeToColumnsMap: customRouteToColumnsMap, routeToResourceMap: customRouteToResourceMap }) => {\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToResourceMap:\", customRouteToResourceMap)\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToColumnsMap:\", customRouteToColumnsMap)\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst { user } = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = (customRouteToColumnsMap?.[curPathName] || routeToColumnsMap[curPathName])?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName, customRouteToColumnsMap]);\n\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = customRouteToResourceMap?.[curPathName] || routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName, customRouteToResourceMap]);\n\n\t//Translation\n\tconst { t } = useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\tconsole.log('PageContext: Entering fetchPageData', { currentPath, currentDefaultColumnsLength: currentDefaultColumns?.length, hasResources: !!currentResources });\n\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed', { ref: currentPathnameRef.current, current: currentPath });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconsole.log('PageContext: Resources Check:', { currentDefaultColumns, currentResources });\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '', formResource = '' } = currentResources;\n\n\t\t\t\t\tconsole.log('PageContext: Pathname:', currentPath);\n\t\t\t\t\tconsole.log('PageContext: Default Columns:', currentDefaultColumns);\n\t\t\t\t\tconsole.log('PageContext: Resources:', currentResources);\n\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst [pageResponse, fieldResponse, formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }) : Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters: `(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\tconsole.log('PageContext: API Responses:', { pageResponse, fieldResponse, formResponse });\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({ ...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label }));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n\t\t\t\t\tconsole.log('PageContext: Generated Columns:', gColumns);\n\n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait getV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\n\t};\n\n\tconst addOrDeletePage = async (restPages?: any[]) => {\n\t\ttry {\n\t\t\tconst filteredPages = restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name == p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n\t\t\t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg = restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t}\n\t}\n\n\tconst deletePage = async (pages: string) => {\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\n\t\t// Fetch data for new page with current values\n\t\tconsole.log('PageContext: useEffect Triggered', { curPathName, defaultColumnsLength: defaultColumns?.length, hasResources: !!resources });\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\t// Removed loading check to prevent blank page during loading\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["jsx","field","_a","pages","sharedPages"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("./jsx-runtime-B6vEU3CM.js");
3
3
  const React = require("react");
4
- const common = require("./common-QvMCr1xx.js");
4
+ const common = require("./common-6VUrYJDq.js");
5
5
  const hooks = require("./hooks-DsdahmnZ.js");
6
6
  const reactRouterDom = require("react-router-dom");
7
7
  const api = require("./api-DJMpbRRM.js");
@@ -11,7 +11,7 @@ const material = require("@mui/material");
11
11
  const notification = require("./notification-lAbbtOBF.js");
12
12
  const notistack = require("notistack");
13
13
  const reactI18next = require("react-i18next");
14
- const useAuth = require("./useAuth-BhsPEB2T.js");
14
+ const useAuth = require("./useAuth-HvZ6U960.js");
15
15
  const PermissionsContext = React.createContext(null);
16
16
  const PermissionsProvider = ({ children }) => {
17
17
  const { setIsPermissionLoaded = false } = hooks.useAppSelector(
@@ -461,4 +461,4 @@ exports.PermissionsContext = PermissionsContext;
461
461
  exports.PermissionsProvider = PermissionsProvider;
462
462
  exports.defaultPageState = defaultPageState;
463
463
  exports.initialFilter = initialFilter;
464
- //# sourceMappingURL=page-context-BKgBvHxw.js.map
464
+ //# sourceMappingURL=page-context-h7LEMAG0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-context-BKgBvHxw.js","sources":["../../src/contexts/permission-context.tsx","../../src/components/loaders/erp-loader.tsx","../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport React, { createContext, useMemo, ReactNode } from \"react\";\nimport { formatLabel } from \"../utils/format-text\";\nimport { useAppSelector } from \"../redux/hooks\";\n\n// Define the types for permissions\ntype PermissionActions = \"canEdit\" | \"canView\" | \"canAdd\" | \"canDelete\" | \"canAddForOthers\";\ntype SubModulePermissions = Partial<Record<PermissionActions, boolean>>;\ntype ModulePermissions = SubModulePermissions & Record<string, SubModulePermissions>;\n\nexport interface PermissionsContextType {\n [module: string]: ModulePermissions;\n}\n\ninterface PermissionsProviderProps {\n children: ReactNode;\n}\n\n// Create a context with a default value\nexport const PermissionsContext = createContext<PermissionsContextType | null>(null);\n\nexport const PermissionsProvider: React.FC<PermissionsProviderProps> = ({ children }) => {\n const { setIsPermissionLoaded = false } = useAppSelector(\n (store) => store.roles ?? {}\n );\n\n const storagePermission = useMemo(() => {\n return localStorage.getItem(\"role-permission\")\n }, [localStorage.getItem(\"role-permission\")])\n\n const permissions: Record<string, any> = useMemo(() => {\n const rawValue = storagePermission;\n\n if (!rawValue) {\n return {};\n }\n\n try {\n return JSON.parse(rawValue);\n } catch (error) {\n console.warn(\n \"[PermissionsProvider] Failed to parse stored permissions. Clearing corrupted value.\",\n error\n );\n localStorage.removeItem(\"role-permission\");\n return {};\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setIsPermissionLoaded, storagePermission]);\n const computedPermissions = useMemo(() => {\n const checkPermission = (module: string, action: string): boolean =>\n Boolean(permissions?.[module]?.[action]);\n\n const dynamicPermissions: PermissionsContextType = {};\n\n Object.keys(permissions)\n // .filter((key) => key.startsWith(\"rental-\"))\n .forEach((module) => {\n const formattedModule = formatLabel(\n module.replace(/p$/gi, \"\").replace(/-p-/gi, \"-\")\n ).replace(/[^a-zA-Z0-9]/gi, \"\");\n\n // Extract the main module name (e.g., \"RentalQuotations\")\n const [baseModule, subModule, ...subModuleParts] = formattedModule.split(/(?=[A-Z])/);\n const subModuleName = subModuleParts.join(\"\");\n const bModule = baseModule + (subModule || \"\")\n\n if (!dynamicPermissions[bModule]) {\n dynamicPermissions[bModule] = {};\n }\n\n const actionMap: Record<string, PermissionActions> = {\n u: \"canEdit\",\n e: \"canEdit\",\n r: \"canView\",\n w: \"canAdd\",\n d: \"canDelete\",\n wo: \"canAddForOthers\"\n };\n\n Object.entries(actionMap).forEach(([key, actionName]) => {\n if (subModuleName) {\n // Store sub-module actions separately\n if (!dynamicPermissions[bModule][subModuleName]) {\n dynamicPermissions[bModule][subModuleName] = {};\n }\n const currentValue = (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n } else {\n // Store main module actions\n const currentValue = (dynamicPermissions[bModule] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n }\n });\n });\n\n\n return dynamicPermissions;\n }, [permissions]);\n\n return (\n <PermissionsContext.Provider value={computedPermissions}>\n {children}\n </PermissionsContext.Provider>\n );\n};\n","import React from \"react\"\nimport { Box, CircularProgress, CircularProgressProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nconst Loader = styled(CircularProgress)(({theme})=>({\n color: theme.palette?.theme?.primary[500]||\"#1976d2\"\n}))\n\nconst ErpLoader = (props:CircularProgressProps) => {\n\treturn <Box position=\"fixed\" left='50%' top=\"50%\">\n <Loader size={50} {...props}/>\n </Box>\n};\n\nexport { ErpLoader };\nexport default ErpLoader;\n","/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData: Record<string, any>\n\tsetFormData: (data: Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n\trouteToColumnsMap?: Record<string, any>;\n\trouteToResourceMap?: Record<string, any>;\n}\n\nconst UpdatePageInfo = () => { };\nconst UpdateGeneratedColumns = () => { };\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => { },\n\tsetActivePage: () => { },\n\tsetPages: () => { },\n\tschemaFields: [],\n\tinitializeColumns: () => { },\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\t// if (dColumns && dColumns?.length) {\n\t\t// \tdefaultColumns = defaultColumns.map((column) => {\n\t\t// \t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t// \t\treturn f || column\n\t\t// \t})\n\t\t// }\n\t\tif (dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\tconst merged = f ? { ...column, ...f } : column;\n\t\t\t\treturn merged\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field) => !field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && { typeArrayAccessorKey: field.accessorKey || '' }),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false : true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues(_.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey || column.enableSorting === false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children, routeToColumnsMap: customRouteToColumnsMap, routeToResourceMap: customRouteToResourceMap }) => {\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToResourceMap:\", customRouteToResourceMap)\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToColumnsMap:\", customRouteToColumnsMap)\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst { user } = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = (customRouteToColumnsMap?.[curPathName] || routeToColumnsMap[curPathName])?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName, customRouteToColumnsMap]);\n\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = customRouteToResourceMap?.[curPathName] || routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName, customRouteToResourceMap]);\n\n\t//Translation\n\tconst { t } = useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\tconsole.log('PageContext: Entering fetchPageData', { currentPath, currentDefaultColumnsLength: currentDefaultColumns?.length, hasResources: !!currentResources });\n\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed', { ref: currentPathnameRef.current, current: currentPath });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconsole.log('PageContext: Resources Check:', { currentDefaultColumns, currentResources });\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '', formResource = '' } = currentResources;\n\n\t\t\t\t\tconsole.log('PageContext: Pathname:', currentPath);\n\t\t\t\t\tconsole.log('PageContext: Default Columns:', currentDefaultColumns);\n\t\t\t\t\tconsole.log('PageContext: Resources:', currentResources);\n\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst [pageResponse, fieldResponse, formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }) : Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters: `(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\tconsole.log('PageContext: API Responses:', { pageResponse, fieldResponse, formResponse });\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({ ...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label }));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n\t\t\t\t\tconsole.log('PageContext: Generated Columns:', gColumns);\n\n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait getV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\n\t};\n\n\tconst addOrDeletePage = async (restPages?: any[]) => {\n\t\ttry {\n\t\t\tconst filteredPages = restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name == p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n\t\t\t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg = restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t}\n\t}\n\n\tconst deletePage = async (pages: string) => {\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\n\t\t// Fetch data for new page with current values\n\t\tconsole.log('PageContext: useEffect Triggered', { curPathName, defaultColumnsLength: defaultColumns?.length, hasResources: !!resources });\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\t// Removed loading check to prevent blank page during loading\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["createContext","useAppSelector","useMemo","module","formatLabel","styled","CircularProgress","jsx","Box","field","useLocation","useState","useAuth","useRef","routeToColumnsMap","routeToResourceMap","useTranslation","useCallback","getV1PagesResource","getToken","getV1FormBuilderSchemaFieldsName","getV1FormBuilder","_a","pages","sharedPages","getV1FilterResource","removeIdStaticIdsFromMongoObject","patchV1PagesPageId","enqueueSnackbar","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"page-context-h7LEMAG0.js","sources":["../../src/contexts/permission-context.tsx","../../src/components/loaders/erp-loader.tsx","../../src/contexts/page-context.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport React, { createContext, useMemo, ReactNode } from \"react\";\nimport { formatLabel } from \"../utils/format-text\";\nimport { useAppSelector } from \"../redux/hooks\";\n\n// Define the types for permissions\ntype PermissionActions = \"canEdit\" | \"canView\" | \"canAdd\" | \"canDelete\" | \"canAddForOthers\";\ntype SubModulePermissions = Partial<Record<PermissionActions, boolean>>;\ntype ModulePermissions = SubModulePermissions & Record<string, SubModulePermissions>;\n\nexport interface PermissionsContextType {\n [module: string]: ModulePermissions;\n}\n\ninterface PermissionsProviderProps {\n children: ReactNode;\n}\n\n// Create a context with a default value\nexport const PermissionsContext = createContext<PermissionsContextType | null>(null);\n\nexport const PermissionsProvider: React.FC<PermissionsProviderProps> = ({ children }) => {\n const { setIsPermissionLoaded = false } = useAppSelector(\n (store) => store.roles ?? {}\n );\n\n const storagePermission = useMemo(() => {\n return localStorage.getItem(\"role-permission\")\n }, [localStorage.getItem(\"role-permission\")])\n\n const permissions: Record<string, any> = useMemo(() => {\n const rawValue = storagePermission;\n\n if (!rawValue) {\n return {};\n }\n\n try {\n return JSON.parse(rawValue);\n } catch (error) {\n console.warn(\n \"[PermissionsProvider] Failed to parse stored permissions. Clearing corrupted value.\",\n error\n );\n localStorage.removeItem(\"role-permission\");\n return {};\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setIsPermissionLoaded, storagePermission]);\n const computedPermissions = useMemo(() => {\n const checkPermission = (module: string, action: string): boolean =>\n Boolean(permissions?.[module]?.[action]);\n\n const dynamicPermissions: PermissionsContextType = {};\n\n Object.keys(permissions)\n // .filter((key) => key.startsWith(\"rental-\"))\n .forEach((module) => {\n const formattedModule = formatLabel(\n module.replace(/p$/gi, \"\").replace(/-p-/gi, \"-\")\n ).replace(/[^a-zA-Z0-9]/gi, \"\");\n\n // Extract the main module name (e.g., \"RentalQuotations\")\n const [baseModule, subModule, ...subModuleParts] = formattedModule.split(/(?=[A-Z])/);\n const subModuleName = subModuleParts.join(\"\");\n const bModule = baseModule + (subModule || \"\")\n\n if (!dynamicPermissions[bModule]) {\n dynamicPermissions[bModule] = {};\n }\n\n const actionMap: Record<string, PermissionActions> = {\n u: \"canEdit\",\n e: \"canEdit\",\n r: \"canView\",\n w: \"canAdd\",\n d: \"canDelete\",\n wo: \"canAddForOthers\"\n };\n\n Object.entries(actionMap).forEach(([key, actionName]) => {\n if (subModuleName) {\n // Store sub-module actions separately\n if (!dynamicPermissions[bModule][subModuleName]) {\n dynamicPermissions[bModule][subModuleName] = {};\n }\n const currentValue = (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule][subModuleName] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n } else {\n // Store main module actions\n const currentValue = (dynamicPermissions[bModule] as SubModulePermissions)[actionName] || false;\n (dynamicPermissions[bModule] as SubModulePermissions)[actionName] = currentValue || checkPermission(module, key);\n }\n });\n });\n\n\n return dynamicPermissions;\n }, [permissions]);\n\n return (\n <PermissionsContext.Provider value={computedPermissions}>\n {children}\n </PermissionsContext.Provider>\n );\n};\n","import React from \"react\"\nimport { Box, CircularProgress, CircularProgressProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nconst Loader = styled(CircularProgress)(({theme})=>({\n color: theme.palette?.theme?.primary[500]||\"#1976d2\"\n}))\n\nconst ErpLoader = (props:CircularProgressProps) => {\n\treturn <Box position=\"fixed\" left='50%' top=\"50%\">\n <Loader size={50} {...props}/>\n </Box>\n};\n\nexport { ErpLoader };\nexport default ErpLoader;\n","/* eslint-disable react-refresh/only-export-components */\n/* eslint-disable no-mixed-spaces-and-tabs */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useState, useRef } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n\tgetV1FilterResource,\n\tgetV1FormBuilder,\n\tgetV1FormBuilderSchemaFieldsName,\n\tgetV1PagesResource,\n\tpatchV1PagesPageId\n} from '../api-client/api.system-feature/api';\nimport { IResources, routeToColumnsMap, routeToResourceMap } from '../constants/route-page-map'; // Removed - should be passed as props or configured by consuming app\nimport { getToken } from '../utils/common';\nimport { removeIdStaticIdsFromMongoObject } from '../utils/common';\nimport { RuleGroupType } from 'react-querybuilder';\nimport { MaterialTableColumnProps } from '../components/material-table/material-table';\nimport _ from 'lodash';\nimport { formatLabel } from '../utils/format-text';\nimport ErpLoader from '../components/loaders/erp-loader';\nimport { enqueueSnackbar } from 'notistack';\nimport { useTranslation } from 'react-i18next';\nimport { useAuth } from '../hooks/useAuth';\n// import { usePermissions } from '../hooks/use-permissions';\n\n/* Interfaces and types */\nexport type ViewType = 'Table' | 'Grid' | 'Kanban' | 'Calendar' | 'Gantt' | '';\n\ninterface SchemaFields {\n\tselect: string;\n\talias: string;\n\ttype: string;\n\tfilter_type?: string;\n\tfilter_name?: string;\n\trequired?: boolean;\n\tisOrderAllowed?: boolean;\n\tisDefault?: boolean;\n\tisFilterAllowed?: boolean;\n\tlabel?: string;\n\tkey: string;\n\taccessorKey?: string;\n\tjoinKey?: string;\n\tenum?: string | string[];\n}\nexport interface SavedViewType {\n\tlabel: ViewType;\n\tposition: number;\n}\nexport interface PageState {\n\t_id: string | number;\n\tname: string;\n\tpage_size: number;\n\tcolumn_order: string[];\n\tvisible_columns: MaterialTableColumnProps[];\n\tviews: SavedViewType[];\n\tactive_view: ViewType;\n\tfilters: RuleGroupType;\n\tfilterQueryString: string;\n\tsort: Record<any, any> | null;\n\tsearch: string;\n\tenabled_views: ViewType[];\n\tisShared: boolean;\n\tcolumn_sizes: Record<string, number>;\n}\n\nexport interface GeneratedColumnsState {\n\tcolumns: MaterialTableColumnProps[];\n\torderKeys: string[];\n}\n\nexport const initialFilter: RuleGroupType = { combinator: 'and', rules: [] };\n\ninterface PageContextValue {\n\tpageTemplateId: string;\n\tactivePage: PageState;\n\tupdatePageInfo: (updates: Partial<PageState>) => void;\n\tloading: boolean;\n\tisSaving: boolean;\n\terror: string | null;\n\tpages: any[];\n\tsavePages: () => void;\n\tsetActivePage: (data: any) => void;\n\tsetPages: React.Dispatch<any>;\n\tschemaFields: SchemaFields[];\n\tinitializeColumns: (columns: MaterialTableColumnProps[]) => void;\n\tgeneratedColumns: GeneratedColumnsState;\n\tsharedPages: any[];\n\tupdateGeneratedColumns: (updates: Partial<GeneratedColumnsState>) => void;\n\tformData: Record<string, any>\n\tsetFormData: (data: Record<string, any>) => void\n}\n\nexport const defaultPageState: PageState = {\n\t_id: '',\n\tname: '',\n\tpage_size: 10,\n\tcolumn_order: ['id'],\n\tvisible_columns: [],\n\tviews: [],\n\tactive_view: '',\n\tfilters: initialFilter,\n\tfilterQueryString: '',\n\tsort: null,\n\tsearch: '',\n\tenabled_views: ['Table', 'Grid', 'Kanban', 'Calendar', 'Gantt'],\n\tisShared: false,\n\tcolumn_sizes: {}\n};\ninterface PageProviderProps {\n\tchildren: React.ReactNode;\n\trouteToColumnsMap?: Record<string, any>;\n\trouteToResourceMap?: Record<string, any>;\n}\n\nconst UpdatePageInfo = () => { };\nconst UpdateGeneratedColumns = () => { };\n\nexport const PageContext = createContext<PageContextValue>({\n\tpageTemplateId: '',\n\tactivePage: defaultPageState,\n\tupdatePageInfo: UpdatePageInfo,\n\tloading: false,\n\tisSaving: false,\n\terror: null,\n\tpages: [],\n\tsharedPages: [],\n\tsavePages: () => { },\n\tsetActivePage: () => { },\n\tsetPages: () => { },\n\tschemaFields: [],\n\tinitializeColumns: () => { },\n\tgeneratedColumns: { columns: [], orderKeys: [] },\n\tupdateGeneratedColumns: UpdateGeneratedColumns,\n});\n\nfunction mergeArraysKeepingOrder(array1: string[], array2: string[]): string[] {\n\t// Create a Set from the first array for efficient lookups\n\tconst array1Set = new Set(array1);\n\n\t// Filter the second array to find elements not in the first array\n\tconst elementsToAdd = array2.filter((item) => !array1Set.has(item));\n\n\t// Combine the original first array with the new elements\n\treturn [...array1, ...elementsToAdd];\n}\n\nconst generateColumnSchema = (\n\tdefaultColumns: MaterialTableColumnProps[],\n\tschemaFields: SchemaFields[],\n\tcolumnOrders: string[],\n\tdColumns?: any[],\n\tt?: any\n): { columns: MaterialTableColumnProps[]; orderKeys: string[] } => {\n\ttry {\n\t\t// if (dColumns && dColumns?.length) {\n\t\t// \tdefaultColumns = defaultColumns.map((column) => {\n\t\t// \t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t// \t\treturn f || column\n\t\t// \t})\n\t\t// }\n\t\tif (dColumns && dColumns?.length) {\n\t\t\tdefaultColumns = defaultColumns.map((column) => {\n\t\t\t\tconst f = dColumns.find((c) => c.accessorKey == column.accessorKey);\n\t\t\t\tconst merged = f ? { ...column, ...f } : column;\n\t\t\t\treturn merged\n\t\t\t})\n\t\t}\n\t\tlet orderKeys = columnOrders.length\n\t\t\t? columnOrders\n\t\t\t: (defaultColumns.map((column) => column.accessorKey) as string[]);\n\t\tconst getAccesorKeyViaField = (field: SchemaFields) =>\n\t\t\t(field.type === 'object' || field?.join) ? `${field.alias}.${field.accessorKey}` : field.key;\n\n\t\t// Clean up schema fields by removing \"__replaceKey\" from the keys\n\t\tconst updatedFields = schemaFields.map((field) => ({\n\t\t\t...field,\n\t\t\tkey: field.key.replace('__replaceKey', '')\n\t\t})).filter((field) => !field.is_inner_join);\n\n\t\tconst uniqueFields = _.differenceWith(\n\t\t\tupdatedFields,\n\t\t\tupdatedFields,\n\t\t\t(fieldA, fieldB) => fieldA.key === fieldB?.joinKey\n\t\t);\n\n\t\t// Find fields in schemaFields but not in defaultColumns based on accessorKey\n\t\tconst unmatchedFields = _.differenceWith(\n\t\t\tuniqueFields,\n\t\t\tdefaultColumns,\n\t\t\t(field, column) => getAccesorKeyViaField(field) === column.accessorKey\n\t\t);\n\n\t\t// Map unique fields to MaterialTableColumn structure\n\t\tconst additionalColumns: MaterialTableColumnProps[] = unmatchedFields.map(\n\t\t\t(field) => ({\n\t\t\t\theader: t ? formatLabel(t(field?.label)?.replace('_data', '') || '') : formatLabel(field?.label?.replace('_data', '') || ''),\n\t\t\t\taccessorKey: getAccesorKeyViaField(field),\n\t\t\t\tvisible: false,\n\t\t\t\ttype: field?.enum ? 'status' : field.type,\n\t\t\t\t...(field.type === 'array' && { typeArrayAccessorKey: field.accessorKey || '' }),\n\t\t\t\tenableSorting: (field.type === 'array' || field.type === 'object' || field?.join) ? false : true,\n\t\t\t\t...(field?.type === 'boolean' ? {\n\t\t\t\t\ttypeBooleanLabels: field?.values?.length ? _.mapValues(_.keyBy(\n\t\t\t\t\t\tfield?.values.map(item => ({\n\t\t\t\t\t\t\tkey: item.name,\n\t\t\t\t\t\t\tvalue: item.label\n\t\t\t\t\t\t})),\n\t\t\t\t\t\t'key'\n\t\t\t\t\t), 'value') : { 0: \"Inactive\", 1: \"Active\", false: \"Inactive\", true: \"Active\" }\n\t\t\t\t} : {})\n\t\t\t})\n\t\t);\n\n\t\tconst updatedDefaultColumns = defaultColumns?.map((column) => {\n\t\t\tconst field = schemaFields.find((field) => getAccesorKeyViaField(field) === column.accessorKey);\n\t\t\treturn {\n\t\t\t\t...column,\n\t\t\t\t...((field?.type === 'object' || field?.joinKey || column.enableSorting === false) ? { enableSorting: false } : {})\n\t\t\t};\n\t\t});\n\n\t\t// Combine default columns and additional columns\n\t\tconst columns = [...updatedDefaultColumns, ...additionalColumns];\n\n\t\t// Generate an array of column keys for ordering\n\t\tconst nOrderKeys = columns.map((column) => column.accessorKey) as string[];\n\n\t\torderKeys = mergeArraysKeepingOrder(orderKeys, nOrderKeys);\n\n\t\treturn { columns, orderKeys };\n\t} catch (error) {\n\t\treturn {\n\t\t\tcolumns: defaultColumns,\n\t\t\torderKeys: defaultColumns.map((column) => column.accessorKey) as string[]\n\t\t};\n\t}\n};\n\nexport const PageProvider: React.FC<PageProviderProps> = ({ children, routeToColumnsMap: customRouteToColumnsMap, routeToResourceMap: customRouteToResourceMap }) => {\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToResourceMap:\", customRouteToResourceMap)\n\tconsole.log(\"🚀 ~ PageProvider ~ customRouteToColumnsMap:\", customRouteToColumnsMap)\n\tconst location = useLocation();\n\tconst [activePage, setActivePageData] = useState<PageState>(defaultPageState);\n\t// const permissions=usePermissions();\n\tconst [schemaFields, setSchemaFields] = useState<SchemaFields[]>([]);\n\tconst [loading, setLoading] = useState<boolean>(true);\n\tconst [isSaving, setIsSaving] = useState<boolean>(false);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [pages, setPages] = useState<any>([]);\n\tconst [sharedPages, setSharedPages] = useState<any>([]);\n\tconst [isChanged, setIsChanged] = useState<boolean>(false);\n\tconst [pageTemplateId, setPageTemplateId] = useState<string>('');\n\tconst [isInitialLoad, setIsInitialLoad] = useState<boolean>(true);\n\tconst [isCreatePage, setIsCreatePage] = useState<boolean>(false);\n\tconst [formData, setFormData] = useState<any>({});\n\tconst [generatedColumns, setGeneratedColumns] = useState<{\n\t\tcolumns: MaterialTableColumnProps[];\n\t\torderKeys: string[];\n\t}>({ columns: [], orderKeys: [] });\n\tconst { user } = useAuth()\n\t// Add ref to track current pathname for race condition prevention\n\tconst currentPathnameRef = useRef<string>(location.pathname);\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Get current page's default columns and resources\n\tconst defaultColumns: any[] = useMemo(() => {\n\t\tconst columns = (customRouteToColumnsMap?.[curPathName] || routeToColumnsMap[curPathName])?.defaultColumns || [];\n\t\treturn columns;\n\t}, [curPathName, customRouteToColumnsMap]);\n\n\tconst resources: IResources = useMemo(() => {\n\t\tconst resource = customRouteToResourceMap?.[curPathName] || routeToResourceMap[curPathName] || null;\n\t\treturn resource;\n\t}, [curPathName, customRouteToResourceMap]);\n\n\t//Translation\n\tconst { t } = useTranslation()\n\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\tconst initializeColumns = (columns: MaterialTableColumnProps[]) => {\n\t\t//! Remove the function if not needed\n\t};\n\n\t// Fetch page-related information from API\n\tconst fetchPageData = useCallback(\n\t\tasync (currentPath: string, currentDefaultColumns: any[], currentResources: IResources) => {\n\t\t\tconsole.log('PageContext: Entering fetchPageData', { currentPath, currentDefaultColumnsLength: currentDefaultColumns?.length, hasResources: !!currentResources });\n\n\t\t\t// Check if this request is still valid (pathname hasn't changed)\n\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed', { ref: currentPathnameRef.current, current: currentPath });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconsole.log('PageContext: Resources Check:', { currentDefaultColumns, currentResources });\n\t\t\t\tif (currentDefaultColumns.length && currentResources) {\n\t\t\t\t\tconst { pageResource = '', fieldResource = '', formResource = '' } = currentResources;\n\n\t\t\t\t\tconsole.log('PageContext: Pathname:', currentPath);\n\t\t\t\t\tconsole.log('PageContext: Default Columns:', currentDefaultColumns);\n\t\t\t\t\tconsole.log('PageContext: Resources:', currentResources);\n\n\t\t\t\t\t// Double-check pathname hasn't changed before making API calls\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst [pageResponse, fieldResponse, formResponse] = await Promise.all([\n\t\t\t\t\t\tpageResource ? getV1PagesResource({ ...getToken(), resource: pageResource }) : Promise.resolve(null),\n\n\t\t\t\t\t\tgetV1FormBuilderSchemaFieldsName({\n\t\t\t\t\t\t\tname: fieldResource,\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tskip: 0,\n\t\t\t\t\t\t\tlimit: 999\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tgetV1FormBuilder({\n\t\t\t\t\t\t\t...getToken(),\n\t\t\t\t\t\t\tfilters: `(resource.eq=${formResource}&company_id.eq=${user?.company_id})`,\n\t\t\t\t\t\t})\n\t\t\t\t\t]);\n\n\t\t\t\t\tconsole.log('PageContext: API Responses:', { pageResponse, fieldResponse, formResponse });\n\n\t\t\t\t\t// Final check - ensure pathname still matches\n\t\t\t\t\tif (currentPathnameRef.current !== currentPath) {\n\t\t\t\t\t\tconsole.log('Aborting fetchPageData - pathname changed after API call');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst fields = fieldResponse?.data?.fields?.map(f => ({ ...f, label: !f?.label?.trim() ? formatLabel(f.key) : f.label }));\n\n\t\t\t\t\tconst gColumns = generateColumnSchema(currentDefaultColumns, fields, [], [], t);\n\t\t\t\t\tconsole.log('PageContext: Generated Columns:', gColumns);\n\n\t\t\t\t\tconst pages =\n\t\t\t\t\t\tpageResponse?.data?.pages?.map((p) => ({\n\t\t\t\t\t\t\t...defaultPageState,\n\t\t\t\t\t\t\t...p,\n\t\t\t\t\t\t\tvisible_columns: generateColumnSchema(\n\t\t\t\t\t\t\t\tp.visible_columns?.length ? p.visible_columns : currentDefaultColumns,\n\t\t\t\t\t\t\t\tfields,\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\tcurrentDefaultColumns,\n\t\t\t\t\t\t\t\tt\n\t\t\t\t\t\t\t).columns,\n\t\t\t\t\t\t\tcolumn_order: mergeArraysKeepingOrder(\n\t\t\t\t\t\t\t\tp.column_order || [],\n\t\t\t\t\t\t\t\t_.uniq(gColumns.orderKeys)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})) || [];\n\t\t\t\t\tconst sharedPages =\n\t\t\t\t\t\tpageResponse?.data?.shared_pages?.map((sPages) => ({\n\t\t\t\t\t\t\t...sPages.details,\n\t\t\t\t\t\t\tisShared: true,\n\t\t\t\t\t\t\towner: sPages.owner,\n\t\t\t\t\t\t\t_id: sPages.id\n\t\t\t\t\t\t})) || [];\n\n\t\t\t\t\tconst uPages = [...pages, ...sharedPages];\n\n\t\t\t\t\t// Only update state if we're still on the same path\n\t\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\t\tawait Promise.all([\n\t\t\t\t\t\t\tsetSchemaFields(fields),\n\t\t\t\t\t\t\tsetGeneratedColumns(gColumns),\n\t\t\t\t\t\t\tsetPageTemplateId(pageResponse?.data?._id),\n\t\t\t\t\t\t\tsetSharedPages(sharedPages),\n\t\t\t\t\t\t\tsetPages(uPages || []),\n\t\t\t\t\t\t\tsetFormData(formResponse?.data?.form?.[0] || {}),\n\t\t\t\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...(pages?.[0] || {}) // Merge API response with current state\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Only set error if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetError('Failed to load page data');\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t// Only update loading state if we're still on the same path\n\t\t\t\tif (currentPathnameRef.current === currentPath) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}, 1000);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[] // Remove dependencies to prevent stale closures\n\t);\n\n\t// Update page state dynamically\n\tconst updatePageInfo = (updates: Partial<PageState>) => {\n\t\tsetActivePageData((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t\t!isInitialLoad && setIsChanged(true)\n\t\tsetIsInitialLoad(false)\n\t};\n\n\t// Update columns state dynamically\n\tconst updateGeneratedColumns = (updates: Partial<GeneratedColumnsState>) => {\n\t\tsetGeneratedColumns((prev) => ({\n\t\t\t...prev,\n\t\t\t...updates\n\t\t}));\n\t};\n\n\tconst setActivePage = (page: PageState) => {\n\t\tconst uPages = pages.map((p) =>\n\t\t\tp._id == activePage?._id ? activePage : p\n\t\t);\n\t\tsetPages(uPages);\n\t\tsetActivePageData(page);\n\t};\n\n\tconst savePages = async () => {\n\t\tsetError(null);\n\t\tsetIsSaving(true);\n\t\tawait addOrDeletePage()\n\t\tsetTimeout(() => {\n\t\t\tsetIsSaving(false);\n\t\t}, 1000);\n\t};\n\tconst fetchSavedFilters = async (): Promise<void> => {\n\n\t\tawait getV1FilterResource({ ...getToken(), resource: resources?.pageResource || resources?.fieldResource })\n\n\t};\n\n\tconst addOrDeletePage = async (restPages?: any[]) => {\n\t\ttry {\n\t\t\tconst filteredPages = restPages?.length ? restPages : pages.filter((page) => !page.isShared);\n\t\t\tconst uPages = filteredPages.map((p) =>\n\t\t\t\t(p._id == activePage?._id && activePage.name == p.name) ? activePage : p\n\t\t\t);\n\t\t\tconst sanitizedPages = removeIdStaticIdsFromMongoObject(uPages);\n\n\t\t\tconst response = await patchV1PagesPageId({\n\t\t\t\t...getToken(),\n\t\t\t\t...{ page_id: pageTemplateId, pages: sanitizedPages }\n\t\t\t});\n\t\t\tif (response.status_code === 200) {\n\t\t\t\tconst updatedPages = response?.data?.pages || [];\n\t\t\t\tsetPages(updatedPages);\n\t\t\t\tfetchSavedFilters();\n\t\t\t\tsetActivePageData((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t...(updatedPages.find((p) => p.name == prev.name) || {})\n\t\t\t\t}));\n\t\t\t\tsetIsChanged(false);\n\t\t\t\tsetIsCreatePage(false);\n\t\t\t\tsetFormData(response?.data?.form?.[0] || {});\n\t\t\t\tconst msg = restPages?.length ? t('pages.msg.delete') : t('pages.msg.save')\n\t\t\t\tenqueueSnackbar(msg);\n\t\t\t}\n\t\t\treturn response\n\t\t} catch (err) {\n\t\t\tsetError('Failed to save page data');\n\t\t}\n\t}\n\n\tconst deletePage = async (pages: string) => {\n\t\taddOrDeletePage(pages);\n\t}\n\n\t// Handle pathname changes\n\tuseEffect(() => {\n\t\t// Update the ref immediately\n\t\tcurrentPathnameRef.current = curPathName;\n\n\t\t// Reset state for new page\n\t\tsetLoading(true);\n\t\tsetIsSaving(false);\n\t\tsetActivePageData(defaultPageState);\n\t\tsetIsChanged(false);\n\t\tsetIsInitialLoad(true);\n\n\t\t// Clear previous data to prevent showing stale data\n\t\tsetSchemaFields([]);\n\t\tsetGeneratedColumns({ columns: [], orderKeys: [] });\n\t\tsetPages([]);\n\t\tsetSharedPages([]);\n\t\tsetPageTemplateId('');\n\t\tsetError(null);\n\n\t\t// Fetch data for new page with current values\n\t\tconsole.log('PageContext: useEffect Triggered', { curPathName, defaultColumnsLength: defaultColumns?.length, hasResources: !!resources });\n\t\tfetchPageData(curPathName, defaultColumns, resources);\n\n\t\treturn () => { setLoading(true) }\n\t\t//eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [curPathName, JSON.stringify(defaultColumns), JSON.stringify(resources)]); // Remove other dependencies to prevent issues\n\n\n\t// Removed loading check to prevent blank page during loading\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\tif ((loading || curPathName != currentPathnameRef.current) && resources) {\n\t\treturn <ErpLoader />; // Show loader before rendering anything else\n\t}\n\n\treturn (\n\t\t<PageContext.Provider\n\t\t\tvalue={{\n\t\t\t\tpageTemplateId,\n\t\t\t\tactivePage,\n\t\t\t\tpages,\n\t\t\t\tsharedPages,\n\t\t\t\tschemaFields,\n\t\t\t\tsetPages,\n\t\t\t\tupdatePageInfo,\n\t\t\t\tsavePages,\n\t\t\t\tsetActivePage,\n\t\t\t\tisSaving,\n\t\t\t\tloading,\n\t\t\t\terror,\n\t\t\t\tinitializeColumns,\n\t\t\t\tgeneratedColumns,\n\t\t\t\tupdateGeneratedColumns,\n\t\t\t\tisChanged,\n\t\t\t\tdeletePage,\n\t\t\t\tisCreatePage,\n\t\t\t\tsetIsCreatePage,\n\t\t\t\taddOrDeletePage,\n\t\t\t\tsetIsChanged,\n\t\t\t\tformData\n\t\t\t}}>\n\t\t\t{children}\n\t\t</PageContext.Provider>\n\t);\n};\n"],"names":["createContext","useAppSelector","useMemo","module","formatLabel","styled","CircularProgress","jsx","Box","field","useLocation","useState","useAuth","useRef","routeToColumnsMap","routeToResourceMap","useTranslation","useCallback","getV1PagesResource","getToken","getV1FormBuilderSchemaFieldsName","getV1FormBuilder","_a","pages","sharedPages","getV1FilterResource","removeIdStaticIdsFromMongoObject","patchV1PagesPageId","enqueueSnackbar","useEffect"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
2
2
  import { A as getV1PagesUserList, B as postV1PagesShare, C as getV1FormBuilderFieldsId, D as getV1FormBuilderId, E as patchV1FormBuilderId } from "./api-BAbF3OU7.esm.js";
3
- import { ar as getToken } from "./common-B-nmtH5r.esm.js";
3
+ import { ar as getToken } from "./common-B6euWODJ.esm.js";
4
4
  const getAllUserAndDepartmentDropdown = createAsyncThunk(
5
5
  "share/getUser",
6
6
  async () => {
@@ -766,4 +766,4 @@ export {
766
766
  dashboardSlice as x,
767
767
  sharePage as y
768
768
  };
769
- //# sourceMappingURL=reducer-Gajha1Kz.esm.js.map
769
+ //# sourceMappingURL=reducer-Bpuo5eq1.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer-Gajha1Kz.esm.js","sources":["../../src/components/share-modal/redux/actionCreator.ts","../../src/views/beforeAuth/components/user-dashboard-data/user-dashboard-data.ts","../../src/views/beforeAuth/components/shared-pages-data/shared-pages-data.ts","../../src/views/afterAuth/dashboard/redux/state.ts","../../src/server.ts","../../src/views/afterAuth/dashboard/redux/actionCreator.ts","../../src/views/afterAuth/dashboard/redux/reducer.ts","../../src/views/form-builder/redux/actionCreator.ts","../../src/views/form-builder/redux/state.ts","../../src/views/form-builder/redux/reducer.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n","export const originalGrid = {\n layout_cards: {\n lg: [\n {\n i: \"card_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_2\",\n x: 1,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Active Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_3\",\n x: 2,\n y: 0,\n w: 1,\n h: 1.3,\n content: \" \",\n section_key: \"layout_cards\",\n },\n ],\n md: [\n {\n i: \"card_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_2\",\n x: 1,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Active Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_3\",\n x: 2,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Roles\",\n section_key: \"layout_cards\",\n },\n ],\n sm: [\n {\n i: \"card_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_2\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Active Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_3\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Roles\",\n section_key: \"layout_cards\",\n },\n ],\n },\n layout_charts: {\n lg: [\n {\n i: \"dongnut_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 2.5,\n content: \"User Status Distribution\",\n section_key: \"layout_charts\",\n },\n {\n i: \"dongnut_2\",\n x: 1,\n y: 0,\n w: 2,\n h: 2.5,\n content: \"Role Distribution\",\n section_key: \"layout_charts\",\n },\n ],\n md: [\n {\n i: \"dongnut_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 2.5,\n content: \"User Status Distribution\",\n section_key: \"layout_charts\",\n },\n {\n i: \"dongnut_2\",\n x: 1,\n y: 0,\n w: 2,\n h: 2.5,\n content: \"Role Distribution\",\n section_key: \"layout_charts\",\n },\n ],\n sm: [\n {\n i: \"dongnut_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 2.5,\n content: \"User Status Distribution\",\n section_key: \"layout_charts\",\n },\n {\n i: \"dongnut_2\",\n x: 0,\n y: 1,\n w: 1,\n h: 2.5,\n content: \"Role Distribution\",\n section_key: \"layout_charts\",\n },\n ],\n },\n layout_col1: {\n lg: [\n {\n i: \"cards_row\",\n x: 0,\n y: 0,\n w: 3,\n h: 1.5,\n content: \"cards_row\",\n section_key: \"layout_col1\",\n },\n {\n i: \"cards_row_dongnut\",\n x: 0,\n y: 1,\n w: 3,\n h: 3.5,\n content: \"cards_row_dongnut\",\n section_key: \"layout_col1\",\n },\n ],\n md: [\n {\n i: \"cards_row\",\n x: 0,\n y: 0,\n w: 3,\n h: 1.5,\n content: \"cards_row\",\n section_key: \"layout_col1\",\n },\n {\n i: \"cards_row_dongnut\",\n x: 0,\n y: 1,\n w: 3,\n h: 3.5,\n content: \"cards_row_dongnut\",\n section_key: \"layout_col1\",\n },\n ],\n sm: [\n {\n i: \"cards_row\",\n x: 0,\n y: 0,\n w: 1,\n h: 4,\n content: \"cards_row\",\n section_key: \"layout_col1\",\n },\n {\n i: \"cards_row_dongnut\",\n x: 0,\n y: 1,\n w: 1,\n h: 5.1,\n content: \"cards_row_dongnut\",\n section_key: \"layout_col1\",\n },\n ],\n },\n layout_col2: {\n lg: [\n {\n i: \"activity\",\n x: 0,\n y: 0,\n w: 3,\n h: 3,\n content: \"Activities\",\n section_key: \"layout_col2\",\n },\n {\n i: \"pinned_items\",\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n content: \"Pined Items\",\n section_key: \"layout_col2\",\n },\n ],\n md: [\n {\n i: \"activity\",\n x: 0,\n y: 0,\n w: 3,\n h: 3,\n content: \"Activities\",\n section_key: \"layout_col2\",\n },\n {\n i: \"pinned_items\",\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n content: \"Pined Items\",\n section_key: \"layout_col2\",\n },\n ],\n sm: [\n {\n i: \"activity\",\n x: 0,\n y: 0,\n w: 1,\n h: 3,\n content: \"Activities\",\n section_key: \"layout_col2\",\n },\n {\n i: \"pinned_items\",\n x: 0,\n y: 0,\n w: 1,\n h: 2,\n content: \"Pined Items\",\n section_key: \"layout_col2\",\n },\n ],\n },\n layout_cols: {\n lg: [\n {\n i: \"column_1\",\n x: 1,\n y: 0,\n w: 2.1,\n h: 5.2,\n content: \"column1\",\n section_key: \"layout_cols\",\n },\n {\n i: \"column_2\",\n x: 12,\n y: 0,\n w: 0.9,\n h: 5.2,\n content: \"column2\",\n section_key: \"layout_cols\",\n },\n ],\n md: [\n {\n i: \"column_1\",\n x: 1,\n y: 0,\n w: 8.5,\n h: 10,\n content: \"column1\",\n section_key: \"layout_cols\",\n },\n {\n i: \"column_2\",\n x: 12,\n y: 0,\n w: 3.5,\n h: 5,\n content: \"column2\",\n section_key: \"layout_cols\",\n },\n ],\n sm: [\n {\n i: \"column_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 9.2,\n content: \"column1\",\n section_key: \"layout_cols\",\n },\n {\n i: \"column_2\",\n x: 0,\n y: 0.2,\n w: 1,\n h: 5,\n content: \"column2\",\n section_key: \"layout_cols\",\n },\n ],\n },\n layout : {\n lg: [\n { content: \"Total Files\", i: 'card: Total Files', x: 0, y: 0, w: 1, h: 1 },\n { content: \"Total File Size\", i: 'card1: Total File Size', x: 1, y: 0, w: 1, h: 1 },\n { content: \"File With Location\", i: 'card2: File With Location', x: 2, y: 0, w: 1, h: 1 },\n { content: \"File Storage\", i: 'donut: File Storage', x: 3, y: 0, w: 3, h: 1.5 },\n { content: \"Recent Files\", i: 'table: Recent Files', x: 4, y: 0, w: 3, h: 1.6 },\n ]\n }\n};\n","export const sharedPagesData = [\n {\n id: 1,\n name: \"Page 1\",\n viewStyle: 1,\n owner: \"Siddhant\",\n isPinToDashboard: false,\n },\n {\n id: 2,\n name: \"Page 2\",\n viewStyle: 1,\n owner: \"prasun\",\n isPinToDashboard: false,\n },\n {\n id: 3,\n name: \"Page 3\",\n viewStyle: 1,\n owner: \"Amrit\",\n isPinToDashboard: false,\n },\n {\n id: 4,\n name: \"Page 4\",\n viewStyle: 1,\n owner: \"Siddhant\",\n isPinToDashboard: false,\n },\n {\n id: 5,\n name: \"Page 5\",\n viewStyle: 1,\n owner: \"Amrit\",\n isPinToDashboard: false,\n },\n {\n id: 6,\n name: \"Page 21\",\n viewStyle: 1,\n owner: \"prasun\",\n isPinToDashboard: false,\n },\n];\n","import { originalGrid } from \"../../../beforeAuth/components/user-dashboard-data/user-dashboard-data\";\nimport { sharedPagesData } from \"../../../beforeAuth/components/shared-pages-data/shared-pages-data\";\nconst data = [\n {\n _id: 1,\n name: \"Default\",\n grid_json: originalGrid,\n module: \"user\",\n user_id: \"1\",\n },\n];\nexport const state = {\n currentPage: 1,\n user_name: \"\",\n number: \"\",\n users: [],\n rows: [],\n loading: true,\n error: \"\",\n pages: data,\n grid: originalGrid,\n paginationModel: {\n pageNo: 1,\n limit: 10,\n },\n sharedPages: JSON.parse(\n localStorage.getItem(\"sharedPages\") || JSON.stringify(sharedPagesData),\n ),\n pinToDashboardList: JSON.parse(\n localStorage.getItem(\"pinToDashboardList\") || \"[]\",\n ),\n driveDashboard : data ,\n};\n\nexport default state;\n","const BASE_URL = \"process.env.baseUrl\";\n\nexport const Server = {\n get: async function (\n url: string,\n isAuth?: boolean,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n\n if (isAuth) {\n const token = localStorage.getItem(\"_tid\");\n requestOptions.headers[\"Authorization\"] = `Bearer ${token}`;\n requestOptions.headers[\"x-auth-token\"] = `Bearer ${token}`;\n }\n const response = await fetch(BASE_URL + url, requestOptions);\n return await response.json();\n },\n\n getWithToken: async function (\n url: string,\n token: string,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n\n const response = await fetch(\n BASE_URL + url + `?token=${token}`,\n requestOptions,\n );\n return await response.json();\n },\n\n post: async function (\n url: string,\n payload: any,\n isAuth: boolean,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n body: JSON.stringify(payload),\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n if (isAuth) {\n const token: string = localStorage.getItem(\"_tid\")!;\n requestOptions.headers[\"Authorization\"] = `Bearer ${atob(token)}`;\n requestOptions.headers[\"x-auth-token\"] = `Bearer ${atob(token)}`;\n }\n\n const response = await fetch(BASE_URL + url, requestOptions);\n // if (response.status === 200) {\n let jsonResponse = {};\n try {\n jsonResponse = await response.json();\n } catch (e) {\n console.log(\"unable to parse as json\", e);\n }\n return jsonResponse;\n // } else {\n // \tlet err = { http_error: response.status, response: response };\n // \tthrow err;\n // }\n },\n\n put: async function (\n url: string,\n id: string,\n payload: any,\n isAuth: boolean,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n body: JSON.stringify(payload),\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n if (isAuth) {\n const token: string = localStorage.getItem(\"_tid\")!;\n requestOptions.headers[\"Authorization\"] = `Bearer ${atob(token)}`;\n requestOptions.headers[\"x-auth-token\"] = `Bearer ${atob(token)}`;\n }\n\n const response = await fetch(BASE_URL + url + \"/\" + id, requestOptions);\n // if (response.status === 200) {\n let jsonResponse = {};\n try {\n jsonResponse = await response.json();\n } catch (e) {\n console.log(\"unable to parse as json\", e);\n }\n return jsonResponse;\n // } else {\n // \tlet err = { http_error: response.status };\n // \tthrow err;\n // }\n },\n\n redirectPost: (url: string, data: any) => {\n const form = document.createElement(\"form\");\n document.body.appendChild(form);\n form.method = \"post\";\n form.action = url;\n for (const name in data) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = name;\n input.value = data[name];\n form.appendChild(input);\n }\n form.submit();\n },\n};\n\nexport default Server;\n","import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { Server } from \"../../../../server\";\n\nexport const setUserNameAction = (state: any, action: any) => {\n state.user_name = action.payload;\n};\n\nexport const pinToDashboardAction = (state: any, action: any) => {\n state.pinToDashboardList = action.payload;\n localStorage.setItem(\"pinToDashboardList\", JSON.stringify(action.payload));\n};\n\nexport const setPagesAction = (state: any, action: any) => {\n state.pages = action.payload;\n};\n\nexport const setSharedPageAction = (state: any, action: any) => {\n state.sharedPages = action.payload;\n localStorage.setItem(\"sharedPages\", JSON.stringify(action.payload));\n};\nexport const setdashboardDriveData = (state: any, action: any) => {\n state.DashboardDrive = action.payload;\n \n};\n\n// ---------- API CALL ----------\n// Generates pending, fulfilled and rejected action types\nexport const UsersFetchAction = createAsyncThunk(\"dashboard/Users\", () => {\n // TODO: --- USING AXIOS ---\n // return axios\n // \t.get('https://jsonplaceholder.typicode.com/users')\n // \t.then(response => response.data)\n\n // TODO: --- USING FETCH API ---\n // return fetch(\"https://jsonplaceholder.typicode.com/users\", {\n // \tmethod: \"GET\",\n // \theaders: {\n // \t\t\"Content-type\": \"application/json\",\n // \t}\n // }).then(response => response.json())\n // \t.then(response => {\n // \t\treturn response;\n // \t})\n\n // TODO: ----------- USING CUSTOM -----------\n Server.get(\"/users\").then((response) => response);\n});\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\n\nimport {\n pinToDashboardAction,\n setPagesAction,\n setSharedPageAction,\n setUserNameAction,\n UsersFetchAction, \n setdashboardDriveData , \n} from \"./actionCreator\";\n\nexport const dashboardSlice = createSlice({\n name: \"dashboard\",\n initialState,\n reducers: {\n setUserName: setUserNameAction,\n changeCurrentPage(state, action) {\n state.currentPage = action.payload;\n },\n // setPages(state, action) {\n // state.pages = action.payload;\n // },\n setPaginationModel(state, action) {\n state.paginationModel = action.payload;\n },\n setGrid(state, action) {\n state.grid = action.payload;\n },\n setdashboardDriveData(state, action) {\n state.driveDashboard = action.payload;\n },\n setPages: setPagesAction,\n setSharedPage: setSharedPageAction,\n pinToDashboardList: pinToDashboardAction,\n dashBoardDrive : setdashboardDriveData , \n },\n extraReducers: (builder) => {\n builder.addCase(UsersFetchAction.pending, (state) => {\n state.loading = true;\n });\n //eslint-disable-next-line\n builder.addCase(UsersFetchAction.fulfilled, (state) => {\n state.loading = false;\n state.error = \"\";\n });\n builder.addCase(UsersFetchAction.rejected, (state) => {\n state.loading = false;\n state.users = [];\n });\n },\n});\n\nexport const {\n setUserName,\n changeCurrentPage,\n setPages,\n setSharedPage,\n setPaginationModel,\n setGrid,\n pinToDashboardList,\n dashBoardDrive , \n // setdashboardDriveData,\n} = dashboardSlice.actions;\n\n// Re-export async thunk\nexport { UsersFetchAction };\n\nexport default dashboardSlice.reducer;\n","import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n","export interface ApiFormFields {\n [module: string]: {\n field: string;\n type: string;\n }[];\n}\n\nexport interface Pagination {\n\tpageNo: number;\n\tlimit: number;\n\ttotalCount: number;\n}\n\ninterface IState {\n rows: any[];\n workflowTemplate: any[];\n workflow: any[];\n isLoading: boolean;\n isError: boolean;\n count: number;\n error: string;\n formData: any[];\n fields: ApiFormFields | null;\n isSuccess: boolean;\n workflowAutomationId: {};\n paginationModel: Pagination;\n}\n\nexport const state: IState = {\n rows: [],\n workflowTemplate: [],\n workflow: [],\n isLoading: false,\n isError: false,\n count: 0,\n error: \"\",\n formData: [],\n fields: null,\n isSuccess: false,\n workflowAutomationId: {},\n paginationModel:{\n pageNo:1,\n limit:10,\n totalCount: 0\n }\n};\nexport default state;\n","import { createSlice } from '@reduxjs/toolkit';\nimport {\n getFieldsByFormId,\n getFormDataById,\n patchFormDataById,\n\n} from \"./actionCreator\";\nimport initialState from \"./state\";\n\nconst isJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch (error) {\n return false;\n }\n};\n\nexport const formBuilderListSlice = createSlice({\n name: \"formBuilder/getAllFormData\",\n initialState,\n reducers: {\n setFormData: (state, action) => {\n state.formData = action.payload\n },\n setPaginationModel(state, action) {\n state.paginationModel = { ...state.paginationModel, ...action.payload };\n },\n },\n extraReducers: (builder) => {\n /*--------------------------------GET Handle Pending State ---------------------------------*/\n\n\n\n /*--------------------------------GET BY ID Handle Pending State ---------------------------------*/\n\n builder.addCase(getFormDataById.pending, (state) => {\n state.isLoading = true;\n state.isError = false;\n state.error = '';\n state.formData = [];\n });\n\n /*--------------------------------GET BY ID Handle fullfiled State ---------------------------------*/\n builder.addCase(getFormDataById.fulfilled, (state, action: any) => {\n state.isLoading = false;\n state.isError = false;\n state.formData = action?.payload?.data?.form?.fields;\n state.error = \"\";\n });\n\n /*--------------------------------GET BY ID Handle Rejected State ---------------------------------*/\n builder.addCase(getFormDataById.rejected, (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.error = action.error.message || \"\";\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n\n builder.addCase(patchFormDataById.pending, (state) => {\n // state.isLoading = true;\n // state.isError = false;\n // state.isSuccess = false;\n // state.error = \"\";\n });\n\n /*--------------------------------Patch Handle fullfiled State ---------------------------------*/\n builder.addCase(patchFormDataById.fulfilled, (state) => {\n state.isLoading = false;\n state.isError = false;\n // state.formData = [];\n state.error = \"\";\n state.isSuccess = true;\n });\n\n /*--------------------------------Patch Handle Rejected State ---------------------------------*/\n builder.addCase(patchFormDataById.rejected, (state, action) => {\n const error: string = isJsonParse(action.error?.message)?.message || action.error.message || \"Something went wrong\";\n state.isLoading = false;\n state.isError = true;\n state.error = error;\n state.isSuccess = false;\n });\n\n\n\n\n /*--------------------------------Get Fields By Form ID handle pending state ---------------------------------*/\n builder.addCase(getFieldsByFormId.pending, (state) => {\n state.isLoading = true;\n });\n /*--------------------------------Get Fields By Form ID handle fullfilled state ---------------------------------*/\n builder.addCase(getFieldsByFormId.fulfilled, (state, action) => {\n const incomingFields = action.payload;\n if (incomingFields.length) {\n let fields = {};\n incomingFields.forEach((field: any) => {\n for (const key in field) {\n fields = {\n ...fields,\n [key]: field[key],\n };\n }\n });\n state.fields = fields;\n state.isLoading = false;\n }\n });\n /*--------------------------------Get Fields By Form ID handle rejected state ---------------------------------*/\n builder.addCase(getFieldsByFormId.rejected, (state, action) => {\n const message = `Fields API: ${isJsonParse(action.error.message as string)?.message ||\n action.error.message\n }`;\n state.isLoading = false;\n state.isError = true;\n state.error = message;\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n },\n});\n\nexport const { setFormData, setPaginationModel } = formBuilderListSlice.actions;\n\nexport default formBuilderListSlice.reducer;\n"],"names":["data","state","initialState","setPaginationModel"],"mappings":"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"}
1
+ {"version":3,"file":"reducer-Bpuo5eq1.esm.js","sources":["../../src/components/share-modal/redux/actionCreator.ts","../../src/views/beforeAuth/components/user-dashboard-data/user-dashboard-data.ts","../../src/views/beforeAuth/components/shared-pages-data/shared-pages-data.ts","../../src/views/afterAuth/dashboard/redux/state.ts","../../src/server.ts","../../src/views/afterAuth/dashboard/redux/actionCreator.ts","../../src/views/afterAuth/dashboard/redux/reducer.ts","../../src/views/form-builder/redux/actionCreator.ts","../../src/views/form-builder/redux/state.ts","../../src/views/form-builder/redux/reducer.ts"],"sourcesContent":["import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport {\n getV1PagesUserList,\n postV1PagesShare,\n} from \"../../../api-client/api.system-feature/api\";\nimport { getToken } from '../../../utils/common';\n\nexport const getAllUserAndDepartmentDropdown = createAsyncThunk(\n \"share/getUser\",\n async () => {\n const response = await getV1PagesUserList({ ...getToken() });\n return response;\n },\n);\n\nexport const sharePage = createAsyncThunk(\n \"share/sharePage\",\n async (data: any) => {\n const response = await postV1PagesShare({ ...getToken(), data });\n return response;\n },\n);\n","export const originalGrid = {\n layout_cards: {\n lg: [\n {\n i: \"card_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_2\",\n x: 1,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Active Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_3\",\n x: 2,\n y: 0,\n w: 1,\n h: 1.3,\n content: \" \",\n section_key: \"layout_cards\",\n },\n ],\n md: [\n {\n i: \"card_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_2\",\n x: 1,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Active Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_3\",\n x: 2,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Roles\",\n section_key: \"layout_cards\",\n },\n ],\n sm: [\n {\n i: \"card_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_2\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Active Users\",\n section_key: \"layout_cards\",\n },\n {\n i: \"card_3\",\n x: 0,\n y: 0,\n w: 1,\n h: 1.3,\n content: \"Total Roles\",\n section_key: \"layout_cards\",\n },\n ],\n },\n layout_charts: {\n lg: [\n {\n i: \"dongnut_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 2.5,\n content: \"User Status Distribution\",\n section_key: \"layout_charts\",\n },\n {\n i: \"dongnut_2\",\n x: 1,\n y: 0,\n w: 2,\n h: 2.5,\n content: \"Role Distribution\",\n section_key: \"layout_charts\",\n },\n ],\n md: [\n {\n i: \"dongnut_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 2.5,\n content: \"User Status Distribution\",\n section_key: \"layout_charts\",\n },\n {\n i: \"dongnut_2\",\n x: 1,\n y: 0,\n w: 2,\n h: 2.5,\n content: \"Role Distribution\",\n section_key: \"layout_charts\",\n },\n ],\n sm: [\n {\n i: \"dongnut_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 2.5,\n content: \"User Status Distribution\",\n section_key: \"layout_charts\",\n },\n {\n i: \"dongnut_2\",\n x: 0,\n y: 1,\n w: 1,\n h: 2.5,\n content: \"Role Distribution\",\n section_key: \"layout_charts\",\n },\n ],\n },\n layout_col1: {\n lg: [\n {\n i: \"cards_row\",\n x: 0,\n y: 0,\n w: 3,\n h: 1.5,\n content: \"cards_row\",\n section_key: \"layout_col1\",\n },\n {\n i: \"cards_row_dongnut\",\n x: 0,\n y: 1,\n w: 3,\n h: 3.5,\n content: \"cards_row_dongnut\",\n section_key: \"layout_col1\",\n },\n ],\n md: [\n {\n i: \"cards_row\",\n x: 0,\n y: 0,\n w: 3,\n h: 1.5,\n content: \"cards_row\",\n section_key: \"layout_col1\",\n },\n {\n i: \"cards_row_dongnut\",\n x: 0,\n y: 1,\n w: 3,\n h: 3.5,\n content: \"cards_row_dongnut\",\n section_key: \"layout_col1\",\n },\n ],\n sm: [\n {\n i: \"cards_row\",\n x: 0,\n y: 0,\n w: 1,\n h: 4,\n content: \"cards_row\",\n section_key: \"layout_col1\",\n },\n {\n i: \"cards_row_dongnut\",\n x: 0,\n y: 1,\n w: 1,\n h: 5.1,\n content: \"cards_row_dongnut\",\n section_key: \"layout_col1\",\n },\n ],\n },\n layout_col2: {\n lg: [\n {\n i: \"activity\",\n x: 0,\n y: 0,\n w: 3,\n h: 3,\n content: \"Activities\",\n section_key: \"layout_col2\",\n },\n {\n i: \"pinned_items\",\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n content: \"Pined Items\",\n section_key: \"layout_col2\",\n },\n ],\n md: [\n {\n i: \"activity\",\n x: 0,\n y: 0,\n w: 3,\n h: 3,\n content: \"Activities\",\n section_key: \"layout_col2\",\n },\n {\n i: \"pinned_items\",\n x: 0,\n y: 0,\n w: 3,\n h: 2,\n content: \"Pined Items\",\n section_key: \"layout_col2\",\n },\n ],\n sm: [\n {\n i: \"activity\",\n x: 0,\n y: 0,\n w: 1,\n h: 3,\n content: \"Activities\",\n section_key: \"layout_col2\",\n },\n {\n i: \"pinned_items\",\n x: 0,\n y: 0,\n w: 1,\n h: 2,\n content: \"Pined Items\",\n section_key: \"layout_col2\",\n },\n ],\n },\n layout_cols: {\n lg: [\n {\n i: \"column_1\",\n x: 1,\n y: 0,\n w: 2.1,\n h: 5.2,\n content: \"column1\",\n section_key: \"layout_cols\",\n },\n {\n i: \"column_2\",\n x: 12,\n y: 0,\n w: 0.9,\n h: 5.2,\n content: \"column2\",\n section_key: \"layout_cols\",\n },\n ],\n md: [\n {\n i: \"column_1\",\n x: 1,\n y: 0,\n w: 8.5,\n h: 10,\n content: \"column1\",\n section_key: \"layout_cols\",\n },\n {\n i: \"column_2\",\n x: 12,\n y: 0,\n w: 3.5,\n h: 5,\n content: \"column2\",\n section_key: \"layout_cols\",\n },\n ],\n sm: [\n {\n i: \"column_1\",\n x: 0,\n y: 0,\n w: 1,\n h: 9.2,\n content: \"column1\",\n section_key: \"layout_cols\",\n },\n {\n i: \"column_2\",\n x: 0,\n y: 0.2,\n w: 1,\n h: 5,\n content: \"column2\",\n section_key: \"layout_cols\",\n },\n ],\n },\n layout : {\n lg: [\n { content: \"Total Files\", i: 'card: Total Files', x: 0, y: 0, w: 1, h: 1 },\n { content: \"Total File Size\", i: 'card1: Total File Size', x: 1, y: 0, w: 1, h: 1 },\n { content: \"File With Location\", i: 'card2: File With Location', x: 2, y: 0, w: 1, h: 1 },\n { content: \"File Storage\", i: 'donut: File Storage', x: 3, y: 0, w: 3, h: 1.5 },\n { content: \"Recent Files\", i: 'table: Recent Files', x: 4, y: 0, w: 3, h: 1.6 },\n ]\n }\n};\n","export const sharedPagesData = [\n {\n id: 1,\n name: \"Page 1\",\n viewStyle: 1,\n owner: \"Siddhant\",\n isPinToDashboard: false,\n },\n {\n id: 2,\n name: \"Page 2\",\n viewStyle: 1,\n owner: \"prasun\",\n isPinToDashboard: false,\n },\n {\n id: 3,\n name: \"Page 3\",\n viewStyle: 1,\n owner: \"Amrit\",\n isPinToDashboard: false,\n },\n {\n id: 4,\n name: \"Page 4\",\n viewStyle: 1,\n owner: \"Siddhant\",\n isPinToDashboard: false,\n },\n {\n id: 5,\n name: \"Page 5\",\n viewStyle: 1,\n owner: \"Amrit\",\n isPinToDashboard: false,\n },\n {\n id: 6,\n name: \"Page 21\",\n viewStyle: 1,\n owner: \"prasun\",\n isPinToDashboard: false,\n },\n];\n","import { originalGrid } from \"../../../beforeAuth/components/user-dashboard-data/user-dashboard-data\";\nimport { sharedPagesData } from \"../../../beforeAuth/components/shared-pages-data/shared-pages-data\";\nconst data = [\n {\n _id: 1,\n name: \"Default\",\n grid_json: originalGrid,\n module: \"user\",\n user_id: \"1\",\n },\n];\nexport const state = {\n currentPage: 1,\n user_name: \"\",\n number: \"\",\n users: [],\n rows: [],\n loading: true,\n error: \"\",\n pages: data,\n grid: originalGrid,\n paginationModel: {\n pageNo: 1,\n limit: 10,\n },\n sharedPages: JSON.parse(\n localStorage.getItem(\"sharedPages\") || JSON.stringify(sharedPagesData),\n ),\n pinToDashboardList: JSON.parse(\n localStorage.getItem(\"pinToDashboardList\") || \"[]\",\n ),\n driveDashboard : data ,\n};\n\nexport default state;\n","const BASE_URL = \"process.env.baseUrl\";\n\nexport const Server = {\n get: async function (\n url: string,\n isAuth?: boolean,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n\n if (isAuth) {\n const token = localStorage.getItem(\"_tid\");\n requestOptions.headers[\"Authorization\"] = `Bearer ${token}`;\n requestOptions.headers[\"x-auth-token\"] = `Bearer ${token}`;\n }\n const response = await fetch(BASE_URL + url, requestOptions);\n return await response.json();\n },\n\n getWithToken: async function (\n url: string,\n token: string,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n\n const response = await fetch(\n BASE_URL + url + `?token=${token}`,\n requestOptions,\n );\n return await response.json();\n },\n\n post: async function (\n url: string,\n payload: any,\n isAuth: boolean,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n body: JSON.stringify(payload),\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n if (isAuth) {\n const token: string = localStorage.getItem(\"_tid\")!;\n requestOptions.headers[\"Authorization\"] = `Bearer ${atob(token)}`;\n requestOptions.headers[\"x-auth-token\"] = `Bearer ${atob(token)}`;\n }\n\n const response = await fetch(BASE_URL + url, requestOptions);\n // if (response.status === 200) {\n let jsonResponse = {};\n try {\n jsonResponse = await response.json();\n } catch (e) {\n console.log(\"unable to parse as json\", e);\n }\n return jsonResponse;\n // } else {\n // \tlet err = { http_error: response.status, response: response };\n // \tthrow err;\n // }\n },\n\n put: async function (\n url: string,\n id: string,\n payload: any,\n isAuth: boolean,\n customOptions?: any,\n customHeader?: any,\n ) {\n let requestOptions = {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\",\n ...customHeader,\n },\n body: JSON.stringify(payload),\n };\n if (customOptions) requestOptions = { ...requestOptions, ...customOptions };\n if (isAuth) {\n const token: string = localStorage.getItem(\"_tid\")!;\n requestOptions.headers[\"Authorization\"] = `Bearer ${atob(token)}`;\n requestOptions.headers[\"x-auth-token\"] = `Bearer ${atob(token)}`;\n }\n\n const response = await fetch(BASE_URL + url + \"/\" + id, requestOptions);\n // if (response.status === 200) {\n let jsonResponse = {};\n try {\n jsonResponse = await response.json();\n } catch (e) {\n console.log(\"unable to parse as json\", e);\n }\n return jsonResponse;\n // } else {\n // \tlet err = { http_error: response.status };\n // \tthrow err;\n // }\n },\n\n redirectPost: (url: string, data: any) => {\n const form = document.createElement(\"form\");\n document.body.appendChild(form);\n form.method = \"post\";\n form.action = url;\n for (const name in data) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = name;\n input.value = data[name];\n form.appendChild(input);\n }\n form.submit();\n },\n};\n\nexport default Server;\n","import { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { Server } from \"../../../../server\";\n\nexport const setUserNameAction = (state: any, action: any) => {\n state.user_name = action.payload;\n};\n\nexport const pinToDashboardAction = (state: any, action: any) => {\n state.pinToDashboardList = action.payload;\n localStorage.setItem(\"pinToDashboardList\", JSON.stringify(action.payload));\n};\n\nexport const setPagesAction = (state: any, action: any) => {\n state.pages = action.payload;\n};\n\nexport const setSharedPageAction = (state: any, action: any) => {\n state.sharedPages = action.payload;\n localStorage.setItem(\"sharedPages\", JSON.stringify(action.payload));\n};\nexport const setdashboardDriveData = (state: any, action: any) => {\n state.DashboardDrive = action.payload;\n \n};\n\n// ---------- API CALL ----------\n// Generates pending, fulfilled and rejected action types\nexport const UsersFetchAction = createAsyncThunk(\"dashboard/Users\", () => {\n // TODO: --- USING AXIOS ---\n // return axios\n // \t.get('https://jsonplaceholder.typicode.com/users')\n // \t.then(response => response.data)\n\n // TODO: --- USING FETCH API ---\n // return fetch(\"https://jsonplaceholder.typicode.com/users\", {\n // \tmethod: \"GET\",\n // \theaders: {\n // \t\t\"Content-type\": \"application/json\",\n // \t}\n // }).then(response => response.json())\n // \t.then(response => {\n // \t\treturn response;\n // \t})\n\n // TODO: ----------- USING CUSTOM -----------\n Server.get(\"/users\").then((response) => response);\n});\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport initialState from \"./state\";\n\nimport {\n pinToDashboardAction,\n setPagesAction,\n setSharedPageAction,\n setUserNameAction,\n UsersFetchAction, \n setdashboardDriveData , \n} from \"./actionCreator\";\n\nexport const dashboardSlice = createSlice({\n name: \"dashboard\",\n initialState,\n reducers: {\n setUserName: setUserNameAction,\n changeCurrentPage(state, action) {\n state.currentPage = action.payload;\n },\n // setPages(state, action) {\n // state.pages = action.payload;\n // },\n setPaginationModel(state, action) {\n state.paginationModel = action.payload;\n },\n setGrid(state, action) {\n state.grid = action.payload;\n },\n setdashboardDriveData(state, action) {\n state.driveDashboard = action.payload;\n },\n setPages: setPagesAction,\n setSharedPage: setSharedPageAction,\n pinToDashboardList: pinToDashboardAction,\n dashBoardDrive : setdashboardDriveData , \n },\n extraReducers: (builder) => {\n builder.addCase(UsersFetchAction.pending, (state) => {\n state.loading = true;\n });\n //eslint-disable-next-line\n builder.addCase(UsersFetchAction.fulfilled, (state) => {\n state.loading = false;\n state.error = \"\";\n });\n builder.addCase(UsersFetchAction.rejected, (state) => {\n state.loading = false;\n state.users = [];\n });\n },\n});\n\nexport const {\n setUserName,\n changeCurrentPage,\n setPages,\n setSharedPage,\n setPaginationModel,\n setGrid,\n pinToDashboardList,\n dashBoardDrive , \n // setdashboardDriveData,\n} = dashboardSlice.actions;\n\n// Re-export async thunk\nexport { UsersFetchAction };\n\nexport default dashboardSlice.reducer;\n","import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n","export interface ApiFormFields {\n [module: string]: {\n field: string;\n type: string;\n }[];\n}\n\nexport interface Pagination {\n\tpageNo: number;\n\tlimit: number;\n\ttotalCount: number;\n}\n\ninterface IState {\n rows: any[];\n workflowTemplate: any[];\n workflow: any[];\n isLoading: boolean;\n isError: boolean;\n count: number;\n error: string;\n formData: any[];\n fields: ApiFormFields | null;\n isSuccess: boolean;\n workflowAutomationId: {};\n paginationModel: Pagination;\n}\n\nexport const state: IState = {\n rows: [],\n workflowTemplate: [],\n workflow: [],\n isLoading: false,\n isError: false,\n count: 0,\n error: \"\",\n formData: [],\n fields: null,\n isSuccess: false,\n workflowAutomationId: {},\n paginationModel:{\n pageNo:1,\n limit:10,\n totalCount: 0\n }\n};\nexport default state;\n","import { createSlice } from '@reduxjs/toolkit';\nimport {\n getFieldsByFormId,\n getFormDataById,\n patchFormDataById,\n\n} from \"./actionCreator\";\nimport initialState from \"./state\";\n\nconst isJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch (error) {\n return false;\n }\n};\n\nexport const formBuilderListSlice = createSlice({\n name: \"formBuilder/getAllFormData\",\n initialState,\n reducers: {\n setFormData: (state, action) => {\n state.formData = action.payload\n },\n setPaginationModel(state, action) {\n state.paginationModel = { ...state.paginationModel, ...action.payload };\n },\n },\n extraReducers: (builder) => {\n /*--------------------------------GET Handle Pending State ---------------------------------*/\n\n\n\n /*--------------------------------GET BY ID Handle Pending State ---------------------------------*/\n\n builder.addCase(getFormDataById.pending, (state) => {\n state.isLoading = true;\n state.isError = false;\n state.error = '';\n state.formData = [];\n });\n\n /*--------------------------------GET BY ID Handle fullfiled State ---------------------------------*/\n builder.addCase(getFormDataById.fulfilled, (state, action: any) => {\n state.isLoading = false;\n state.isError = false;\n state.formData = action?.payload?.data?.form?.fields;\n state.error = \"\";\n });\n\n /*--------------------------------GET BY ID Handle Rejected State ---------------------------------*/\n builder.addCase(getFormDataById.rejected, (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.error = action.error.message || \"\";\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n\n builder.addCase(patchFormDataById.pending, (state) => {\n // state.isLoading = true;\n // state.isError = false;\n // state.isSuccess = false;\n // state.error = \"\";\n });\n\n /*--------------------------------Patch Handle fullfiled State ---------------------------------*/\n builder.addCase(patchFormDataById.fulfilled, (state) => {\n state.isLoading = false;\n state.isError = false;\n // state.formData = [];\n state.error = \"\";\n state.isSuccess = true;\n });\n\n /*--------------------------------Patch Handle Rejected State ---------------------------------*/\n builder.addCase(patchFormDataById.rejected, (state, action) => {\n const error: string = isJsonParse(action.error?.message)?.message || action.error.message || \"Something went wrong\";\n state.isLoading = false;\n state.isError = true;\n state.error = error;\n state.isSuccess = false;\n });\n\n\n\n\n /*--------------------------------Get Fields By Form ID handle pending state ---------------------------------*/\n builder.addCase(getFieldsByFormId.pending, (state) => {\n state.isLoading = true;\n });\n /*--------------------------------Get Fields By Form ID handle fullfilled state ---------------------------------*/\n builder.addCase(getFieldsByFormId.fulfilled, (state, action) => {\n const incomingFields = action.payload;\n if (incomingFields.length) {\n let fields = {};\n incomingFields.forEach((field: any) => {\n for (const key in field) {\n fields = {\n ...fields,\n [key]: field[key],\n };\n }\n });\n state.fields = fields;\n state.isLoading = false;\n }\n });\n /*--------------------------------Get Fields By Form ID handle rejected state ---------------------------------*/\n builder.addCase(getFieldsByFormId.rejected, (state, action) => {\n const message = `Fields API: ${isJsonParse(action.error.message as string)?.message ||\n action.error.message\n }`;\n state.isLoading = false;\n state.isError = true;\n state.error = message;\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n },\n});\n\nexport const { setFormData, setPaginationModel } = formBuilderListSlice.actions;\n\nexport default formBuilderListSlice.reducer;\n"],"names":["data","state","initialState","setPaginationModel"],"mappings":"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"}