@asaleh37/ui-base 25.6.1 → 25.6.2-0.1

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 (160) hide show
  1. package/.github/workflows/publish-npm.yml +31 -0
  2. package/README.md +51 -51
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +1 -1
  6. package/dist/index.mjs.map +1 -1
  7. package/eslint.config.js +29 -29
  8. package/index.html +13 -13
  9. package/package.json +120 -120
  10. package/rollup.config-1748377725725.cjs +50 -50
  11. package/rollup.config.js +45 -45
  12. package/src/components/App.tsx +123 -123
  13. package/src/components/BaseApp.tsx +53 -53
  14. package/src/components/administration/admin/OrgMemberRoleForm.tsx +83 -83
  15. package/src/components/administration/admin/OrganizationApplicationModuleGrid.tsx +107 -107
  16. package/src/components/administration/admin/OrganizationGrid.tsx +82 -82
  17. package/src/components/administration/admin/OrganizationMemberGrid.tsx +176 -176
  18. package/src/components/administration/admin/OrganizationMemberRoleGrid.tsx +87 -87
  19. package/src/components/administration/admin/OrganizationRankGrid.tsx +133 -133
  20. package/src/components/administration/admin/OrganizationUnitGrid.tsx +143 -143
  21. package/src/components/administration/admin/OrganizationUnitTypeGrid.tsx +108 -108
  22. package/src/components/administration/admin/PersonGrid.tsx +231 -231
  23. package/src/components/administration/admin/RoleAuthoritiesForm.tsx +82 -82
  24. package/src/components/administration/admin/SystemApplicationAuthorityGrid.tsx +126 -126
  25. package/src/components/administration/admin/SystemApplicationGrid.tsx +83 -83
  26. package/src/components/administration/admin/SystemApplicationModuleGrid.tsx +96 -96
  27. package/src/components/administration/admin/SystemApplicationRoleAuthorityGrid.tsx +67 -67
  28. package/src/components/administration/admin/SystemApplicationRoleGrid.tsx +116 -116
  29. package/src/components/administration/dev/AttachmentConfigGrid.tsx +223 -223
  30. package/src/components/administration/dev/AttachmentGrid.tsx +172 -172
  31. package/src/components/administration/dev/BluePrintGrid.tsx +129 -129
  32. package/src/components/administration/dev/DashboardGrid.tsx +173 -173
  33. package/src/components/administration/dev/DashboardWidgetGrid.tsx +164 -164
  34. package/src/components/administration/dev/DataQueryGrid.tsx +206 -206
  35. package/src/components/administration/dev/DataQueryParameterGrid.tsx +191 -191
  36. package/src/components/administration/dev/DataQueryParametersForm.tsx +84 -84
  37. package/src/components/administration/dev/DatasourceConnectionGrid.tsx +150 -150
  38. package/src/components/administration/dev/EntityParameterGrid.tsx +279 -279
  39. package/src/components/administration/dev/LookupGrid.tsx +120 -120
  40. package/src/components/administration/dev/MailAttachmentGrid.tsx +155 -155
  41. package/src/components/administration/dev/MailBodyGrid.tsx +216 -216
  42. package/src/components/administration/dev/MailNotificationQueueGrid.tsx +245 -245
  43. package/src/components/administration/dev/MailRecipientGrid.tsx +169 -169
  44. package/src/components/administration/dev/MailSenderConfigGrid.tsx +478 -478
  45. package/src/components/administration/dev/MailTemplateGrid.tsx +384 -384
  46. package/src/components/administration/dev/NotificationGrid.tsx +432 -432
  47. package/src/components/administration/dev/NotificationQueueGrid.tsx +222 -222
  48. package/src/components/administration/dev/ReportGrid.tsx +506 -506
  49. package/src/components/administration/dev/ReportParameterGrid.tsx +186 -186
  50. package/src/components/administration/dev/ReportParametersForm.tsx +84 -84
  51. package/src/components/administration/dev/WidgetGrid.tsx +431 -431
  52. package/src/components/administration/dev/WorkflowDocumentActionGrid.tsx +264 -264
  53. package/src/components/administration/dev/WorkflowDocumentActionHistoryGrid.tsx +172 -172
  54. package/src/components/administration/dev/WorkflowDocumentActionMailGrid.tsx +161 -161
  55. package/src/components/administration/dev/WorkflowDocumentGrid.tsx +377 -377
  56. package/src/components/administration/dev/WorkflowDocumentMailLogGrid.tsx +218 -218
  57. package/src/components/administration/dev/WorkflowDocumentStatusGrid.tsx +243 -243
  58. package/src/components/common/ChangeOrgForm.tsx +81 -81
  59. package/src/components/common/Home.tsx +43 -43
  60. package/src/components/common/LanguageSwitcher.tsx +25 -25
  61. package/src/components/common/LayoutHandlers.tsx +11 -11
  62. package/src/components/common/LoadingMask.tsx +24 -24
  63. package/src/components/common/Login.tsx +214 -214
  64. package/src/components/common/MyNotificationsPanel.tsx +103 -103
  65. package/src/components/common/NotificationItem.tsx +138 -138
  66. package/src/components/index.ts +9 -9
  67. package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +324 -324
  68. package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +248 -248
  69. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormAction.tsx +60 -60
  70. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +231 -231
  71. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementGroup.tsx +106 -106
  72. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/CheckBox.tsx +64 -64
  73. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/ComboBox.tsx +93 -93
  74. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/Datefield.tsx +65 -65
  75. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/DatetimeField.tsx +64 -64
  76. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/FiltersPanel.tsx +237 -237
  77. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/SystemLookupCombobox.tsx +55 -55
  78. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/TemplateTextField.tsx +17 -17
  79. package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +387 -387
  80. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +189 -189
  81. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +998 -998
  82. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridMultiRecordAction.tsx +89 -89
  83. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridRecordAction.tsx +95 -95
  84. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridTopBar.tsx +227 -227
  85. package/src/components/templates/TransferList.tsx +257 -257
  86. package/src/components/templates/Window/ConfirmationWindow.tsx +55 -55
  87. package/src/components/templates/attachment/AttachmentCard.tsx +141 -141
  88. package/src/components/templates/attachment/AttachmentImageViewer.tsx +45 -45
  89. package/src/components/templates/attachment/AttachmentPanel.tsx +271 -271
  90. package/src/components/templates/index.ts +33 -33
  91. package/src/components/templates/report/ExcelReportViewer.tsx +71 -71
  92. package/src/components/templates/report/ReportViewer.tsx +382 -382
  93. package/src/components/templates/visuals/DashboardRouteView.tsx +9 -9
  94. package/src/components/templates/visuals/DashboardViewer.tsx +148 -148
  95. package/src/components/templates/visuals/WidgetViewer.tsx +198 -198
  96. package/src/components/templates/visuals/charts/TemplateBarChart.tsx +23 -23
  97. package/src/components/templates/visuals/charts/TemplateDataCard.tsx +35 -35
  98. package/src/components/templates/visuals/charts/TemplateGauge.tsx +21 -21
  99. package/src/components/templates/visuals/charts/TemplateLineChart.tsx +22 -22
  100. package/src/components/templates/visuals/charts/TemplateLineProgress.tsx +42 -42
  101. package/src/components/templates/visuals/charts/TemplatePieChart.tsx +24 -24
  102. package/src/components/templates/workflow/WorkflowDocumentPanel.tsx +606 -606
  103. package/src/components/templates/workflow/WorkflowDocumentTimeLine.tsx +140 -140
  104. package/src/components/templates/workflow/WorkflowRouteComponent.tsx +14 -14
  105. package/src/hooks/UseConfirmationWindow.tsx +54 -54
  106. package/src/hooks/UseMobile.tsx +13 -13
  107. package/src/hooks/UseSession.tsx +40 -40
  108. package/src/hooks/UseWindow.tsx +107 -107
  109. package/src/hooks/index.ts +7 -7
  110. package/src/hooks/useApiActions.ts +124 -124
  111. package/src/hooks/useAxios.tsx +316 -316
  112. package/src/hooks/useInterval.tsx +23 -23
  113. package/src/hooks/useLoadingMask.tsx +16 -16
  114. package/src/hooks/useLookupGridColumn.tsx +35 -35
  115. package/src/index.ts +4 -4
  116. package/src/layout/DrawerHeader.tsx +10 -10
  117. package/src/layout/Layout.tsx +90 -90
  118. package/src/layout/MainContent.tsx +114 -114
  119. package/src/layout/MobileDrawer.tsx +103 -103
  120. package/src/layout/NavigationTree.tsx +295 -295
  121. package/src/layout/NotificationButton.tsx +207 -207
  122. package/src/layout/RouteWrapper.tsx +36 -36
  123. package/src/layout/SideBar.tsx +85 -85
  124. package/src/layout/TopBar.tsx +215 -215
  125. package/src/locales/arabic/adminLocalsAr.json +93 -93
  126. package/src/locales/arabic/common.json +44 -44
  127. package/src/locales/arabic/devLocalsAr.json +317 -317
  128. package/src/locales/arabic/index.ts +9 -9
  129. package/src/locales/english/adminLocalsEn.json +96 -96
  130. package/src/locales/english/common.json +43 -43
  131. package/src/locales/english/devLocalsEn.json +318 -318
  132. package/src/locales/english/index.ts +9 -9
  133. package/src/locales/i18n.ts +8 -8
  134. package/src/locales/index.ts +9 -9
  135. package/src/main.tsx +23 -23
  136. package/src/navigationItems/Administration/adminNavigationItems.tsx +222 -222
  137. package/src/navigationItems/Administration/index.tsx +16 -16
  138. package/src/navigationItems/common/CommonNavigationItems.tsx +12 -12
  139. package/src/navigationItems/common/index.tsx +7 -7
  140. package/src/navigationItems/index.tsx +34 -34
  141. package/src/redux/features/administration/AdministrationStoresMetaData.ts +126 -126
  142. package/src/redux/features/common/AppInfoSlice.ts +63 -63
  143. package/src/redux/features/common/AppLayoutSlice.ts +29 -29
  144. package/src/redux/features/common/CommonStoreSlice.ts +44 -44
  145. package/src/redux/features/common/LoadingMaskSlice.ts +30 -30
  146. package/src/redux/features/common/SideBarSlice.ts +27 -27
  147. package/src/redux/features/common/UserSessionSlice.ts +54 -54
  148. package/src/redux/store.ts +29 -29
  149. package/src/routes/administration/adminRoutes.tsx +99 -99
  150. package/src/routes/administration/devRoutes.tsx +129 -129
  151. package/src/routes/administration/index.ts +8 -8
  152. package/src/routes/index.ts +11 -11
  153. package/src/routes/types/index.ts +5 -5
  154. package/src/styles/index.css +19 -19
  155. package/src/types/index.ts +8 -8
  156. package/src/util/AppUtils.ts +53 -53
  157. package/src/util/constants.ts +6 -6
  158. package/src/util/index.ts +2 -2
  159. package/tsconfig.json +135 -135
  160. package/vite.config.ts +36 -36
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as i,Fragment as t}from"react/jsx-runtime";import{useDispatch as o,useSelector as a,Provider as r}from"react-redux";import{library as d}from"@fortawesome/fontawesome-svg-core";import{fab as n}from"@fortawesome/free-brands-svg-icons";import{far as l}from"@fortawesome/free-regular-svg-icons";import{fas as s}from"@fortawesome/free-solid-svg-icons";import"react-toastify/dist/ReactToastify.css";import{Dialog as p,DialogTitle as c,DialogContent as m,DialogContentText as T,DialogActions as u,Button as A,Modal as _,Box as f,AppBar as E,Toolbar as I,Typography as O,IconButton as N,Paper as y,TextField as h,Grid2 as R,ListItemButton as L,FormControlLabel as C,Checkbox as D,Autocomplete as M,Popper as P,Avatar as b,Tooltip as g,styled as S,Badge as U,Divider as v,MenuItem as w,InputAdornment as x,Accordion as F,AccordionSummary as B,AccordionDetails as k,keyframes as W,ClickAwayListener as G,Fade as Y,useTheme as V,Backdrop as q,CircularProgress as K,createTheme as H}from"@mui/material";export*from"@mui/material";import{ThemeContext as z,CacheProvider as Q,ThemeProvider as Z}from"@emotion/react";import*as j from"react";import $,{useState as X,useEffect as J,createElement as ee,useRef as ie}from"react";import{styled as te,alpha as oe,useTheme as ae}from"@mui/material/styles";import re from"@mui/material/CssBaseline";import de from"@mui/material/AppBar";import ne from"@mui/material/Toolbar";import{FontAwesomeIcon as le}from"@fortawesome/react-fontawesome";export{FontAwesomeIcon}from"@fortawesome/react-fontawesome";import{createSlice as se,configureStore as pe}from"@reduxjs/toolkit";import{toast as ce,ToastContainer as me}from"react-toastify";export{toast}from"react-toastify";import Te from"axios";import ue from"i18next";import{useTranslation as Ae,initReactI18next as _e}from"react-i18next";import fe from"@mui/material/List";import Ee from"@mui/material/Card";import Ie from"@mui/material/CardHeader";import Oe from"@mui/material/ListItemText";import Ne from"@mui/material/ListItemIcon";import ye from"@mui/material/Checkbox";import he from"@mui/material/Button";import Re from"@mui/material/Divider";import{LocalizationProvider as Le,DatePicker as Ce,DateTimePicker as De}from"@mui/x-date-pickers";import{AdapterMoment as Me}from"@mui/x-date-pickers/AdapterMoment";import Pe from"moment";import*as be from"zod";import{z as ge}from"zod";export*from"zod";import{useForm as Se}from"react-hook-form";import{zodResolver as Ue}from"@hookform/resolvers/zod";import{useNavigate as ve,useParams as we,Routes as xe,Route as Fe,BrowserRouter as Be}from"react-router-dom";import ke from"@mui/material/CardActions";import We from"@mui/material/CardContent";import Ge from"@mui/material/CardMedia";import Ye from"@mui/material/Typography";import{QuickFilter as Ve,ToolbarButton as qe,Toolbar as Ke,ColumnsPanelTrigger as He,GridViewColumnIcon as ze,FilterPanelTrigger as Qe,GridFilterListIcon as Ze,ExportExcel as je,QuickFilterTrigger as $e,QuickFilterControl as Xe,QuickFilterClear as Je,GridActionsCellItem as ei,GridExpandMoreIcon as ii,DataGridPremium as ti,GridRowModes as oi}from"@mui/x-data-grid-premium";import{BarChart as ai,Gauge as ri,LineChart as di}from"@mui/x-charts";import ni from"@mui/material/LinearProgress";import li from"@mui/material/Box";import{PieChart as si}from"@mui/x-charts/PieChart";import pi from"@mui/material/IconButton";import ci from"@mui/material/Drawer";import{animated as mi,useSpring as Ti}from"@react-spring/web";import ui from"@mui/material/Collapse";import{RichTreeView as Ai}from"@mui/x-tree-view/RichTreeView";import{treeItemClasses as _i}from"@mui/x-tree-view/TreeItem";import{useTreeItem2 as fi}from"@mui/x-tree-view/useTreeItem2";import{TreeItem2Root as Ei,TreeItem2Content as Ii,TreeItem2IconContainer as Oi,TreeItem2Checkbox as Ni,TreeItem2Label as yi}from"@mui/x-tree-view/TreeItem2";import{TreeItem2Icon as hi}from"@mui/x-tree-view/TreeItem2Icon";import{TreeItem2Provider as Ri}from"@mui/x-tree-view/TreeItem2Provider";import{TreeItem2DragAndDropOverlay as Li}from"@mui/x-tree-view/TreeItem2DragAndDropOverlay";import Ci from"stylis-plugin-rtl";import{prefixer as Di}from"stylis";import Mi from"@emotion/cache";import Pi from"@emotion/styled";import{grey as bi}from"@mui/material/colors";import gi from"@mui/material/SwipeableDrawer";import{LicenseInfo as Si}from"@mui/x-license";export*from"@mui/lab";export*from"@mui/x-tree-view/models";!function(e,i){void 0===i&&(i={});var t=i.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("html,\r\nbody {\r\n height: 100vh;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n#root {\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n}\r\n\r\n.red-row {\r\n background-color: #f0d8d8;\r\n}\r\n");const Ui=(e=768)=>{const[i,t]=X(window.innerWidth<e);return J((()=>{const i=()=>t(window.innerWidth<e);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)}),[e]),i},vi=350,wi=se({name:"AppLayout",initialState:{themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},reducers:{setThemeMode:(e,i)=>{e.themeMode=i.payload},setAppDirection:(e,i)=>{e.appDirection=i.payload}}}),xi=wi.actions;var Fi=wi.reducer;const Bi=se({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,i)=>{e.value.isOpened=!0,e.value.message=i.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:ki,hideLoadingMask:Wi}=Bi.actions;var Gi=Bi.reducer;const Yi=()=>{const e=o();return{show:i=>{e(ki(i))},hide:()=>{e(Wi())}}},Vi=se({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,i)=>{e.value=i.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),qi=Vi.actions;var Ki=Vi.reducer;const Hi=()=>{const e=Yi(),i=o(),t=a((e=>e.AppInfo.value.apiBaseUrl)),r=Te.create({baseURL:t,timeout:6e5,withCredentials:!0});r.defaults.withCredentials=!0,r.interceptors.response.use((e=>e),(e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))i(qi.setUnAuthenticated()),ce.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&403===e.response.status)))ce.error("you aren't authorized to process this request");else if(e&&(e.response&&(e.response.status&&500===e.response.status)))if(e.response.data instanceof Blob){e.response.data.text().then((e=>{ce.error(e)}))}else ce.error(e.response.data);else ce.error("failed to communicate with the server ... try again later");return"ERROR"}));return{handleGetRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.get(i.endPointURI,{params:{...i.parameters},withCredentials:!0,headers:i.headers,responseType:i?.responseType});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handlePostRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.post(i.endPointURI,i.data,{params:i.parameters,responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleDeleteRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.delete(i.endPointURI,{params:{...i.parameters},responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},HandleDownloadHTTPPostPDF:async(i={endPointURI:"",parameters:{},data:{}})=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.post(i.endPointURI,i.data,{responseType:"blob"});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleUploadRequest:async i=>{if(null===i.files||0===i.files.length)return ce.error("You must add files to upload"),"ERROR";const t=new FormData;for(const e of i.files)t.append("files",e);void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let o=await r.post(i.endPointURI,t,{params:i?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==o?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(o),o):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(o),"ERROR")}}},zi=t=>{const[o,a]=X(!1),{t:r}=Ae();return{ConfirmationWindow:()=>e(p,{open:o,children:[i(c,{children:t.title}),i(m,{children:i(T,{children:t.body})}),e(u,{children:[i(A,{variant:"contained",color:"primary",onClick:()=>{a(!1)},children:r("NO_LABEL")}),i(A,{variant:"contained",color:"error",onClick:()=>{t.onConfirmationCallBk(),a(!1)},autoFocus:!0,children:r("YES_LABEL")})]})]}),open:o,setOpen:a}},Qi=()=>{const e=a((e=>e.UserSession)),i=e.value;return{UserSession:e,isUserAuthorized:i=>{if(e?.value?.authorities)for(let t of e.value.authorities){if("DEVELOPMENT_ADMIN"===i&&("DEVELOPMENT_ADMIN"===t?.authority||"ORGANIZATION_ADMIN"===t?.authority))return!0;if("ORGANIZATION_ADMIN"===i&&"ORGANIZATION_ADMIN"===t?.authority)return!0;if("DEVELOPMENT_ADMIN"!==i&&"ORGANIZATION_ADMIN"!==i&&("ORGANIZATION_ADMIN"===t?.authority||"DEVELOPMENT_ADMIN"===t?.authority||"SYSTEM_ADMIN"===t?.authority||t?.authority===i))return!0}return!1},UserInfo:i}},Zi=t=>{const[o,a]=X(!1);return{windowState:o,setWindowState:a,Window:r=>i(_,{open:o,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!o&&t?.onCloseCallBack&&t.onCloseCallBack()},children:e(f,{sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:t?.height||"80%",width:t?.width||"90%",minWidth:t.minWidth||400,minHeight:t.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[i(E,{position:"static",children:e(I,{variant:"dense",children:[i(le,{icon:t?.windowIcon||"window-maximize",style:{marginRight:5}}),i(O,{variant:"h6",color:"inherit",component:"div",children:t?.windowTitle||"window"}),i("div",{style:{flexGrow:1}}),i(N,{onClick:()=>{a(!1),null!=t.onCloseCallBack&&null!=t.onCloseCallBack&&t.onCloseCallBack()},color:"secondary",children:i(le,{icon:"xmark-square"})})]})}),i(y,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:r?.children})]})})}},ji=se({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,i)=>{e.stores=i.payload,e.storeKeys=Object.keys(i.payload)},setStoreData:(e,i)=>{e.stores[i.payload.storeKey].data=i.payload.data}}}),{setStoreData:$i,setStoresMetaData:Xi}=ji.actions;var Ji=ji.reducer;const et=e=>{const i=a((e=>e.commonStores.stores)),t=o(),r=Qi(),{handleGetRequest:d,handlePostRequest:n,handleDeleteRequest:l}=Hi();return{reloadData:async o=>{if(e?.commonStoreKey){const o=Object.keys(i);for(const a of o)if(a===e.commonStoreKey&&(void 0===i[a]?.authority||null===i[a]?.authority||r.isUserAuthorized(i[a]?.authority))&&""!=i[a]?.url){await d({endPointURI:i[a].url,showMask:!1,successCallBkFn:i=>{t($i({storeKey:a,data:i.data})),e.setData(i.data)},failureCallBkFn:()=>{t($i({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await d({endPointURI:e.findAll,showMask:!0,parameters:o||{},successCallBkFn:i=>{e.setData(i.data)}})},loadRecordById:async i=>{let t=null;if(e?.findById){const o={};o[e?.findByIdParamName||"id"]=i,await d({endPointURI:e.findById,showMask:!0,parameters:o,successCallBkFn:e=>{t=e.data}})}return t},saveRecord:async i=>{let t=null;return e?.save&&await n({endPointURI:e.save,data:i,showMask:!0,successCallBkFn:e=>{t=e.data}}),t},deleteRecordById:async i=>{let t=!0;if(e?.deleteById){const o={};o[e?.deleteByIdParamName||"id"]=i,await l({endPointURI:e.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{t=!0},failureCallBkFn:()=>{t=!1}})}return t}}},it=e=>{const{t:o}=Ae();return i(h,{...e,slotProps:{inputLabel:{shrink:!0}},label:i(t,{children:e?.label?o(e.label):""})})};function tt(e,i){return e.filter((e=>-1===i.indexOf(e)))}function ot(e,i){return e.filter((e=>-1!==i.indexOf(e)))}const at=({valueField:t="id",displayField:o="name",options:a=[],selectedOptions:r=[],setSelection:d})=>{const[n,l]=j.useState([]),[s,p]=j.useState([]),[c,m]=j.useState([]),[T,u]=j.useState(""),[A,_]=j.useState(""),E=ot(n,s),I=ot(n,c);j.useEffect((()=>{a&&p([...a])}),[a]),j.useEffect((()=>{r&&m([...r])}),[r]);const O=e=>()=>{const i=n.indexOf(e),t=[...n];-1===i?t.push(e):t.splice(i,1),l(t)},N=e=>ot(n,e).length,y=e=>()=>{var i,t;N(e)===e.length?l(tt(n,e)):l((i=n,t=e,[...i,...tt(t,i)]))},h=(a,r,d)=>{const l=r.filter((e=>{if(e[o]){const i=e[o];if("left"===d&&i.toLocaleLowerCase().includes(T.toLocaleLowerCase()))return!0;if("right"===d&&i.toLocaleLowerCase().includes(A.toLocaleLowerCase()))return!0}return!1}));return e(Ee,{sx:{height:"100%"},children:[i(Ie,{sx:{px:2,py:1},avatar:i(ye,{onClick:y(l),checked:N(l)===l.length&&0!==l.length,indeterminate:N(l)!==l.length&&0!==N(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:a,subheader:`${N(r)} / ${r.length} Selected`}),i(f,{sx:{width:"100%",padding:1},children:i(it,{fullWidth:!0,label:"search",value:"left"===d?T:A,onChange:e=>{"left"===d?u(e.target.value):_(e.target.value)}})}),i(Re,{}),i(fe,{sx:{width:"100%",height:"100%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map((a=>(a[t],e(L,{role:"listitem",onClick:O(a),sx:{cursor:"pointer"},children:[i(Ne,{children:i(ye,{checked:-1!==n.indexOf(a),tabIndex:-1,disableRipple:!0})}),i(Oe,{id:a[t],primary:a[o]})]},a[t]))))})]})};return e(R,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[i(R,{sx:{height:"100%",flex:1},children:h("Available Items",s,"left")}),i(R,{children:e(R,{container:!0,direction:"column",alignItems:"center",children:[i(he,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{m((e=>{let i=c.concat(E);return d(i),i})),p(tt(s,E)),l(tt(n,E))},disabled:0===E.length,"aria-label":"move selected right",children:">"}),i(he,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(s.concat(I)),m((e=>{let i=tt(c,I);return d(i),i})),l(tt(n,I))},disabled:0===I.length,"aria-label":"move selected left",children:"<"})]})}),i(R,{sx:{height:"100%",flex:1},children:h("Currently Selected",c,"right")})]})},rt=e=>{const{t:t}=Ae();return i(C,{sx:e.sx,disabled:e.disabled||!1,required:e.required||!1,control:i(D,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:i=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(i.target.checked?void 0!==e.checkedValue&&null!=e.checkedValue?e.onChangeCallBack(e.checkedValue):e.onChangeCallBack(!0):void 0!==e.unCheckedValue&&null!=e.unCheckedValue?e.onChangeCallBack(e.unCheckedValue):e.onChangeCallBack(!1))}}),label:t(e.label)})},dt=e=>{const t=a((e=>e.AppLayout)),{t:o}=Ae();return i(M,{sx:e.sx,value:(i=>{for(let t of e.options)if(t[e.valueField]==i)return t;return null})(e.value),options:e.options,disabled:e.disabled,onChange:(i,t)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=t){let i=t[e.valueField];e.onChangeCallBack(i,t)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:i=>null!=i?o(i[e.displayField]):"",renderOption:(t,a)=>i("li",{...t,children:null!=a?o(a[e.displayField]):""}),slots:{popper:e=>i(P,{...e,style:{...e.style,direction:t.appDirection}})},renderInput:t=>i(h,{...t,required:e.required||!1,variant:"outlined",InputLabelProps:{shrink:!0},label:o(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?o(e.errorMessage):""})})},nt="YYYY-MM-DD",lt="YYYY-MM-DD HH:mm:ss",st="#37505C",pt="#ff6d00",ct="#ea690e",mt="#74776B",Tt=e=>{const{t:o}=Ae();return i(Le,{dateAdapter:Me,children:i(Ce,{value:null!=e.value&&void 0!==e.value&&""!==e.value?Pe(e.value,e?.format||nt):null,sx:e.sx,label:o(e.label),format:e?.format||nt,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||nt)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{InputLabelProps:{shrink:!0},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},ut=e=>{const{t:o}=Ae();return i(Le,{dateAdapter:Me,children:i(De,{value:null!=e.value&&void 0!==e.value&&""!==e.value?Pe(e.value,e?.format||lt):null,label:o(e.label),sx:e.sx,format:e?.format||lt,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||lt)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},At=e=>{const t=a((e=>e.AppLayout)),o=Qi(),[r,d]=X([]),{handleGetRequest:n}=Hi();return J((()=>{e.lookupType&&(async()=>{await n({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{d(e.data)},failureCallBkFn:()=>{d([])}})})()}),[e.lookupType,o.UserSession]),i(dt,{...e,options:r,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},_t=e=>({...e,type:"string",renderEditCell:e=>i(ut,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=Pe(e).format(lt)),o},valueFormatter:(e,i,t)=>i[t.field]}),ft=e=>({...e,type:"custom",valueGetter:e=>e?e+"":e,renderCell:e=>{let t=null;try{t=e.colDef.options.find((i=>i[e.colDef.valueField]==e.value))}catch(e){}return i("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>i(dt,{...e,sx:{width:"100%"},options:e.colDef.options,valueField:e.colDef.valueField,displayField:e.colDef.displayField,onChangeCallBack:(i,t)=>{null===i&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:i+""})}})}),Et=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const o=t?.value;return o===e.checkedValue||"true"===o||1===o||!0===o?i(le,{icon:"check",color:"green"}):i(le,{icon:"xmark",color:"red"})},renderEditCell:t=>i(rt,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),It=e=>{const i=[];if("field"===e.type&&"props"===e.mode&&e?.props)i.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const t of e.props.elements)i.push(...It(t));return i},Ot=e=>{const i=[];for(const t of e)i.push(...It(t));return i},Nt=(e,t,o)=>{const a=[];for(const d of e)if("text"===d?.fieldType||"number"===d?.fieldType){const e={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,type:"number"==d?.fieldType?"number":"string",field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:1,minWidth:200};a.push(e)}else if("date"===d?.fieldType){const e=(r={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:1,minWidth:200},{...r,type:"string",renderEditCell:e=>i(Tt,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=Pe(e).format(nt)),o},valueFormatter:(e,i,t)=>i[t.field]});a.push(e)}else if("datetime"===d?.fieldType){const e=_t({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:1,minWidth:200});a.push(e)}else if("checkbox"===d?.fieldType){const e=Et({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,checkedValue:d?.checkedValue,unCheckedValue:d?.unCheckedValue,width:150});a.push(e)}else if("combobox"===d?.fieldType){const e=ft({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:1,minWidth:200});a.push(e)}else if("lookup"===d?.fieldType){const e=ft({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,lookupType:d?.lookupType,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:1,minWidth:200});a.push(e)}else{const e={field:d.fieldName,...d?.gridProps?.muiProps};a.push(e)}var r;return a},yt=e=>{const i={};for(const t of e)if(t?.fieldName){const e=t.fieldName;"number"===t.fieldType?i[e]=!0===t?.required?be.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):be.number().optional().nullable():"checkbox"===t.fieldType?i[e]=!0===t?.required?be.boolean({required_error:"This field is required"}):be.boolean().optional().nullable():i[e]=!0===t?.required?be.string({message:"This field is required"}).min(1,"This field is required"):be.string().optional().nullable()}return i},ht=(e,i,t)=>{const o=[],a=[];if("exclude"===e.type&&0===e.ids.size)for(const e of i)o.push(e),a.push(e[t]);else if(e?.ids)for(const r of e.ids){const e=i.find((e=>e[t]===r));o.push(e),a.push(r)}return{selectedRecords:o,selectedRecordIds:a}};function Rt(e,...i){const t=new URL(`https://mui.com/production-error/?code=${e}`);return i.forEach((e=>t.searchParams.append("args[]",e))),`Minified MUI error #${e}; visit ${t} for the full message.`}function Lt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ct,Dt={exports:{}},Mt={exports:{}},Pt={};var bt,gt,St,Ut,vt,wt,xt,Ft,Bt,kt,Wt,Gt,Yt,Vt,qt,Kt={};
1
+ import{jsxs as e,jsx as i,Fragment as t}from"react/jsx-runtime";import{useDispatch as o,useSelector as a,Provider as r}from"react-redux";import{library as d}from"@fortawesome/fontawesome-svg-core";import{fab as n}from"@fortawesome/free-brands-svg-icons";import{far as l}from"@fortawesome/free-regular-svg-icons";import{fas as s}from"@fortawesome/free-solid-svg-icons";import"react-toastify/dist/ReactToastify.css";import{Dialog as p,DialogTitle as c,DialogContent as m,DialogContentText as T,DialogActions as u,Button as A,Modal as _,Box as f,AppBar as E,Toolbar as I,Typography as O,IconButton as N,Paper as y,TextField as h,Grid2 as R,ListItemButton as L,FormControlLabel as C,Checkbox as D,Autocomplete as M,Popper as P,Avatar as b,Tooltip as g,styled as S,Badge as U,Divider as v,MenuItem as w,InputAdornment as x,Accordion as F,AccordionSummary as B,AccordionDetails as k,keyframes as W,ClickAwayListener as G,Fade as Y,useTheme as V,Backdrop as q,CircularProgress as K,createTheme as H}from"@mui/material";export*from"@mui/material";import{ThemeContext as z,CacheProvider as Q,ThemeProvider as Z}from"@emotion/react";import*as j from"react";import $,{useState as X,useEffect as J,createElement as ee,useRef as ie}from"react";import{styled as te,alpha as oe,useTheme as ae}from"@mui/material/styles";import re from"@mui/material/CssBaseline";import de from"@mui/material/AppBar";import ne from"@mui/material/Toolbar";import{FontAwesomeIcon as le}from"@fortawesome/react-fontawesome";export{FontAwesomeIcon}from"@fortawesome/react-fontawesome";import{createSlice as se,configureStore as pe}from"@reduxjs/toolkit";import{toast as ce,ToastContainer as me}from"react-toastify";export{toast}from"react-toastify";import Te from"axios";import ue from"i18next";import{useTranslation as Ae,initReactI18next as _e}from"react-i18next";import fe from"@mui/material/List";import Ee from"@mui/material/Card";import Ie from"@mui/material/CardHeader";import Oe from"@mui/material/ListItemText";import Ne from"@mui/material/ListItemIcon";import ye from"@mui/material/Checkbox";import he from"@mui/material/Button";import Re from"@mui/material/Divider";import{LocalizationProvider as Le,DatePicker as Ce,DateTimePicker as De}from"@mui/x-date-pickers";import{AdapterMoment as Me}from"@mui/x-date-pickers/AdapterMoment";import Pe from"moment";import*as be from"zod";import{z as ge}from"zod";export*from"zod";import{useForm as Se}from"react-hook-form";import{zodResolver as Ue}from"@hookform/resolvers/zod";import{useNavigate as ve,useParams as we,Routes as xe,Route as Fe,BrowserRouter as Be}from"react-router-dom";import ke from"@mui/material/CardActions";import We from"@mui/material/CardContent";import Ge from"@mui/material/CardMedia";import Ye from"@mui/material/Typography";import{QuickFilter as Ve,ToolbarButton as qe,Toolbar as Ke,ColumnsPanelTrigger as He,GridViewColumnIcon as ze,FilterPanelTrigger as Qe,GridFilterListIcon as Ze,ExportExcel as je,QuickFilterTrigger as $e,QuickFilterControl as Xe,QuickFilterClear as Je,GridActionsCellItem as ei,GridExpandMoreIcon as ii,DataGridPremium as ti,GridRowModes as oi}from"@mui/x-data-grid-premium";import{BarChart as ai,Gauge as ri,LineChart as di}from"@mui/x-charts";import ni from"@mui/material/LinearProgress";import li from"@mui/material/Box";import{PieChart as si}from"@mui/x-charts/PieChart";import pi from"@mui/material/IconButton";import ci from"@mui/material/Drawer";import{animated as mi,useSpring as Ti}from"@react-spring/web";import ui from"@mui/material/Collapse";import{RichTreeView as Ai}from"@mui/x-tree-view/RichTreeView";import{treeItemClasses as _i}from"@mui/x-tree-view/TreeItem";import{useTreeItem2 as fi}from"@mui/x-tree-view/useTreeItem2";import{TreeItem2Root as Ei,TreeItem2Content as Ii,TreeItem2IconContainer as Oi,TreeItem2Checkbox as Ni,TreeItem2Label as yi}from"@mui/x-tree-view/TreeItem2";import{TreeItem2Icon as hi}from"@mui/x-tree-view/TreeItem2Icon";import{TreeItem2Provider as Ri}from"@mui/x-tree-view/TreeItem2Provider";import{TreeItem2DragAndDropOverlay as Li}from"@mui/x-tree-view/TreeItem2DragAndDropOverlay";import Ci from"stylis-plugin-rtl";import{prefixer as Di}from"stylis";import Mi from"@emotion/cache";import Pi from"@emotion/styled";import{grey as bi}from"@mui/material/colors";import gi from"@mui/material/SwipeableDrawer";import{LicenseInfo as Si}from"@mui/x-license";export*from"@mui/lab";export*from"@mui/x-tree-view/models";!function(e,i){void 0===i&&(i={});var t=i.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("html,\nbody {\n height: 100vh;\n margin: 0;\n padding: 0;\n}\n\n#root {\n height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.red-row {\n background-color: #f0d8d8;\n}\n");const Ui=(e=768)=>{const[i,t]=X(window.innerWidth<e);return J((()=>{const i=()=>t(window.innerWidth<e);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)}),[e]),i},vi=350,wi=se({name:"AppLayout",initialState:{themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},reducers:{setThemeMode:(e,i)=>{e.themeMode=i.payload},setAppDirection:(e,i)=>{e.appDirection=i.payload}}}),xi=wi.actions;var Fi=wi.reducer;const Bi=se({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,i)=>{e.value.isOpened=!0,e.value.message=i.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:ki,hideLoadingMask:Wi}=Bi.actions;var Gi=Bi.reducer;const Yi=()=>{const e=o();return{show:i=>{e(ki(i))},hide:()=>{e(Wi())}}},Vi=se({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,i)=>{e.value=i.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),qi=Vi.actions;var Ki=Vi.reducer;const Hi=()=>{const e=Yi(),i=o(),t=a((e=>e.AppInfo.value.apiBaseUrl)),r=Te.create({baseURL:t,timeout:6e5,withCredentials:!0});r.defaults.withCredentials=!0,r.interceptors.response.use((e=>e),(e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))i(qi.setUnAuthenticated()),ce.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&403===e.response.status)))ce.error("you aren't authorized to process this request");else if(e&&(e.response&&(e.response.status&&500===e.response.status)))if(e.response.data instanceof Blob){e.response.data.text().then((e=>{ce.error(e)}))}else ce.error(e.response.data);else ce.error("failed to communicate with the server ... try again later");return"ERROR"}));return{handleGetRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.get(i.endPointURI,{params:{...i.parameters},withCredentials:!0,headers:i.headers,responseType:i?.responseType});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handlePostRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.post(i.endPointURI,i.data,{params:i.parameters,responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleDeleteRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.delete(i.endPointURI,{params:{...i.parameters},responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},HandleDownloadHTTPPostPDF:async(i={endPointURI:"",parameters:{},data:{}})=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.post(i.endPointURI,i.data,{responseType:"blob"});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleUploadRequest:async i=>{if(null===i.files||0===i.files.length)return ce.error("You must add files to upload"),"ERROR";const t=new FormData;for(const e of i.files)t.append("files",e);void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let o=await r.post(i.endPointURI,t,{params:i?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==o?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(o),o):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(o),"ERROR")}}},zi=t=>{const[o,a]=X(!1),{t:r}=Ae();return{ConfirmationWindow:()=>e(p,{open:o,children:[i(c,{children:t.title}),i(m,{children:i(T,{children:t.body})}),e(u,{children:[i(A,{variant:"contained",color:"primary",onClick:()=>{a(!1)},children:r("NO_LABEL")}),i(A,{variant:"contained",color:"error",onClick:()=>{t.onConfirmationCallBk(),a(!1)},autoFocus:!0,children:r("YES_LABEL")})]})]}),open:o,setOpen:a}},Qi=()=>{const e=a((e=>e.UserSession)),i=e.value;return{UserSession:e,isUserAuthorized:i=>{if(e?.value?.authorities)for(let t of e.value.authorities){if("DEVELOPMENT_ADMIN"===i&&("DEVELOPMENT_ADMIN"===t?.authority||"ORGANIZATION_ADMIN"===t?.authority))return!0;if("ORGANIZATION_ADMIN"===i&&"ORGANIZATION_ADMIN"===t?.authority)return!0;if("DEVELOPMENT_ADMIN"!==i&&"ORGANIZATION_ADMIN"!==i&&("ORGANIZATION_ADMIN"===t?.authority||"DEVELOPMENT_ADMIN"===t?.authority||"SYSTEM_ADMIN"===t?.authority||t?.authority===i))return!0}return!1},UserInfo:i}},Zi=t=>{const[o,a]=X(!1);return{windowState:o,setWindowState:a,Window:r=>i(_,{open:o,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!o&&t?.onCloseCallBack&&t.onCloseCallBack()},children:e(f,{sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:t?.height||"80%",width:t?.width||"90%",minWidth:t.minWidth||400,minHeight:t.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[i(E,{position:"static",children:e(I,{variant:"dense",children:[i(le,{icon:t?.windowIcon||"window-maximize",style:{marginRight:5}}),i(O,{variant:"h6",color:"inherit",component:"div",children:t?.windowTitle||"window"}),i("div",{style:{flexGrow:1}}),i(N,{onClick:()=>{a(!1),null!=t.onCloseCallBack&&null!=t.onCloseCallBack&&t.onCloseCallBack()},color:"secondary",children:i(le,{icon:"xmark-square"})})]})}),i(y,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:r?.children})]})})}},ji=se({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,i)=>{e.stores=i.payload,e.storeKeys=Object.keys(i.payload)},setStoreData:(e,i)=>{e.stores[i.payload.storeKey].data=i.payload.data}}}),{setStoreData:$i,setStoresMetaData:Xi}=ji.actions;var Ji=ji.reducer;const et=e=>{const i=a((e=>e.commonStores.stores)),t=o(),r=Qi(),{handleGetRequest:d,handlePostRequest:n,handleDeleteRequest:l}=Hi();return{reloadData:async o=>{if(e?.commonStoreKey){const o=Object.keys(i);for(const a of o)if(a===e.commonStoreKey&&(void 0===i[a]?.authority||null===i[a]?.authority||r.isUserAuthorized(i[a]?.authority))&&""!=i[a]?.url){await d({endPointURI:i[a].url,showMask:!1,successCallBkFn:i=>{t($i({storeKey:a,data:i.data})),e.setData(i.data)},failureCallBkFn:()=>{t($i({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await d({endPointURI:e.findAll,showMask:!0,parameters:o||{},successCallBkFn:i=>{e.setData(i.data)}})},loadRecordById:async i=>{let t=null;if(e?.findById){const o={};o[e?.findByIdParamName||"id"]=i,await d({endPointURI:e.findById,showMask:!0,parameters:o,successCallBkFn:e=>{t=e.data}})}return t},saveRecord:async i=>{let t=null;return e?.save&&await n({endPointURI:e.save,data:i,showMask:!0,successCallBkFn:e=>{t=e.data}}),t},deleteRecordById:async i=>{let t=!0;if(e?.deleteById){const o={};o[e?.deleteByIdParamName||"id"]=i,await l({endPointURI:e.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{t=!0},failureCallBkFn:()=>{t=!1}})}return t}}},it=e=>{const{t:o}=Ae();return i(h,{...e,slotProps:{inputLabel:{shrink:!0}},label:i(t,{children:e?.label?o(e.label):""})})};function tt(e,i){return e.filter((e=>-1===i.indexOf(e)))}function ot(e,i){return e.filter((e=>-1!==i.indexOf(e)))}const at=({valueField:t="id",displayField:o="name",options:a=[],selectedOptions:r=[],setSelection:d})=>{const[n,l]=j.useState([]),[s,p]=j.useState([]),[c,m]=j.useState([]),[T,u]=j.useState(""),[A,_]=j.useState(""),E=ot(n,s),I=ot(n,c);j.useEffect((()=>{a&&p([...a])}),[a]),j.useEffect((()=>{r&&m([...r])}),[r]);const O=e=>()=>{const i=n.indexOf(e),t=[...n];-1===i?t.push(e):t.splice(i,1),l(t)},N=e=>ot(n,e).length,y=e=>()=>{var i,t;N(e)===e.length?l(tt(n,e)):l((i=n,t=e,[...i,...tt(t,i)]))},h=(a,r,d)=>{const l=r.filter((e=>{if(e[o]){const i=e[o];if("left"===d&&i.toLocaleLowerCase().includes(T.toLocaleLowerCase()))return!0;if("right"===d&&i.toLocaleLowerCase().includes(A.toLocaleLowerCase()))return!0}return!1}));return e(Ee,{sx:{height:"100%"},children:[i(Ie,{sx:{px:2,py:1},avatar:i(ye,{onClick:y(l),checked:N(l)===l.length&&0!==l.length,indeterminate:N(l)!==l.length&&0!==N(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:a,subheader:`${N(r)} / ${r.length} Selected`}),i(f,{sx:{width:"100%",padding:1},children:i(it,{fullWidth:!0,label:"search",value:"left"===d?T:A,onChange:e=>{"left"===d?u(e.target.value):_(e.target.value)}})}),i(Re,{}),i(fe,{sx:{width:"100%",height:"100%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map((a=>(a[t],e(L,{role:"listitem",onClick:O(a),sx:{cursor:"pointer"},children:[i(Ne,{children:i(ye,{checked:-1!==n.indexOf(a),tabIndex:-1,disableRipple:!0})}),i(Oe,{id:a[t],primary:a[o]})]},a[t]))))})]})};return e(R,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[i(R,{sx:{height:"100%",flex:1},children:h("Available Items",s,"left")}),i(R,{children:e(R,{container:!0,direction:"column",alignItems:"center",children:[i(he,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{m((e=>{let i=c.concat(E);return d(i),i})),p(tt(s,E)),l(tt(n,E))},disabled:0===E.length,"aria-label":"move selected right",children:">"}),i(he,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(s.concat(I)),m((e=>{let i=tt(c,I);return d(i),i})),l(tt(n,I))},disabled:0===I.length,"aria-label":"move selected left",children:"<"})]})}),i(R,{sx:{height:"100%",flex:1},children:h("Currently Selected",c,"right")})]})},rt=e=>{const{t:t}=Ae();return i(C,{sx:e.sx,disabled:e.disabled||!1,required:e.required||!1,control:i(D,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:i=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(i.target.checked?void 0!==e.checkedValue&&null!=e.checkedValue?e.onChangeCallBack(e.checkedValue):e.onChangeCallBack(!0):void 0!==e.unCheckedValue&&null!=e.unCheckedValue?e.onChangeCallBack(e.unCheckedValue):e.onChangeCallBack(!1))}}),label:t(e.label)})},dt=e=>{const t=a((e=>e.AppLayout)),{t:o}=Ae();return i(M,{sx:e.sx,value:(i=>{for(let t of e.options)if(t[e.valueField]==i)return t;return null})(e.value),options:e.options,disabled:e.disabled,onChange:(i,t)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=t){let i=t[e.valueField];e.onChangeCallBack(i,t)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:i=>null!=i?o(i[e.displayField]):"",renderOption:(t,a)=>i("li",{...t,children:null!=a?o(a[e.displayField]):""}),slots:{popper:e=>i(P,{...e,style:{...e.style,direction:t.appDirection}})},renderInput:t=>i(h,{...t,required:e.required||!1,variant:"outlined",InputLabelProps:{shrink:!0},label:o(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?o(e.errorMessage):""})})},nt="YYYY-MM-DD",lt="YYYY-MM-DD HH:mm:ss",st="#37505C",pt="#ff6d00",ct="#ea690e",mt="#74776B",Tt=e=>{const{t:o}=Ae();return i(Le,{dateAdapter:Me,children:i(Ce,{value:null!=e.value&&void 0!==e.value&&""!==e.value?Pe(e.value,e?.format||nt):null,sx:e.sx,label:o(e.label),format:e?.format||nt,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||nt)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{InputLabelProps:{shrink:!0},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},ut=e=>{const{t:o}=Ae();return i(Le,{dateAdapter:Me,children:i(De,{value:null!=e.value&&void 0!==e.value&&""!==e.value?Pe(e.value,e?.format||lt):null,label:o(e.label),sx:e.sx,format:e?.format||lt,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||lt)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},At=e=>{const t=a((e=>e.AppLayout)),o=Qi(),[r,d]=X([]),{handleGetRequest:n}=Hi();return J((()=>{e.lookupType&&(async()=>{await n({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{d(e.data)},failureCallBkFn:()=>{d([])}})})()}),[e.lookupType,o.UserSession]),i(dt,{...e,options:r,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},_t=e=>({...e,type:"string",renderEditCell:e=>i(ut,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=Pe(e).format(lt)),o},valueFormatter:(e,i,t)=>i[t.field]}),ft=e=>({...e,type:"custom",valueGetter:e=>e?e+"":e,renderCell:e=>{let t=null;try{t=e.colDef.options.find((i=>i[e.colDef.valueField]==e.value))}catch(e){}return i("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>i(dt,{...e,sx:{width:"100%"},options:e.colDef.options,valueField:e.colDef.valueField,displayField:e.colDef.displayField,onChangeCallBack:(i,t)=>{null===i&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:i+""})}})}),Et=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const o=t?.value;return o===e.checkedValue||"true"===o||1===o||!0===o?i(le,{icon:"check",color:"green"}):i(le,{icon:"xmark",color:"red"})},renderEditCell:t=>i(rt,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),It=e=>{const i=[];if("field"===e.type&&"props"===e.mode&&e?.props)i.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const t of e.props.elements)i.push(...It(t));return i},Ot=e=>{const i=[];for(const t of e)i.push(...It(t));return i},Nt=(e,t,o)=>{const a=[];for(const d of e)if("text"===d?.fieldType||"number"===d?.fieldType){const e={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,type:"number"==d?.fieldType?"number":"string",field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:1,minWidth:200};a.push(e)}else if("date"===d?.fieldType){const e=(r={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:1,minWidth:200},{...r,type:"string",renderEditCell:e=>i(Tt,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=Pe(e).format(nt)),o},valueFormatter:(e,i,t)=>i[t.field]});a.push(e)}else if("datetime"===d?.fieldType){const e=_t({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:1,minWidth:200});a.push(e)}else if("checkbox"===d?.fieldType){const e=Et({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,checkedValue:d?.checkedValue,unCheckedValue:d?.unCheckedValue,width:150});a.push(e)}else if("combobox"===d?.fieldType){const e=ft({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:1,minWidth:200});a.push(e)}else if("lookup"===d?.fieldType){const e=ft({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,lookupType:d?.lookupType,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:1,minWidth:200});a.push(e)}else{const e={field:d.fieldName,...d?.gridProps?.muiProps};a.push(e)}var r;return a},yt=e=>{const i={};for(const t of e)if(t?.fieldName){const e=t.fieldName;"number"===t.fieldType?i[e]=!0===t?.required?be.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):be.number().optional().nullable():"checkbox"===t.fieldType?i[e]=!0===t?.required?be.boolean({required_error:"This field is required"}):be.boolean().optional().nullable():i[e]=!0===t?.required?be.string({message:"This field is required"}).min(1,"This field is required"):be.string().optional().nullable()}return i},ht=(e,i,t)=>{const o=[],a=[];if("exclude"===e.type&&0===e.ids.size)for(const e of i)o.push(e),a.push(e[t]);else if(e?.ids)for(const r of e.ids){const e=i.find((e=>e[t]===r));o.push(e),a.push(r)}return{selectedRecords:o,selectedRecordIds:a}};function Rt(e,...i){const t=new URL(`https://mui.com/production-error/?code=${e}`);return i.forEach((e=>t.searchParams.append("args[]",e))),`Minified MUI error #${e}; visit ${t} for the full message.`}function Lt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ct,Dt={exports:{}},Mt={exports:{}},Pt={};var bt,gt,St,Ut,vt,wt,xt,Ft,Bt,kt,Wt,Gt,Yt,Vt,qt,Kt={};
2
2
  /** @license React v16.13.1
3
3
  * react-is.development.js
4
4
  *