@asaleh37/ui-base 26.2.16 → 27.5.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/.env.development +1 -1
  2. package/.github/workflows/publish-npm.yml +49 -49
  3. package/README.md +51 -51
  4. package/__ODockerfile +14 -14
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +1 -1
  8. package/dist/index.mjs.map +1 -1
  9. package/eslint.config.js +29 -29
  10. package/index.html +20 -20
  11. package/package.json +122 -122
  12. package/public/manifest.json +21 -21
  13. package/rollup.config-1748377725725.cjs +50 -50
  14. package/rollup.config.js +45 -45
  15. package/src/components/App.tsx +155 -155
  16. package/src/components/BaseApp.tsx +75 -75
  17. package/src/components/ExampleTrial.tsx +24 -24
  18. package/src/components/administration/admin/ChangePasswordPanel.tsx +128 -128
  19. package/src/components/administration/admin/CustomPersonGrid.tsx +361 -361
  20. package/src/components/administration/admin/OrgMemberRoleForm.tsx +83 -83
  21. package/src/components/administration/admin/OrgProvidedPersonGrid.tsx +347 -347
  22. package/src/components/administration/admin/OrganizationApplicationModuleGrid.tsx +107 -107
  23. package/src/components/administration/admin/OrganizationGrid.tsx +118 -118
  24. package/src/components/administration/admin/OrganizationMemberGrid.tsx +190 -190
  25. package/src/components/administration/admin/OrganizationMemberRoleGrid.tsx +87 -87
  26. package/src/components/administration/admin/OrganizationRankGrid.tsx +133 -133
  27. package/src/components/administration/admin/OrganizationUnitGrid.tsx +143 -143
  28. package/src/components/administration/admin/OrganizationUnitTypeGrid.tsx +108 -108
  29. package/src/components/administration/admin/PersonGrid.tsx +27 -27
  30. package/src/components/administration/admin/RoleAuthoritiesForm.tsx +82 -82
  31. package/src/components/administration/admin/SystemApplicationAuthorityGrid.tsx +117 -117
  32. package/src/components/administration/admin/SystemApplicationGrid.tsx +83 -83
  33. package/src/components/administration/admin/SystemApplicationModuleGrid.tsx +96 -96
  34. package/src/components/administration/admin/SystemApplicationRoleAuthorityGrid.tsx +75 -75
  35. package/src/components/administration/admin/SystemApplicationRoleGrid.tsx +116 -116
  36. package/src/components/administration/dev/AttachmentConfigGrid.tsx +224 -224
  37. package/src/components/administration/dev/AttachmentGrid.tsx +172 -172
  38. package/src/components/administration/dev/BluePrintGrid.tsx +129 -129
  39. package/src/components/administration/dev/DashboardGrid.tsx +173 -173
  40. package/src/components/administration/dev/DashboardWidgetGrid.tsx +164 -164
  41. package/src/components/administration/dev/DataQueryGrid.tsx +216 -216
  42. package/src/components/administration/dev/DataQueryParameterGrid.tsx +191 -191
  43. package/src/components/administration/dev/DataQueryParametersForm.tsx +84 -84
  44. package/src/components/administration/dev/DatasourceConnectionGrid.tsx +151 -151
  45. package/src/components/administration/dev/EntityParameterGrid.tsx +322 -322
  46. package/src/components/administration/dev/LookupGrid.tsx +120 -120
  47. package/src/components/administration/dev/MailAttachmentGrid.tsx +172 -172
  48. package/src/components/administration/dev/MailBodyGrid.tsx +216 -216
  49. package/src/components/administration/dev/MailNotificationQueueGrid.tsx +245 -245
  50. package/src/components/administration/dev/MailRecipientGrid.tsx +170 -170
  51. package/src/components/administration/dev/MailSenderConfigGrid.tsx +486 -486
  52. package/src/components/administration/dev/MailTemplateGrid.tsx +385 -385
  53. package/src/components/administration/dev/NotificationGrid.tsx +435 -435
  54. package/src/components/administration/dev/NotificationQueueGrid.tsx +222 -222
  55. package/src/components/administration/dev/ReportGrid.tsx +503 -503
  56. package/src/components/administration/dev/ReportParameterGrid.tsx +186 -186
  57. package/src/components/administration/dev/ReportParametersForm.tsx +84 -84
  58. package/src/components/administration/dev/WidgetGrid.tsx +380 -380
  59. package/src/components/administration/dev/WorkflowDocumentActionGrid.tsx +264 -264
  60. package/src/components/administration/dev/WorkflowDocumentActionHistoryGrid.tsx +172 -172
  61. package/src/components/administration/dev/WorkflowDocumentActionMailGrid.tsx +161 -161
  62. package/src/components/administration/dev/WorkflowDocumentGrid.tsx +357 -357
  63. package/src/components/administration/dev/WorkflowDocumentMailLogGrid.tsx +218 -218
  64. package/src/components/administration/dev/WorkflowDocumentStatusGrid.tsx +243 -243
  65. package/src/components/common/AzureLogin.tsx +222 -222
  66. package/src/components/common/ChangeOrgForm.tsx +85 -85
  67. package/src/components/common/Home.tsx +43 -43
  68. package/src/components/common/LanguageSwitcher.tsx +25 -25
  69. package/src/components/common/LayoutHandlers.tsx +11 -11
  70. package/src/components/common/LoadingMask.tsx +24 -24
  71. package/src/components/common/Login.tsx +268 -268
  72. package/src/components/common/MobileLogin.tsx +229 -229
  73. package/src/components/common/MyNotificationsPanel.tsx +109 -109
  74. package/src/components/common/NoLicenseComponent.tsx +79 -79
  75. package/src/components/common/NotificationItem.tsx +138 -138
  76. package/src/components/index.ts +10 -10
  77. package/src/components/msalConfig.ts +11 -11
  78. package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +361 -361
  79. package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +297 -297
  80. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormAction.tsx +60 -60
  81. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +238 -238
  82. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementGroup.tsx +108 -108
  83. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/CheckBox.tsx +66 -66
  84. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/ComboBox.tsx +164 -164
  85. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/Datefield.tsx +70 -70
  86. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/DatetimeField.tsx +71 -71
  87. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/FiltersPanel.tsx +237 -237
  88. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/SystemLookupCombobox.tsx +56 -56
  89. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/TemplateTextField.tsx +20 -20
  90. package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +431 -431
  91. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +197 -197
  92. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +1044 -1044
  93. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridMultiRecordAction.tsx +89 -89
  94. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridRecordAction.tsx +95 -95
  95. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridTopBar.tsx +251 -251
  96. package/src/components/templates/TransferList.tsx +256 -256
  97. package/src/components/templates/Window/ConfirmationWindow.tsx +55 -55
  98. package/src/components/templates/attachment/AttachmentCard.tsx +141 -141
  99. package/src/components/templates/attachment/AttachmentImageViewer.tsx +85 -85
  100. package/src/components/templates/attachment/AttachmentPanel.tsx +285 -285
  101. package/src/components/templates/index.ts +35 -35
  102. package/src/components/templates/report/ExcelReportViewer.tsx +71 -71
  103. package/src/components/templates/report/ReportViewer.tsx +261 -261
  104. package/src/components/templates/report/ReportViewerRoute.tsx +9 -9
  105. package/src/components/templates/visuals/DashboardRouteView.tsx +9 -9
  106. package/src/components/templates/visuals/DashboardViewer.tsx +192 -192
  107. package/src/components/templates/visuals/WidgetViewer.tsx +208 -208
  108. package/src/components/templates/visuals/charts/TemplateBarChart.tsx +23 -23
  109. package/src/components/templates/visuals/charts/TemplateDataCard.tsx +35 -35
  110. package/src/components/templates/visuals/charts/TemplateGauge.tsx +21 -21
  111. package/src/components/templates/visuals/charts/TemplateLineChart.tsx +22 -22
  112. package/src/components/templates/visuals/charts/TemplateLineProgress.tsx +42 -42
  113. package/src/components/templates/visuals/charts/TemplatePieChart.tsx +24 -24
  114. package/src/components/templates/workflow/WorkflowDocumentPanel.tsx +611 -611
  115. package/src/components/templates/workflow/WorkflowDocumentTimeLine.tsx +145 -145
  116. package/src/components/templates/workflow/WorkflowRouteComponent.tsx +14 -14
  117. package/src/examples/ExampleGrid.tsx +134 -134
  118. package/src/hooks/UseConfirmationWindow.tsx +56 -56
  119. package/src/hooks/UseMobile.tsx +13 -13
  120. package/src/hooks/UseSession.tsx +59 -59
  121. package/src/hooks/UseWindow.tsx +111 -111
  122. package/src/hooks/index.ts +22 -22
  123. package/src/hooks/useApiActions.ts +124 -124
  124. package/src/hooks/useAxios.tsx +340 -340
  125. package/src/hooks/useCommonStore.tsx +29 -29
  126. package/src/hooks/useInterval.tsx +23 -23
  127. package/src/hooks/useLoadingMask.tsx +16 -16
  128. package/src/hooks/useLookupGridColumn.tsx +35 -35
  129. package/src/hooks/useParameterPanel.tsx +171 -171
  130. package/src/index.ts +4 -4
  131. package/src/layout/DrawerHeader.tsx +10 -10
  132. package/src/layout/Layout.tsx +102 -102
  133. package/src/layout/MainContent.tsx +115 -115
  134. package/src/layout/MobileDrawer.tsx +103 -103
  135. package/src/layout/NavigationTree.tsx +360 -360
  136. package/src/layout/NotificationButton.tsx +207 -207
  137. package/src/layout/RouteWrapper.tsx +63 -63
  138. package/src/layout/SideBar.tsx +85 -85
  139. package/src/layout/TopBar.tsx +317 -317
  140. package/src/locales/arabic/adminLocalsAr.json +94 -94
  141. package/src/locales/arabic/common.json +44 -44
  142. package/src/locales/arabic/devLocalsAr.json +317 -317
  143. package/src/locales/arabic/index.ts +9 -9
  144. package/src/locales/english/adminLocalsEn.json +97 -97
  145. package/src/locales/english/common.json +43 -43
  146. package/src/locales/english/devLocalsEn.json +318 -318
  147. package/src/locales/english/index.ts +9 -9
  148. package/src/locales/i18n.ts +8 -8
  149. package/src/locales/index.ts +9 -9
  150. package/src/main.tsx +41 -41
  151. package/src/navigationItems/Administration/adminNavigationItems.tsx +231 -231
  152. package/src/navigationItems/Administration/index.tsx +16 -16
  153. package/src/navigationItems/common/CommonNavigationItems.tsx +12 -12
  154. package/src/navigationItems/common/index.tsx +7 -7
  155. package/src/navigationItems/index.tsx +35 -35
  156. package/src/redux/features/administration/AdministrationStoresMetaData.ts +164 -164
  157. package/src/redux/features/common/AppInfoSlice.ts +95 -95
  158. package/src/redux/features/common/AppLayoutSlice.ts +29 -29
  159. package/src/redux/features/common/CommonStoreSlice.ts +44 -44
  160. package/src/redux/features/common/LoadingMaskSlice.ts +30 -30
  161. package/src/redux/features/common/SideBarSlice.ts +27 -27
  162. package/src/redux/features/common/UserSessionSlice.ts +54 -54
  163. package/src/redux/store.ts +29 -29
  164. package/src/routes/administration/adminRoutes.tsx +99 -99
  165. package/src/routes/administration/devRoutes.tsx +129 -129
  166. package/src/routes/administration/index.ts +10 -10
  167. package/src/routes/index.ts +5 -5
  168. package/src/routes/types/index.ts +6 -6
  169. package/src/styles/index.css +19 -19
  170. package/src/types/index.ts +8 -8
  171. package/src/util/AppUtils.ts +73 -73
  172. package/src/util/constants.ts +6 -6
  173. package/src/util/index.ts +5 -5
  174. package/tsconfig.json +135 -135
  175. package/vite.config.ts +24 -24
  176. package/package-lock.json/342/200/216 +0 -9040
package/.env.development CHANGED
@@ -1 +1 @@
1
- VITE_API_URL=http://localhost:8080/api-base
1
+ VITE_API_URL=http://localhost:8082/api-base
@@ -1,49 +1,49 @@
1
- name: Publish to npm
2
-
3
- on:
4
- push:
5
- branches:
6
- - prod
7
-
8
- jobs:
9
- publish:
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - name: Checkout repo
14
- uses: actions/checkout@v4
15
-
16
- - name: Use Node.js
17
- uses: actions/setup-node@v4
18
- with:
19
- node-version: 20
20
- registry-url: "https://registry.npmjs.org/"
21
-
22
- - name: Install dependencies
23
- run: npm install --force
24
-
25
- - name: Run build (optional)
26
- run: npm run build
27
-
28
- - name: Publish to npm
29
- run: npm publish --tag latest
30
- env:
31
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
32
- notify:
33
- needs: publish
34
- runs-on: ubuntu-latest
35
- if: always() # ensures this step runs regardless of success or failure
36
- steps:
37
- - name: Send email notification
38
- uses: dawidd6/action-send-mail@v3
39
- with:
40
- server_address: smtp.gmail.com
41
- server_port: 587
42
- username: ${{ secrets.SMTP_USERNAME }}
43
- password: ${{ secrets.SMTP_PASSWORD }}
44
- subject: ui-base package publish job is finished
45
- to: ahmed.saleh.mohamed.92@gmail.com
46
- from: ${{ secrets.SMTP_USERNAME }}
47
- body: |
48
- The GitHub Actions workflow has finished.
49
- Status: ${{ needs.publish.result }}
1
+ name: Publish to npm
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - prod
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout repo
14
+ uses: actions/checkout@v4
15
+
16
+ - name: Use Node.js
17
+ uses: actions/setup-node@v4
18
+ with:
19
+ node-version: 20
20
+ registry-url: "https://registry.npmjs.org/"
21
+
22
+ - name: Install dependencies
23
+ run: npm install --force
24
+
25
+ - name: Run build (optional)
26
+ run: npm run build
27
+
28
+ - name: Publish to npm
29
+ run: npm publish --tag latest
30
+ env:
31
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
32
+ notify:
33
+ needs: publish
34
+ runs-on: ubuntu-latest
35
+ if: always() # ensures this step runs regardless of success or failure
36
+ steps:
37
+ - name: Send email notification
38
+ uses: dawidd6/action-send-mail@v3
39
+ with:
40
+ server_address: smtp.gmail.com
41
+ server_port: 587
42
+ username: ${{ secrets.SMTP_USERNAME }}
43
+ password: ${{ secrets.SMTP_PASSWORD }}
44
+ subject: ui-base package publish job is finished
45
+ to: ahmed.saleh.mohamed.92@gmail.com
46
+ from: ${{ secrets.SMTP_USERNAME }}
47
+ body: |
48
+ The GitHub Actions workflow has finished.
49
+ Status: ${{ needs.publish.result }}
package/README.md CHANGED
@@ -1,52 +1,52 @@
1
- **UI Base** is a React JS template designed for quickly scaffolding robust, production-ready Enterprise Applications Interface. It incorporates enterprise-grade architectural patterns and integrates a suite of essential features to accelerate development, including:
2
-
3
- - A modular, layered architecture with a clean separation of concerns and industry-standard project structure.
4
-
5
- - [ ] Create new react project using vite.
6
-
7
- ```javascript
8
- npm create vite@latest YOUR_APP_NAME //choose typescript as template
9
- cd YOUR_APP_NAME
10
- npm install
11
- ```
12
-
13
- - [ ] Install the UI Base Dependency.
14
-
15
- ```javascript
16
- npm install @asaleh37/ui-base --force
17
- ```
18
-
19
- - [ ] replace the content of the file src/main.tsx
20
-
21
- ```javascript
22
- import { BaseApp } from "@asaleh37/ui-base";
23
- import { createRoot } from "react-dom/client";
24
-
25
- createRoot(document.getElementById("root")!).render(
26
-   <BaseApp
27
-     apiBaseUrl="YOUR_API_URL"
28
-     appLogo={"YOUR_APP_LOGO_PATH"}
29
-     appName="YOUR_APP_NAME"
30
-     appVersion="YOUR_APP_VERSION"
31
-     businessCommonStoresMetaData={{}}
32
-     businessNavigationItems={[]}
33
-     businessReduxReducers={{}}
34
-     businessRoutes={[]}
35
-     documentTitle="YOUR_HTML_DOCUMENT_TITLE"
36
-     enableAdministrationModule={true} // to enable administration module or not
37
- /* // To Change APP Coloring Theme modify the following colors
38
-     appTheme={{
39
-       dark: { primaryColor: "#b3a10c", secondaryColor: "#2b3c46" },
40
-       light: { primaryColor: "#2b3c46", secondaryColor: "#b3a10c" },
41
-     }}
42
- */
43
-   muiPremiumKey="YOUR_MUI_PREMIUM_KEY"
44
-   />
45
- );
46
- ```
47
-
48
- - [ ] then go to the root of your project and then run the following command
49
-
50
- ```javascript
51
- npm run dev
1
+ **UI Base** is a React JS template designed for quickly scaffolding robust, production-ready Enterprise Applications Interface. It incorporates enterprise-grade architectural patterns and integrates a suite of essential features to accelerate development, including:
2
+
3
+ - A modular, layered architecture with a clean separation of concerns and industry-standard project structure.
4
+
5
+ - [ ] Create new react project using vite.
6
+
7
+ ```javascript
8
+ npm create vite@latest YOUR_APP_NAME //choose typescript as template
9
+ cd YOUR_APP_NAME
10
+ npm install
11
+ ```
12
+
13
+ - [ ] Install the UI Base Dependency.
14
+
15
+ ```javascript
16
+ npm install @asaleh37/ui-base --force
17
+ ```
18
+
19
+ - [ ] replace the content of the file src/main.tsx
20
+
21
+ ```javascript
22
+ import { BaseApp } from "@asaleh37/ui-base";
23
+ import { createRoot } from "react-dom/client";
24
+
25
+ createRoot(document.getElementById("root")!).render(
26
+   <BaseApp
27
+     apiBaseUrl="YOUR_API_URL"
28
+     appLogo={"YOUR_APP_LOGO_PATH"}
29
+     appName="YOUR_APP_NAME"
30
+     appVersion="YOUR_APP_VERSION"
31
+     businessCommonStoresMetaData={{}}
32
+     businessNavigationItems={[]}
33
+     businessReduxReducers={{}}
34
+     businessRoutes={[]}
35
+     documentTitle="YOUR_HTML_DOCUMENT_TITLE"
36
+     enableAdministrationModule={true} // to enable administration module or not
37
+ /* // To Change APP Coloring Theme modify the following colors
38
+     appTheme={{
39
+       dark: { primaryColor: "#b3a10c", secondaryColor: "#2b3c46" },
40
+       light: { primaryColor: "#2b3c46", secondaryColor: "#b3a10c" },
41
+     }}
42
+ */
43
+   muiPremiumKey="YOUR_MUI_PREMIUM_KEY"
44
+   />
45
+ );
46
+ ```
47
+
48
+ - [ ] then go to the root of your project and then run the following command
49
+
50
+ ```javascript
51
+ npm run dev
52
52
  ```
package/__ODockerfile CHANGED
@@ -1,14 +1,14 @@
1
- # STEP 1 — Build static files
2
- FROM node:18 AS build
3
- WORKDIR /app
4
-
5
- COPY package.json ./
6
- RUN npm install --force
7
-
8
- COPY . .
9
- RUN npm run build
10
-
11
- # STEP 2 — Nginx to serve static build
12
- FROM nginx:1.25
13
- COPY --from=build /app/dist /usr/share/nginx/html
14
- EXPOSE 80
1
+ # STEP 1 — Build static files
2
+ FROM node:18 AS build
3
+ WORKDIR /app
4
+
5
+ COPY package.json ./
6
+ RUN npm install --force
7
+
8
+ COPY . .
9
+ RUN npm run build
10
+
11
+ # STEP 2 — Nginx to serve static build
12
+ FROM nginx:1.25
13
+ COPY --from=build /app/dist /usr/share/nginx/html
14
+ EXPOSE 80
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("@mui/x-data-grid-premium"),t=require("react/jsx-runtime"),o=require("react-redux"),i=require("@fortawesome/fontawesome-svg-core"),r=require("@fortawesome/free-brands-svg-icons"),n=require("@fortawesome/free-regular-svg-icons"),a=require("@fortawesome/free-solid-svg-icons");require("react-toastify/dist/ReactToastify.css");var s=require("@mui/material"),l=require("@emotion/react"),d=require("react"),c=require("@mui/material/styles"),u=require("@mui/material/CssBaseline"),p=require("@mui/material/AppBar"),h=require("@mui/material/Toolbar"),m=require("@fortawesome/react-fontawesome"),f=require("@reduxjs/toolkit"),g=require("react-toastify"),T=require("axios"),y=require("i18next"),A=require("react-i18next"),I=require("react-hook-form"),_=require("react-router-dom"),E=require("@hookform/resolvers/zod"),O=require("zod"),C=require("@mui/material/List"),N=require("@mui/material/Card"),R=require("@mui/material/CardHeader"),b=require("@mui/material/ListItemText"),w=require("@mui/material/ListItemIcon"),S=require("@mui/material/Checkbox"),P=require("@mui/material/Button"),v=require("@mui/material/Divider"),L=require("@mui/x-date-pickers"),M=require("@mui/x-date-pickers/AdapterMoment"),x=require("moment"),D=require("@mui/material/CardActions"),k=require("@mui/material/CardContent"),U=require("@mui/material/CardMedia"),F=require("@mui/material/Typography"),B=require("@mui/lab"),q=require("@mui/x-tree-view/models"),j=require("@mui/x-charts"),G=require("@mui/material/LinearProgress"),W=require("@mui/material/Box"),H=require("@mui/x-charts/PieChart"),Y=require("@mui/material/IconButton"),K=require("@mui/material/Drawer"),V=require("@react-spring/web"),z=require("@mui/material/Collapse"),Q=require("@mui/x-tree-view/RichTreeView"),$=require("@mui/x-tree-view/TreeItem"),Z=require("@mui/x-tree-view/useTreeItem2"),J=require("@mui/x-tree-view/TreeItem2"),X=require("@mui/x-tree-view/TreeItem2Icon"),ee=require("@mui/x-tree-view/TreeItem2Provider"),te=require("@mui/x-tree-view/TreeItem2DragAndDropOverlay"),oe=require("stylis-plugin-rtl"),ie=require("stylis"),re=require("@emotion/cache"),ne=require("@emotion/styled"),ae=require("@mui/material/colors"),se=require("@mui/material/SwipeableDrawer"),le=require("@mui/x-license");function de(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(o){if("default"!==o){var i=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,i.get?i:{enumerable:!0,get:function(){return e[o]}})}}),t.default=e,Object.freeze(t)}var ce=de(d),ue=de(O);!function(e,t){void 0===t&&(t={});var o=t.insertAt;if("undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.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 pe=(e=768)=>{const[t,o]=d.useState(window.innerWidth<e);return d.useEffect(()=>{const t=()=>o(window.innerWidth<e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e]),t},he=350,me={themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},fe=f.createSlice({name:"AppLayout",initialState:me,reducers:{setThemeMode:(e,t)=>{e.themeMode=t.payload},setAppDirection:(e,t)=>{e.appDirection=t.payload}}}),ge=fe.actions;var Te=fe.reducer;const ye=f.createSlice({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,t)=>{e.value.isOpened=!0,e.value.message=t.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Ae,hideLoadingMask:Ie}=ye.actions;var _e=ye.reducer;const Ee=()=>{const e=o.useDispatch();return{show:t=>{e(Ae(t))},hide:()=>{e(Ie())}}},Oe=f.createSlice({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,t)=>{e.value=t.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),Ce=Oe.actions;var Ne=Oe.reducer;const Re=()=>{const e=Ee(),t=o.useDispatch(),i=o.useSelector(e=>e.AppInfo.value.apiBaseUrl),r=T.create({baseURL:i,timeout:6e5,withCredentials:!0});r.defaults.withCredentials=!0,r.interceptors.request.use(e=>{const t=localStorage.getItem("TOKEN");return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e)),r.interceptors.response.use(e=>e,e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))t(Ce.setUnAuthenticated()),localStorage.removeItem("TOKEN"),g.toast.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&402===e.response.status)))t(Ce.setUnAuthenticated()),g.toast.error("Your license is missing or has expired,Please reach out to your vendor for assistance.");else if(e&&(e.response&&(e.response.status&&403===e.response.status)))g.toast.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=>{g.toast.error(e)})}else g.toast.error(e.response.data);else g.toast.error("failed to communicate with the server ... try again later");return"ERROR"});return{handleGetRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const o=await r.get(t.endPointURI,{params:{...t.parameters},withCredentials:!0,headers:t.headers,responseType:t?.responseType});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},handlePostRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let o=await r.post(t.endPointURI,t.data,{params:t.parameters,responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},handleDeleteRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let o=await r.delete(t.endPointURI,{params:{...t.parameters},responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},HandleDownloadHTTPPostPDF:async(t={endPointURI:"",parameters:{},data:{}})=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const o=await r.post(t.endPointURI,t.data,{responseType:"blob"});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},handleUploadRequest:async t=>{if(null===t.files||0===t.files.length)return g.toast.error("You must add files to upload"),"ERROR";const o=new FormData;for(const e of t.files)o.append("files",e);void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let i=await r.post(t.endPointURI,o,{params:t?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")}}},be=e=>{const[o,i]=d.useState(!1),{t:r}=A.useTranslation();return{ConfirmationWindow:()=>t.jsxs(s.Dialog,{open:o,children:[t.jsx(s.DialogTitle,{children:e.title}),t.jsx(s.DialogContent,{children:t.jsx(s.DialogContentText,{children:e.body})}),t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"secondary",onClick:()=>{i(!1)},children:r("NO_LABEL")}),t.jsx(s.Button,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"error",onClick:()=>{e.onConfirmationCallBk(),i(!1)},autoFocus:!0,children:r("YES_LABEL")})]})]}),open:o,setOpen:i}},we=()=>{const e=o.useSelector(e=>e.UserSession),t=e.value;return{UserSession:e,isUserAuthorized:t=>{if(e?.value?.authorities)for(let o of e.value.authorities){if("DEVELOPMENT_ADMIN"===t&&("DEVELOPMENT_ADMIN"===o?.authority||"ORGANIZATION_ADMIN"===o?.authority))return!0;if("ORGANIZATION_ADMIN"===t&&"ORGANIZATION_ADMIN"===o?.authority)return!0;if("DEVELOPMENT_ADMIN"!==t&&"ORGANIZATION_ADMIN"!==t&&("ORGANIZATION_ADMIN"===o?.authority||"DEVELOPMENT_ADMIN"===o?.authority||"SYSTEM_ADMIN"===o?.authority||o?.authority===t))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(t?.currentOrganization?.systemApplicationModules)for(const o of t.currentOrganization.systemApplicationModules)if(o.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:t}},Se=e=>{const[i,r]=d.useState(!1),n=o.useSelector(e=>e.AppLayout.appDirection);return{windowState:i,setWindowState:r,Window:o=>t.jsx(s.Modal,{open:i,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!i&&e?.onCloseCallBack&&e.onCloseCallBack()},children:t.jsxs(s.Box,{dir:n,sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:e?.height||"80%",width:e?.width||"90%",minWidth:e.minWidth||400,minHeight:e.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[t.jsx(s.AppBar,{position:"static",children:t.jsxs(s.Toolbar,{variant:"dense",children:[t.jsx(m.FontAwesomeIcon,{icon:e?.windowIcon||"window-maximize",style:{marginRight:5}}),t.jsx(s.Typography,{variant:"h6",color:"inherit",component:"div",children:e?.windowTitle||"window"}),t.jsx("div",{style:{flexGrow:1}}),t.jsx(s.IconButton,{onClick:()=>{r(!1),null!=e.onCloseCallBack&&null!=e.onCloseCallBack&&e.onCloseCallBack()},color:"secondary",children:t.jsx(m.FontAwesomeIcon,{icon:"xmark-square",color:"white"})})]})}),t.jsx(s.Paper,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:o?.children})]})})}},Pe=f.createSlice({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,t)=>{e.stores=t.payload,e.storeKeys=Object.keys(t.payload)},setStoreData:(e,t)=>{e.stores[t.payload.storeKey].data=t.payload.data}}}),{setStoreData:ve,setStoresMetaData:Le}=Pe.actions;var Me=Pe.reducer;const xe=e=>{const t=o.useSelector(e=>e.commonStores.stores),i=o.useDispatch(),r=we(),{handleGetRequest:n,handlePostRequest:a,handleDeleteRequest:s}=Re();return{reloadData:async o=>{if(e?.commonStoreKey){const o=Object.keys(t);for(const a of o)if(a===e.commonStoreKey&&(void 0===t[a]?.authority||null===t[a]?.authority||r.isUserAuthorized(t[a]?.authority))&&""!=t[a]?.url){await n({endPointURI:t[a].url,showMask:!1,successCallBkFn:t=>{i(ve({storeKey:a,data:t.data})),e.setData(t.data)},failureCallBkFn:()=>{i(ve({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await n({endPointURI:e.findAll,showMask:!0,parameters:o||{},successCallBkFn:t=>{e.setData(t.data)}})},loadRecordById:async t=>{let o=null;if(e?.findById){const i={};i[e?.findByIdParamName||"id"]=t,await n({endPointURI:e.findById,showMask:!0,parameters:i,successCallBkFn:e=>{o=e.data}})}return o},saveRecord:async t=>{let o=null;return e?.save&&await a({endPointURI:e.save,data:t,showMask:!0,successCallBkFn:e=>{o=e.data}}),o},deleteRecordById:async t=>{let o=!0;if(e?.deleteById){const i={};i[e?.deleteByIdParamName||"id"]=t,await s({endPointURI:e.deleteById,showMask:!0,parameters:i,successCallBkFn:()=>{o=!0},failureCallBkFn:()=>{o=!1}})}return o}}},De=e=>{const{t:o}=A.useTranslation();return t.jsx(s.TextField,{...e,hidden:!0,slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:t.jsx(t.Fragment,{children:e?.label?o(e.label):""}),error:e?.error,helperText:e?.helperText?o(e.helperText):void 0})};function ke(e,t){return e.filter(e=>-1===t.indexOf(e))}function Ue(e,t){return e.filter(e=>-1!==t.indexOf(e))}const Fe=({valueField:e="id",displayField:o="name",options:i=[],selectedOptions:r=[],setSelection:n})=>{const[a,l]=ce.useState([]),[d,c]=ce.useState([]),[u,p]=ce.useState([]),[h,m]=ce.useState(""),[f,g]=ce.useState(""),T=Ue(a,d),y=Ue(a,u);ce.useEffect(()=>{i&&c([...i])},[i]),ce.useEffect(()=>{r&&p([...r])},[r]);const A=e=>()=>{const t=a.indexOf(e),o=[...a];-1===t?o.push(e):o.splice(t,1),l(o)},I=e=>Ue(a,e).length,_=e=>()=>{var t,o;I(e)===e.length?l(ke(a,e)):l((t=a,o=e,[...t,...ke(o,t)]))},E=(i,r,n)=>{const l=r.filter(e=>{if(e[o]){const t=e[o];if("left"===n&&t.toLocaleLowerCase().includes(h.toLocaleLowerCase()))return!0;if("right"===n&&t.toLocaleLowerCase().includes(f.toLocaleLowerCase()))return!0}return!1});return t.jsxs(N,{sx:{height:"100%"},children:[t.jsx(R,{sx:{px:2,py:1},avatar:t.jsx(S,{onClick:_(l),checked:I(l)===l.length&&0!==l.length,indeterminate:I(l)!==l.length&&0!==I(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:i,subheader:`${I(r)} / ${r.length} Selected`}),t.jsx(s.Box,{sx:{width:"100%",padding:1},children:t.jsx(De,{fullWidth:!0,label:"search",value:"left"===n?h:f,onChange:e=>{"left"===n?m(e.target.value):g(e.target.value)}})}),t.jsx(v,{}),t.jsx(C,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map(i=>(i[e],t.jsxs(s.ListItemButton,{role:"listitem",onClick:A(i),sx:{cursor:"pointer"},children:[t.jsx(w,{children:t.jsx(S,{checked:-1!==a.indexOf(i),tabIndex:-1,disableRipple:!0})}),t.jsx(b,{id:i[e],primary:i[o]})]},i[e])))})]})};return t.jsxs(s.Grid2,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[t.jsx(s.Grid2,{sx:{height:"100%",flex:1},children:E("Available Items",d,"left")}),t.jsx(s.Grid2,{children:t.jsxs(s.Grid2,{container:!0,direction:"column",alignItems:"center",children:[t.jsx(P,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(e=>{let t=u.concat(T);return n(t),t}),c(ke(d,T)),l(ke(a,T))},disabled:0===T.length,"aria-label":"move selected right",children:">"}),t.jsx(P,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{c(d.concat(y)),p(e=>{let t=ke(u,y);return n(t),t}),l(ke(a,y))},disabled:0===y.length,"aria-label":"move selected left",children:"<"})]})}),t.jsx(s.Grid2,{sx:{height:"100%",flex:1},children:E("Currently Selected",u,"right")})]})},Be=e=>{const{t:o}=A.useTranslation();return t.jsx(s.FormControlLabel,{sx:e.sx,hidden:e?.hidden||!1,disabled:e.disabled||!1,required:e.required||!1,control:t.jsx(s.Checkbox,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:t=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(t.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:o(e.label)})},qe=e=>{const i=o.useSelector(e=>e.AppLayout),[r,n]=d.useState(e?.options||[]),a=o.useSelector(t=>t?.commonStores?.stores[e?.commonStoreKey]?.data),{handleGetRequest:l}=Re();d.useEffect(()=>{e?.commonStoreKey?n(a):(async()=>{e?.storeUrl?await l({endPointURI:e.storeUrl,showMask:!1,parameters:e?.storeLoadParam,successCallBkFn:e=>{n(e.data)},failureCallBkFn:()=>{n([])}}):e?.dataQueryId?await l({endPointURI:"api/v1/dev/query/result",showMask:!1,parameters:{queryId:e.dataQueryId,...e?.storeLoadParam},successCallBkFn:e=>{n(e.data)},failureCallBkFn:()=>{n([])}}):e?.options&&n(e.options)})()},[e?.storeUrl,e?.storeLoadParam,e?.dataQueryId,e?.commonStoreKey,e?.options,a]);const{t:c}=A.useTranslation();return t.jsx(s.Autocomplete,{sx:e.sx,value:(t=>{for(let o of r)if(o[e.valueField]==t)return o;return null})(e.value),options:r,disabled:e.disabled,hidden:e?.hidden||!1,onChange:(t,o)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=o){let t=o[e.valueField];e.onChangeCallBack(t,o)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:t=>null!=t?c(t[e.displayField]):"",renderOption:(o,i)=>t.jsx("li",{...o,children:null!=i?c(i[e.displayField]):""}),slots:{popper:e=>t.jsx(s.Popper,{...e,style:{...e.style,direction:i.appDirection}})},groupBy:e?.groupField?t=>t[e.groupField]?t[e.groupField]:"":void 0,renderInput:o=>t.jsx(s.TextField,{...o,required:e.required||!1,variant:"outlined",slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:c(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?c(e.errorMessage):""})})},je="YYYY-MM-DD",Ge="YYYY-MM-DD HH:mm:ss",We="#37505C",He="#ff6d00",Ye="#ea690e",Ke="#74776B",Ve=e=>{const{t:o}=A.useTranslation();return e?.hidden?t.jsx(t.Fragment,{}):t.jsx(L.LocalizationProvider,{dateAdapter:M.AdapterMoment,children:t.jsx(L.DatePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?x(e.value,e?.format||je):null,sx:{...e.sx,display:e?.hidden?"none":void 0},label:o(e.label),format:e?.format||je,disabled:e.disabled,onChange:t=>{let o=null;null!=t&&t.isValid()&&(o=t.format(e?.format||je)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(o)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?t.jsx(t.Fragment,{children:o(e.errorMessage)}):t.jsx(t.Fragment,{})}}})})},ze=e=>{const{t:o}=A.useTranslation();return e?.hidden?t.jsx(t.Fragment,{}):t.jsx(L.LocalizationProvider,{dateAdapter:M.AdapterMoment,children:t.jsx(L.DateTimePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?x(e.value,e?.format||Ge):null,label:o(e.label),sx:{...e.sx,display:e?.hidden?"none":void 0},format:e?.format||Ge,disabled:e.disabled,onChange:t=>{let o=null;null!=t&&t.isValid()&&(o=t.format(e?.format||Ge)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(o)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?t.jsx(t.Fragment,{children:o(e.errorMessage)}):t.jsx(t.Fragment,{})}}})})},Qe=e=>{const i=o.useSelector(e=>e.AppLayout),r=we(),[n,a]=d.useState([]),{handleGetRequest:s}=Re();return d.useEffect(()=>{e.lookupType&&(async()=>{await s({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{a(e.data)},failureCallBkFn:()=>{a([])}})})()},[e.lookupType,r.UserSession]),t.jsx(qe,{...e,options:n,displayField:"ltr"===i.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},$e=e=>({...e,type:"string",renderEditCell:e=>t.jsx(Ve,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,o)=>{let i=null;return null!==e&&(i=x(e).format(je)),i},valueFormatter:(e,t,o)=>t[o.field]}),Ze=e=>({...e,type:"string",renderEditCell:e=>t.jsx(ze,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,o)=>{let i=null;return null!==e&&(i=x(e).format(Ge)),i},valueFormatter:(e,t,o)=>t[o.field]}),Je=e=>({...e,type:"custom",valueGetter:e=>e||e,renderCell:e=>{let o=null;try{o=e.colDef.options.find(t=>t[e.colDef.valueField]==e.value)}catch(e){}return t.jsx("div",{children:null!=o?o[e.colDef.displayField]:e.value})},commonStoreKey:e?.commonStoreKey,dataQueryId:e?.dataQueryId,storeUrl:e?.storeUrl,storeLoadParam:e?.storeLoadParam,renderEditCell:e=>t.jsx(qe,{...e,sx:{width:"100%"},options:e?.colDef?.options,valueField:e?.colDef?.valueField,displayField:e?.colDef?.displayField,groupField:e?.colDef?.comboboxGroupField,onChangeCallBack:(t,o)=>{null===t&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:t})}})}),Xe=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:o=>{const i=o?.value;return i===e.checkedValue||"true"===i||1===i||!0===i?t.jsx(m.FontAwesomeIcon,{icon:"check",color:"green"}):t.jsx(m.FontAwesomeIcon,{icon:"xmark",color:"red"})},renderEditCell:o=>t.jsx(Be,{...o,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{o.api.setEditCellValue({id:o.id,field:o.field,value:e})}})}),et=e=>{const t=[];if("field"===e.type&&"props"===e.mode&&e?.props)t.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const o of e.props.elements)t.push(...et(o));return t},tt=e=>{const t=[];for(const o of e)t.push(...et(o));return t},ot=(e,t,o)=>{const i=[];for(const r of e)if("text"===r?.fieldType||"number"===r?.fieldType){const e={...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,type:"number"==r?.fieldType?"number":"string",field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200};i.push(e)}else if("date"===r?.fieldType){const e=$e({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else if("datetime"===r?.fieldType){const e=Ze({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else if("checkbox"===r?.fieldType){const e=Xe({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,checkedValue:r?.checkedValue,unCheckedValue:r?.unCheckedValue,width:150});i.push(e)}else if("combobox"===r?.fieldType){const e=Je({...r?.gridProps?.muiProps,comboboxGroupField:r?.comboboxGroupField,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options,commonStoreKey:r?.commonStoreKey,dataQueryId:r?.dataQueryId,storeUrl:r?.storeUrl,storeLoadParam:r?.storeLoadParam,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else if("lookup"===r?.fieldType){const e=Je({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,lookupType:r?.lookupType,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",commonStoreKey:r?.commonStoreKey,dataQueryId:r?.dataQueryId,storeUrl:r?.storeUrl,storeLoadParam:r?.storeLoadParam,hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options||[],flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else{const e={field:r.fieldName,...r?.gridProps?.muiProps};i.push(e)}return i},it=e=>{const t={};for(const o of e)if(o?.fieldName){const e=o.fieldName;"number"===o.fieldType?t[e]=!0===o?.required?ue.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ue.number().optional().nullable():"checkbox"===o.fieldType?t[e]=!0===o?.required?ue.boolean({required_error:"This field is required"}):ue.boolean().optional().nullable():"combobox"===o.fieldType?o?.comboboxValueDataType?"number"===o?.comboboxValueDataType?t[e]=!0===o?.required?ue.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ue.number().optional().nullable():"string"===o?.comboboxValueDataType&&(t[e]=!0===o?.required?ue.string({message:"This field is required"}).min(1,"This field is required"):ue.string().optional().nullable()):t[e]=!0===o?.required?ue.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ue.number().optional().nullable():t[e]=!0===o?.required?ue.string({message:"This field is required"}).min(1,"This field is required"):ue.string().optional().nullable()}return t},rt=(e,t,o)=>{const i=[],r=[];if("exclude"===e.type&&0===e.ids.size)for(const e of t)i.push(e),r.push(e[o]);else if(e?.ids)for(const n of e.ids){const e=t.find(e=>e[o]===n);i.push(e),r.push(n)}return{selectedRecords:i,selectedRecordIds:r}};function nt(e,...t){const o=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(e=>o.searchParams.append("args[]",e)),`Minified MUI error #${e}; visit ${o} for the full message.`}function at(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var st,lt={exports:{}},dt={exports:{}},ct={};var ut,pt,ht,mt,ft,gt,Tt,yt,At,It,_t,Et,Ot,Ct,Nt,Rt={};
1
+ "use strict";var e=require("@mui/x-data-grid-premium"),t=require("react/jsx-runtime"),o=require("react-redux"),i=require("@fortawesome/fontawesome-svg-core"),r=require("@fortawesome/free-brands-svg-icons"),n=require("@fortawesome/free-regular-svg-icons"),a=require("@fortawesome/free-solid-svg-icons");require("react-toastify/dist/ReactToastify.css");var s=require("@mui/material"),l=require("@emotion/react"),d=require("react"),c=require("@mui/material/styles"),u=require("@mui/material/CssBaseline"),p=require("@mui/material/AppBar"),h=require("@mui/material/Toolbar"),m=require("@fortawesome/react-fontawesome"),f=require("@reduxjs/toolkit"),g=require("react-toastify"),T=require("axios"),y=require("i18next"),A=require("react-i18next"),I=require("react-hook-form"),_=require("react-router-dom"),E=require("@hookform/resolvers/zod"),O=require("zod"),C=require("@mui/material/List"),N=require("@mui/material/Card"),R=require("@mui/material/CardHeader"),b=require("@mui/material/ListItemText"),w=require("@mui/material/ListItemIcon"),S=require("@mui/material/Checkbox"),P=require("@mui/material/Button"),v=require("@mui/material/Divider"),L=require("@mui/x-date-pickers"),M=require("@mui/x-date-pickers/AdapterMoment"),x=require("moment"),D=require("@mui/material/CardActions"),k=require("@mui/material/CardContent"),U=require("@mui/material/CardMedia"),F=require("@mui/material/Typography"),B=require("@mui/lab"),q=require("@mui/x-tree-view/models"),j=require("@mui/x-charts"),G=require("@mui/material/LinearProgress"),W=require("@mui/material/Box"),H=require("@mui/x-charts/PieChart"),Y=require("@mui/material/IconButton"),K=require("@mui/material/Drawer"),V=require("@react-spring/web"),z=require("@mui/material/Collapse"),Q=require("@mui/x-tree-view/RichTreeView"),$=require("@mui/x-tree-view/TreeItem"),Z=require("@mui/x-tree-view/useTreeItem2"),J=require("@mui/x-tree-view/TreeItem2"),X=require("@mui/x-tree-view/TreeItem2Icon"),ee=require("@mui/x-tree-view/TreeItem2Provider"),te=require("@mui/x-tree-view/TreeItem2DragAndDropOverlay"),oe=require("stylis-plugin-rtl"),ie=require("stylis"),re=require("@emotion/cache"),ne=require("@emotion/styled"),ae=require("@mui/material/colors"),se=require("@mui/material/SwipeableDrawer"),le=require("@mui/x-license");function de(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(o){if("default"!==o){var i=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,i.get?i:{enumerable:!0,get:function(){return e[o]}})}}),t.default=e,Object.freeze(t)}var ce=de(d),ue=de(O);!function(e,t){void 0===t&&(t={});var o=t.insertAt;if("undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.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 pe=(e=768)=>{const[t,o]=d.useState(window.innerWidth<e);return d.useEffect(()=>{const t=()=>o(window.innerWidth<e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e]),t},he=350,me={themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},fe=f.createSlice({name:"AppLayout",initialState:me,reducers:{setThemeMode:(e,t)=>{e.themeMode=t.payload},setAppDirection:(e,t)=>{e.appDirection=t.payload}}}),ge=fe.actions;var Te=fe.reducer;const ye=f.createSlice({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,t)=>{e.value.isOpened=!0,e.value.message=t.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Ae,hideLoadingMask:Ie}=ye.actions;var _e=ye.reducer;const Ee=()=>{const e=o.useDispatch();return{show:t=>{e(Ae(t))},hide:()=>{e(Ie())}}},Oe=f.createSlice({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,t)=>{e.value=t.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),Ce=Oe.actions;var Ne=Oe.reducer;const Re=()=>{const e=Ee(),t=o.useDispatch(),i=o.useSelector(e=>e.AppInfo.value.apiBaseUrl),r=T.create({baseURL:i,timeout:6e5,withCredentials:!0});r.defaults.withCredentials=!0,r.interceptors.request.use(e=>{const t=localStorage.getItem("TOKEN");return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e)),r.interceptors.response.use(e=>e,e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))t(Ce.setUnAuthenticated()),localStorage.removeItem("TOKEN"),g.toast.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&402===e.response.status)))t(Ce.setUnAuthenticated()),g.toast.error("Your license is missing or has expired,Please reach out to your vendor for assistance.");else if(e&&(e.response&&(e.response.status&&403===e.response.status)))g.toast.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=>{g.toast.error(e)})}else g.toast.error(e.response.data);else g.toast.error("failed to communicate with the server ... try again later");return"ERROR"});return{handleGetRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const o=await r.get(t.endPointURI,{params:{...t.parameters},withCredentials:!0,headers:t.headers,responseType:t?.responseType});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},handlePostRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let o=await r.post(t.endPointURI,t.data,{params:t.parameters,responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},handleDeleteRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let o=await r.delete(t.endPointURI,{params:{...t.parameters},responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},HandleDownloadHTTPPostPDF:async(t={endPointURI:"",parameters:{},data:{}})=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const o=await r.post(t.endPointURI,t.data,{responseType:"blob"});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==o?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(o),o):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(o),"ERROR")},handleUploadRequest:async t=>{if(null===t.files||0===t.files.length)return g.toast.error("You must add files to upload"),"ERROR";const o=new FormData;for(const e of t.files)o.append("files",e);void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let i=await r.post(t.endPointURI,o,{params:t?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")}}},be=e=>{const[o,i]=d.useState(!1),{t:r}=A.useTranslation();return{ConfirmationWindow:()=>t.jsxs(s.Dialog,{open:o,children:[t.jsx(s.DialogTitle,{children:e.title}),t.jsx(s.DialogContent,{children:t.jsx(s.DialogContentText,{children:e.body})}),t.jsxs(s.DialogActions,{children:[t.jsx(s.Button,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"secondary",onClick:()=>{i(!1)},children:r("NO_LABEL")}),t.jsx(s.Button,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"error",onClick:()=>{e.onConfirmationCallBk(),i(!1)},autoFocus:!0,children:r("YES_LABEL")})]})]}),open:o,setOpen:i}},we=()=>{const e=o.useSelector(e=>e.UserSession),t=e.value;return{UserSession:e,isUserAuthorized:t=>{if(e?.value?.authorities)for(let o of e.value.authorities){if("DEVELOPMENT_ADMIN"===t&&("DEVELOPMENT_ADMIN"===o?.authority||"ORGANIZATION_ADMIN"===o?.authority))return!0;if("ORGANIZATION_ADMIN"===t&&"ORGANIZATION_ADMIN"===o?.authority)return!0;if("DEVELOPMENT_ADMIN"!==t&&"ORGANIZATION_ADMIN"!==t&&("ORGANIZATION_ADMIN"===o?.authority||"DEVELOPMENT_ADMIN"===o?.authority||"SYSTEM_ADMIN"===o?.authority||o?.authority===t))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(t?.currentOrganization?.systemApplicationModules)for(const o of t.currentOrganization.systemApplicationModules)if(o.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:t}},Se=e=>{const[i,r]=d.useState(!1),n=o.useSelector(e=>e.AppLayout.appDirection);return{windowState:i,setWindowState:r,Window:o=>t.jsx(s.Modal,{open:i,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!i&&e?.onCloseCallBack&&e.onCloseCallBack()},children:t.jsxs(s.Box,{dir:n,sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:e?.height||"80%",width:e?.width||"90%",minWidth:e.minWidth||400,minHeight:e.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[t.jsx(s.AppBar,{position:"static",children:t.jsxs(s.Toolbar,{variant:"dense",children:[t.jsx(m.FontAwesomeIcon,{icon:e?.windowIcon||"window-maximize",style:{marginRight:5}}),t.jsx(s.Typography,{variant:"h6",color:"inherit",component:"div",children:e?.windowTitle||"window"}),t.jsx("div",{style:{flexGrow:1}}),t.jsx(s.IconButton,{onClick:()=>{r(!1),null!=e.onCloseCallBack&&null!=e.onCloseCallBack&&e.onCloseCallBack()},color:"secondary",children:t.jsx(m.FontAwesomeIcon,{icon:"xmark-square",color:"white"})})]})}),t.jsx(s.Paper,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:o?.children})]})})}},Pe=f.createSlice({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,t)=>{e.stores=t.payload,e.storeKeys=Object.keys(t.payload)},setStoreData:(e,t)=>{e.stores[t.payload.storeKey].data=t.payload.data}}}),{setStoreData:ve,setStoresMetaData:Le}=Pe.actions;var Me=Pe.reducer;const xe=e=>{const t=o.useSelector(e=>e.commonStores.stores),i=o.useDispatch(),r=we(),{handleGetRequest:n,handlePostRequest:a,handleDeleteRequest:s}=Re();return{reloadData:async o=>{if(e?.commonStoreKey){const o=Object.keys(t);for(const a of o)if(a===e.commonStoreKey&&(void 0===t[a]?.authority||null===t[a]?.authority||r.isUserAuthorized(t[a]?.authority))&&""!=t[a]?.url){await n({endPointURI:t[a].url,showMask:!1,successCallBkFn:t=>{i(ve({storeKey:a,data:t.data})),e.setData(t.data)},failureCallBkFn:()=>{i(ve({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await n({endPointURI:e.findAll,showMask:!0,parameters:o||{},successCallBkFn:t=>{e.setData(t.data)}})},loadRecordById:async t=>{let o=null;if(e?.findById){const i={};i[e?.findByIdParamName||"id"]=t,await n({endPointURI:e.findById,showMask:!0,parameters:i,successCallBkFn:e=>{o=e.data}})}return o},saveRecord:async t=>{let o=null;return e?.save&&await a({endPointURI:e.save,data:t,showMask:!0,successCallBkFn:e=>{o=e.data}}),o},deleteRecordById:async t=>{let o=!0;if(e?.deleteById){const i={};i[e?.deleteByIdParamName||"id"]=t,await s({endPointURI:e.deleteById,showMask:!0,parameters:i,successCallBkFn:()=>{o=!0},failureCallBkFn:()=>{o=!1}})}return o}}},De=e=>{const{t:o}=A.useTranslation();return t.jsx(s.TextField,{...e,hidden:!0,slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:t.jsx(t.Fragment,{children:e?.label?o(e.label):""}),error:e?.error,helperText:e?.helperText?o(e.helperText):void 0})};function ke(e,t){return e.filter(e=>-1===t.indexOf(e))}function Ue(e,t){return e.filter(e=>-1!==t.indexOf(e))}const Fe=({valueField:e="id",displayField:o="name",options:i=[],selectedOptions:r=[],setSelection:n})=>{const[a,l]=ce.useState([]),[d,c]=ce.useState([]),[u,p]=ce.useState([]),[h,m]=ce.useState(""),[f,g]=ce.useState(""),T=Ue(a,d),y=Ue(a,u);ce.useEffect(()=>{i&&c([...i])},[i]),ce.useEffect(()=>{r&&p([...r])},[r]);const A=e=>()=>{const t=a.indexOf(e),o=[...a];-1===t?o.push(e):o.splice(t,1),l(o)},I=e=>Ue(a,e).length,_=e=>()=>{var t,o;I(e)===e.length?l(ke(a,e)):l((t=a,o=e,[...t,...ke(o,t)]))},E=(i,r,n)=>{const l=r.filter(e=>{if(e[o]){const t=e[o];if("left"===n&&t.toLocaleLowerCase().includes(h.toLocaleLowerCase()))return!0;if("right"===n&&t.toLocaleLowerCase().includes(f.toLocaleLowerCase()))return!0}return!1});return t.jsxs(N,{sx:{height:"100%"},children:[t.jsx(R,{sx:{px:2,py:1},avatar:t.jsx(S,{onClick:_(l),checked:I(l)===l.length&&0!==l.length,indeterminate:I(l)!==l.length&&0!==I(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:i,subheader:`${I(r)} / ${r.length} Selected`}),t.jsx(s.Box,{sx:{width:"100%",padding:1},children:t.jsx(De,{fullWidth:!0,label:"search",value:"left"===n?h:f,onChange:e=>{"left"===n?m(e.target.value):g(e.target.value)}})}),t.jsx(v,{}),t.jsx(C,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map(i=>(i[e],t.jsxs(s.ListItemButton,{role:"listitem",onClick:A(i),sx:{cursor:"pointer"},children:[t.jsx(w,{children:t.jsx(S,{checked:-1!==a.indexOf(i),tabIndex:-1,disableRipple:!0})}),t.jsx(b,{id:i[e],primary:i[o]})]},i[e])))})]})};return t.jsxs(s.Grid2,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[t.jsx(s.Grid2,{sx:{height:"100%",flex:1},children:E("Available Items",d,"left")}),t.jsx(s.Grid2,{children:t.jsxs(s.Grid2,{container:!0,direction:"column",alignItems:"center",children:[t.jsx(P,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(e=>{let t=u.concat(T);return n(t),t}),c(ke(d,T)),l(ke(a,T))},disabled:0===T.length,"aria-label":"move selected right",children:">"}),t.jsx(P,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{c(d.concat(y)),p(e=>{let t=ke(u,y);return n(t),t}),l(ke(a,y))},disabled:0===y.length,"aria-label":"move selected left",children:"<"})]})}),t.jsx(s.Grid2,{sx:{height:"100%",flex:1},children:E("Currently Selected",u,"right")})]})},Be=e=>{const{t:o}=A.useTranslation();return t.jsx(s.FormControlLabel,{sx:e.sx,hidden:e?.hidden||!1,disabled:e.disabled||!1,required:e.required||!1,control:t.jsx(s.Checkbox,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:t=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(t.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:o(e.label)})},qe=e=>{const i=o.useSelector(e=>e.AppLayout),[r,n]=d.useState(e?.options||[]),a=o.useSelector(t=>t?.commonStores?.stores[e?.commonStoreKey]?.data),{handleGetRequest:l}=Re();d.useEffect(()=>{e?.commonStoreKey?n(a):(async()=>{e?.storeUrl?await l({endPointURI:e.storeUrl,showMask:!1,parameters:e?.storeLoadParam,successCallBkFn:e=>{n(e.data)},failureCallBkFn:()=>{n([])}}):e?.dataQueryId?await l({endPointURI:"api/v1/dev/query/result",showMask:!1,parameters:{queryId:e.dataQueryId,...e?.storeLoadParam},successCallBkFn:e=>{n(e.data)},failureCallBkFn:()=>{n([])}}):e?.options&&n(e.options)})()},[e?.storeUrl,e?.storeLoadParam,e?.dataQueryId,e?.commonStoreKey,e?.options,a]);const{t:c}=A.useTranslation();return t.jsx(s.Autocomplete,{sx:e.sx,value:(t=>{for(let o of r)if(o[e.valueField]==t)return o;return null})(e.value),options:r,disabled:e.disabled,hidden:e?.hidden||!1,onChange:(t,o)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=o){let t=o[e.valueField];e.onChangeCallBack(t,o)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:t=>null!=t?c(t[e.displayField]):"",renderOption:(o,i)=>t.jsx("li",{...o,children:null!=i?c(i[e.displayField]):""}),slots:{popper:e=>t.jsx(s.Popper,{...e,style:{...e.style,direction:i.appDirection}})},groupBy:e?.groupField?t=>t[e.groupField]?t[e.groupField]:"":void 0,renderInput:o=>t.jsx(s.TextField,{...o,required:e.required||!1,variant:"outlined",slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:c(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?c(e.errorMessage):""})})},je="YYYY-MM-DD",Ge="YYYY-MM-DD HH:mm:ss",We="#37505C",He="#ff6d00",Ye="#ea690e",Ke="#74776B",Ve=e=>{const{t:o}=A.useTranslation();return e?.hidden?t.jsx(t.Fragment,{}):t.jsx(L.LocalizationProvider,{dateAdapter:M.AdapterMoment,children:t.jsx(L.DatePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?x(e.value,e?.format||je):null,sx:{...e.sx,display:e?.hidden?"none":void 0},label:o(e.label),format:e?.format||je,disabled:e.disabled,onChange:t=>{let o=null;null!=t&&t.isValid()&&(o=t.format(e?.format||je)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(o)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?t.jsx(t.Fragment,{children:o(e.errorMessage)}):t.jsx(t.Fragment,{})}}})})},ze=e=>{const{t:o}=A.useTranslation();return e?.hidden?t.jsx(t.Fragment,{}):t.jsx(L.LocalizationProvider,{dateAdapter:M.AdapterMoment,children:t.jsx(L.DateTimePicker,{value:null!=e.value&&void 0!==e.value&&""!==e.value?x(e.value,e?.format||Ge):null,label:o(e.label),sx:{...e.sx,display:e?.hidden?"none":void 0},format:e?.format||Ge,disabled:e.disabled,onChange:t=>{let o=null;null!=t&&t.isValid()&&(o=t.format(e?.format||Ge)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(o)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?t.jsx(t.Fragment,{children:o(e.errorMessage)}):t.jsx(t.Fragment,{})}}})})},Qe=e=>{const i=o.useSelector(e=>e.AppLayout),r=we(),[n,a]=d.useState([]),{handleGetRequest:s}=Re();return d.useEffect(()=>{e.lookupType&&(async()=>{await s({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{a(e.data)},failureCallBkFn:()=>{a([])}})})()},[e.lookupType,r.UserSession]),t.jsx(qe,{...e,options:n,displayField:"ltr"===i.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},$e=e=>({...e,type:"string",renderEditCell:e=>t.jsx(Ve,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,o)=>{let i=null;return null!==e&&(i=x(e).format(je)),i},valueFormatter:(e,t,o)=>t[o.field]}),Ze=e=>({...e,type:"string",renderEditCell:e=>t.jsx(ze,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,o)=>{let i=null;return null!==e&&(i=x(e).format(Ge)),i},valueFormatter:(e,t,o)=>t[o.field]}),Je=e=>({...e,type:"custom",valueGetter:e=>e||e,renderCell:e=>{let o=null;try{o=e.colDef.options.find(t=>t[e.colDef.valueField]==e.value)}catch(e){}return t.jsx("div",{children:null!=o?o[e.colDef.displayField]:e.value})},commonStoreKey:e?.commonStoreKey,dataQueryId:e?.dataQueryId,storeUrl:e?.storeUrl,storeLoadParam:e?.storeLoadParam,renderEditCell:e=>t.jsx(qe,{...e,sx:{width:"100%"},options:e?.colDef?.options,valueField:e?.colDef?.valueField,displayField:e?.colDef?.displayField,groupField:e?.colDef?.comboboxGroupField,onChangeCallBack:(t,o)=>{null===t&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:t})}})}),Xe=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:o=>{const i=o?.value;return i===e.checkedValue||"true"===i||1===i||!0===i?t.jsx(m.FontAwesomeIcon,{icon:"check",color:"green"}):t.jsx(m.FontAwesomeIcon,{icon:"xmark",color:"red"})},renderEditCell:o=>t.jsx(Be,{...o,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{o.api.setEditCellValue({id:o.id,field:o.field,value:e})}})}),et=e=>{const t=[];if("field"===e.type&&"props"===e.mode&&e?.props)t.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const o of e.props.elements)t.push(...et(o));return t},tt=e=>{const t=[];for(const o of e)t.push(...et(o));return t},ot=(e,t,o)=>{const i=[];for(const r of e)if("text"===r?.fieldType||"number"===r?.fieldType){const e={...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,type:"number"==r?.fieldType?"number":"string",field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200};i.push(e)}else if("date"===r?.fieldType){const e=$e({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else if("datetime"===r?.fieldType){const e=Ze({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else if("checkbox"===r?.fieldType){const e=Xe({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,checkedValue:r?.checkedValue,unCheckedValue:r?.unCheckedValue,width:150});i.push(e)}else if("combobox"===r?.fieldType){const e=Je({...r?.gridProps?.muiProps,comboboxGroupField:r?.comboboxGroupField,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options,commonStoreKey:r?.commonStoreKey,dataQueryId:r?.dataQueryId,storeUrl:r?.storeUrl,storeLoadParam:r?.storeLoadParam,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else if("lookup"===r?.fieldType){const e=Je({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,lookupType:r?.lookupType,field:r?.fieldName,headerName:o(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",commonStoreKey:r?.commonStoreKey,dataQueryId:r?.dataQueryId,storeUrl:r?.storeUrl,storeLoadParam:r?.storeLoadParam,hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options||[],flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});i.push(e)}else{const e={field:r.fieldName,...r?.gridProps?.muiProps};i.push(e)}return i},it=e=>{const t={};for(const o of e)if(o?.fieldName){const e=o.fieldName;"number"===o.fieldType?t[e]=!0===o?.required?ue.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ue.number().optional().nullable():"checkbox"===o.fieldType?t[e]=!0===o?.required?ue.boolean({required_error:"This field is required"}):ue.boolean().optional().nullable():"combobox"===o.fieldType?o?.comboboxValueDataType?"number"===o?.comboboxValueDataType?t[e]=!0===o?.required?ue.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ue.number().optional().nullable():"string"===o?.comboboxValueDataType&&(t[e]=!0===o?.required?ue.string({message:"This field is required"}).min(1,"This field is required"):ue.string().optional().nullable()):t[e]=!0===o?.required?ue.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ue.number().optional().nullable():t[e]=!0===o?.required?ue.string({message:"This field is required"}).min(1,"This field is required"):ue.string().optional().nullable()}return t},rt=(e,t,o)=>{const i=[],r=[];if("exclude"===e.type&&0===e.ids.size)for(const e of t)i.push(e),r.push(e[o]);else if(e?.ids)for(const n of e.ids){const e=t.find(e=>e[o]===n);i.push(e),r.push(n)}return{selectedRecords:i,selectedRecordIds:r}};function nt(e,...t){const o=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(e=>o.searchParams.append("args[]",e)),`Minified MUI error #${e}; visit ${o} for the full message.`}function at(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var st,lt={exports:{}},dt={exports:{}},ct={};var ut,pt,ht,mt,ft,gt,Tt,yt,At,It,_t,Et,Ot,Ct,Nt,Rt={};
2
2
  /** @license React v16.13.1
3
3
  * react-is.development.js
4
4
  *