@asaleh37/ui-base 1.2.29 → 25.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish-npm.yml +49 -0
- package/README.md +51 -51
- package/__ODockerfile +14 -0
- package/dist/index.d.ts +101 -10
- package/dist/index.js +135 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +135 -7
- package/dist/index.mjs.map +1 -1
- package/eslint.config.js +29 -29
- package/index.html +20 -13
- package/package-lock.json/342/200/216 +9040 -0
- package/package.json +122 -119
- package/public/bg.jpg +0 -0
- package/public/ezzsteel.png +0 -0
- package/public/logo.png +0 -0
- package/public/manifest.json +21 -0
- package/public/no_user.png +0 -0
- package/rollup.config-1748377725725.cjs +34 -34
- package/rollup.config.js +45 -45
- package/src/components/App.tsx +155 -123
- package/src/components/BaseApp.tsx +75 -53
- package/src/components/ExampleTrial.tsx +24 -0
- package/src/components/administration/admin/ChangePasswordPanel.tsx +128 -0
- package/src/components/administration/admin/CustomPersonGrid.tsx +361 -0
- package/src/components/administration/admin/OrgMemberRoleForm.tsx +83 -83
- package/src/components/administration/admin/OrgProvidedPersonGrid.tsx +347 -0
- package/src/components/administration/admin/OrganizationApplicationModuleGrid.tsx +107 -107
- package/src/components/administration/admin/OrganizationGrid.tsx +118 -82
- package/src/components/administration/admin/OrganizationMemberGrid.tsx +190 -176
- package/src/components/administration/admin/OrganizationMemberRoleGrid.tsx +87 -87
- package/src/components/administration/admin/OrganizationRankGrid.tsx +133 -133
- package/src/components/administration/admin/OrganizationUnitGrid.tsx +143 -143
- package/src/components/administration/admin/OrganizationUnitTypeGrid.tsx +108 -108
- package/src/components/administration/admin/PersonGrid.tsx +27 -231
- package/src/components/administration/admin/RoleAuthoritiesForm.tsx +82 -82
- package/src/components/administration/admin/SystemApplicationAuthorityGrid.tsx +117 -126
- package/src/components/administration/admin/SystemApplicationGrid.tsx +83 -83
- package/src/components/administration/admin/SystemApplicationModuleGrid.tsx +96 -96
- package/src/components/administration/admin/SystemApplicationRoleAuthorityGrid.tsx +75 -67
- package/src/components/administration/admin/SystemApplicationRoleGrid.tsx +116 -116
- package/src/components/administration/dev/AttachmentConfigGrid.tsx +224 -213
- package/src/components/administration/dev/AttachmentGrid.tsx +172 -172
- package/src/components/administration/dev/BluePrintGrid.tsx +129 -129
- package/src/components/administration/dev/DashboardGrid.tsx +173 -173
- package/src/components/administration/dev/DashboardWidgetGrid.tsx +164 -164
- package/src/components/administration/dev/DataQueryGrid.tsx +216 -206
- package/src/components/administration/dev/DataQueryParameterGrid.tsx +191 -191
- package/src/components/administration/dev/DataQueryParametersForm.tsx +84 -84
- package/src/components/administration/dev/DatasourceConnectionGrid.tsx +151 -150
- package/src/components/administration/dev/EntityParameterGrid.tsx +307 -279
- package/src/components/administration/dev/LookupGrid.tsx +120 -120
- package/src/components/administration/dev/MailAttachmentGrid.tsx +155 -155
- package/src/components/administration/dev/MailBodyGrid.tsx +216 -216
- package/src/components/administration/dev/MailNotificationQueueGrid.tsx +245 -245
- package/src/components/administration/dev/MailRecipientGrid.tsx +170 -169
- package/src/components/administration/dev/MailSenderConfigGrid.tsx +480 -478
- package/src/components/administration/dev/MailTemplateGrid.tsx +385 -384
- package/src/components/administration/dev/NotificationGrid.tsx +435 -432
- package/src/components/administration/dev/NotificationQueueGrid.tsx +222 -222
- package/src/components/administration/dev/ReportGrid.tsx +503 -504
- package/src/components/administration/dev/ReportParameterGrid.tsx +186 -186
- package/src/components/administration/dev/ReportParametersForm.tsx +84 -84
- package/src/components/administration/dev/WidgetGrid.tsx +380 -431
- package/src/components/administration/dev/WorkflowDocumentActionGrid.tsx +264 -264
- package/src/components/administration/dev/WorkflowDocumentActionHistoryGrid.tsx +172 -172
- package/src/components/administration/dev/WorkflowDocumentActionMailGrid.tsx +161 -161
- package/src/components/administration/dev/WorkflowDocumentGrid.tsx +357 -377
- package/src/components/administration/dev/WorkflowDocumentMailLogGrid.tsx +218 -218
- package/src/components/administration/dev/WorkflowDocumentStatusGrid.tsx +243 -243
- package/src/components/common/AzureLogin.tsx +222 -0
- package/src/components/common/ChangeOrgForm.tsx +85 -81
- package/src/components/common/Home.tsx +43 -44
- package/src/components/common/LanguageSwitcher.tsx +25 -25
- package/src/components/common/LayoutHandlers.tsx +11 -11
- package/src/components/common/LoadingMask.tsx +24 -24
- package/src/components/common/Login.tsx +268 -214
- package/src/components/common/MobileLogin.tsx +229 -0
- package/src/components/common/MyNotificationsPanel.tsx +109 -104
- package/src/components/common/NoLicenseComponent.tsx +79 -0
- package/src/components/common/NotificationItem.tsx +138 -138
- package/src/components/index.ts +10 -9
- package/src/components/msalConfig.ts +11 -0
- package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +361 -324
- package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +297 -248
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormAction.tsx +60 -60
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +238 -231
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementGroup.tsx +108 -106
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/CheckBox.tsx +66 -64
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/ComboBox.tsx +164 -93
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/Datefield.tsx +70 -65
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/DatetimeField.tsx +71 -64
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/FiltersPanel.tsx +237 -237
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/SystemLookupCombobox.tsx +56 -55
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/TemplateTextField.tsx +20 -17
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +431 -388
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +197 -189
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +1044 -998
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridMultiRecordAction.tsx +89 -89
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridRecordAction.tsx +95 -95
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridTopBar.tsx +234 -227
- package/src/components/templates/TransferList.tsx +256 -257
- package/src/components/templates/Window/ConfirmationWindow.tsx +55 -55
- package/src/components/templates/attachment/AttachmentCard.tsx +141 -141
- package/src/components/templates/attachment/AttachmentImageViewer.tsx +85 -45
- package/src/components/templates/attachment/AttachmentPanel.tsx +285 -271
- package/src/components/templates/index.ts +35 -33
- package/src/components/templates/report/ExcelReportViewer.tsx +71 -72
- package/src/components/templates/report/ReportViewer.tsx +272 -383
- package/src/components/templates/visuals/DashboardRouteView.tsx +9 -9
- package/src/components/templates/visuals/DashboardViewer.tsx +192 -148
- package/src/components/templates/visuals/WidgetViewer.tsx +208 -198
- package/src/components/templates/visuals/charts/TemplateBarChart.tsx +23 -23
- package/src/components/templates/visuals/charts/TemplateDataCard.tsx +35 -35
- package/src/components/templates/visuals/charts/TemplateGauge.tsx +21 -21
- package/src/components/templates/visuals/charts/TemplateLineChart.tsx +22 -22
- package/src/components/templates/visuals/charts/TemplateLineProgress.tsx +42 -42
- package/src/components/templates/visuals/charts/TemplatePieChart.tsx +24 -24
- package/src/components/templates/workflow/WorkflowDocumentPanel.tsx +611 -606
- package/src/components/templates/workflow/WorkflowDocumentTimeLine.tsx +145 -140
- package/src/components/templates/workflow/WorkflowRouteComponent.tsx +14 -14
- package/src/examples/ExampleGrid.tsx +134 -0
- package/src/hooks/UseConfirmationWindow.tsx +56 -54
- package/src/hooks/UseMobile.tsx +13 -13
- package/src/hooks/UseSession.tsx +59 -40
- package/src/hooks/UseWindow.tsx +111 -107
- package/src/hooks/index.ts +22 -7
- package/src/hooks/useApiActions.ts +124 -124
- package/src/hooks/useAxios.tsx +340 -316
- package/src/hooks/useCommonStore.tsx +29 -0
- package/src/hooks/useInterval.tsx +23 -23
- package/src/hooks/useLoadingMask.tsx +16 -16
- package/src/hooks/useLookupGridColumn.tsx +35 -35
- package/src/hooks/useParameterPanel.tsx +159 -0
- package/src/index.ts +4 -4
- package/src/layout/DrawerHeader.tsx +10 -10
- package/src/layout/Layout.tsx +102 -90
- package/src/layout/MainContent.tsx +115 -114
- package/src/layout/MobileDrawer.tsx +103 -103
- package/src/layout/NavigationTree.tsx +309 -291
- package/src/layout/NotificationButton.tsx +207 -207
- package/src/layout/RouteWrapper.tsx +63 -36
- package/src/layout/SideBar.tsx +85 -85
- package/src/layout/TopBar.tsx +317 -217
- package/src/locales/arabic/adminLocalsAr.json +94 -93
- package/src/locales/arabic/common.json +44 -44
- package/src/locales/arabic/devLocalsAr.json +317 -317
- package/src/locales/arabic/index.ts +9 -9
- package/src/locales/english/adminLocalsEn.json +97 -96
- package/src/locales/english/common.json +43 -43
- package/src/locales/english/devLocalsEn.json +318 -318
- package/src/locales/english/index.ts +9 -9
- package/src/locales/i18n.ts +8 -8
- package/src/locales/index.ts +9 -9
- package/src/main.tsx +41 -23
- package/src/navigationItems/Administration/adminNavigationItems.tsx +231 -222
- package/src/navigationItems/Administration/index.tsx +16 -16
- package/src/navigationItems/common/CommonNavigationItems.tsx +12 -12
- package/src/navigationItems/common/index.tsx +7 -7
- package/src/navigationItems/index.tsx +35 -34
- package/src/redux/features/administration/AdministrationStoresMetaData.ts +164 -126
- package/src/redux/features/common/AppInfoSlice.ts +93 -63
- package/src/redux/features/common/AppLayoutSlice.ts +29 -29
- package/src/redux/features/common/CommonStoreSlice.ts +44 -44
- package/src/redux/features/common/LoadingMaskSlice.ts +30 -30
- package/src/redux/features/common/SideBarSlice.ts +27 -27
- package/src/redux/features/common/UserSessionSlice.ts +54 -54
- package/src/redux/store.ts +29 -29
- package/src/routes/administration/adminRoutes.tsx +99 -99
- package/src/routes/administration/devRoutes.tsx +129 -129
- package/src/routes/administration/index.ts +8 -8
- package/src/routes/index.ts +5 -11
- package/src/routes/types/index.ts +6 -5
- package/src/styles/index.css +19 -19
- package/src/types/index.ts +8 -2
- package/src/util/AppUtils.ts +73 -53
- package/src/util/constants.ts +6 -6
- package/src/util/index.ts +5 -2
- package/tsconfig.json +135 -135
- package/vite.config.ts +24 -23
|
@@ -0,0 +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 }}
|
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
ADDED
|
@@ -0,0 +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
|
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
|
+
import { GridColDef, GridRowSelectionModel, DataGridPremiumProps, GridToolbarProps, ToolbarPropsOverrides } from '@mui/x-data-grid-premium';
|
|
2
|
+
export { DataGridPremium } from '@mui/x-data-grid-premium';
|
|
1
3
|
import { Reducer } from '@reduxjs/toolkit';
|
|
2
4
|
import { IconProp } from '@fortawesome/fontawesome-svg-core';
|
|
3
5
|
import { TextFieldProps, SxProps } from '@mui/material';
|
|
4
6
|
export * from '@mui/material';
|
|
5
|
-
export * from 'zod';
|
|
6
7
|
export * from '@mui/lab';
|
|
7
8
|
export { toast } from 'react-toastify';
|
|
8
9
|
export { FontAwesomeIcon, FontAwesomeIconProps } from '@fortawesome/react-fontawesome';
|
|
9
10
|
import * as react from 'react';
|
|
10
11
|
import react__default from 'react';
|
|
11
|
-
import { GridColDef, GridRowSelectionModel, DataGridPremiumProps, GridToolbarProps, ToolbarPropsOverrides } from '@mui/x-data-grid-premium';
|
|
12
12
|
import { UseFormReturn } from 'react-hook-form';
|
|
13
|
+
export { useForm } from 'react-hook-form';
|
|
14
|
+
import { z } from 'zod';
|
|
15
|
+
import * as zod from 'zod';
|
|
16
|
+
export { zod as z };
|
|
13
17
|
import { TFunction } from 'i18next';
|
|
14
18
|
export * from '@mui/x-tree-view/models';
|
|
19
|
+
export { useTranslation } from 'react-i18next';
|
|
20
|
+
export { useNavigate, useParams } from 'react-router-dom';
|
|
21
|
+
export { zodResolver } from '@hookform/resolvers/zod';
|
|
22
|
+
export { useDispatch, useSelector } from 'react-redux';
|
|
15
23
|
import { ResponseType } from 'axios';
|
|
24
|
+
export { default as axios } from 'axios';
|
|
16
25
|
|
|
17
26
|
interface SystemRoute {
|
|
18
27
|
path: string;
|
|
19
28
|
component: React.FC;
|
|
29
|
+
applicationModule?: string;
|
|
20
30
|
authority?: string;
|
|
21
31
|
}
|
|
22
32
|
|
|
@@ -26,6 +36,7 @@ type ExtendedTreeItemProps = {
|
|
|
26
36
|
label: string;
|
|
27
37
|
action?: "NAVIGATION";
|
|
28
38
|
authority?: string;
|
|
39
|
+
applicationModule?: string;
|
|
29
40
|
actionPayload?: {
|
|
30
41
|
path?: string;
|
|
31
42
|
parameters?: object;
|
|
@@ -33,12 +44,21 @@ type ExtendedTreeItemProps = {
|
|
|
33
44
|
children?: ExtendedTreeItemProps[];
|
|
34
45
|
};
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
type CommonStores = {
|
|
48
|
+
[key: string]: StoreMetaData;
|
|
49
|
+
};
|
|
50
|
+
type CommonStoresInterface = {
|
|
51
|
+
stores: {
|
|
52
|
+
[key: string]: StoreMetaData;
|
|
53
|
+
};
|
|
54
|
+
storeKeys: Array<String>;
|
|
55
|
+
};
|
|
56
|
+
type StoreMetaData = {
|
|
37
57
|
url: string;
|
|
38
58
|
data: Array<any>;
|
|
39
59
|
autoLoad: boolean;
|
|
40
60
|
authority?: string;
|
|
41
|
-
}
|
|
61
|
+
};
|
|
42
62
|
|
|
43
63
|
type AppInfo = {
|
|
44
64
|
documentTitle: string | null;
|
|
@@ -46,6 +66,8 @@ type AppInfo = {
|
|
|
46
66
|
appName: string | null;
|
|
47
67
|
appVersion: string | null;
|
|
48
68
|
appLogo: any | null;
|
|
69
|
+
isUserProfileManaged?: boolean;
|
|
70
|
+
isLocalizationEnabled?: boolean;
|
|
49
71
|
businessLocals?: {
|
|
50
72
|
ar: {
|
|
51
73
|
[key: string]: string;
|
|
@@ -54,6 +76,20 @@ type AppInfo = {
|
|
|
54
76
|
[key: string]: string;
|
|
55
77
|
};
|
|
56
78
|
};
|
|
79
|
+
appThemeMode: "dark" | "light";
|
|
80
|
+
allowThemeChange?: boolean;
|
|
81
|
+
loginScreenStyle?: {
|
|
82
|
+
themeMode: "dark" | "light";
|
|
83
|
+
backgroundImageNameInPublicFolder?: string;
|
|
84
|
+
backgroundColor?: string;
|
|
85
|
+
};
|
|
86
|
+
authenticationMethod: "AZURE" | "APP";
|
|
87
|
+
azureConfiguration?: {
|
|
88
|
+
frontEndClientId: string;
|
|
89
|
+
tenantId: string;
|
|
90
|
+
redirectURL: string;
|
|
91
|
+
scopes: Array<string>;
|
|
92
|
+
};
|
|
57
93
|
businessRoutes?: Array<SystemRoute>;
|
|
58
94
|
businessNavigationItems?: Array<ExtendedTreeItemProps>;
|
|
59
95
|
businessReduxReducers?: {
|
|
@@ -64,6 +100,7 @@ type AppInfo = {
|
|
|
64
100
|
};
|
|
65
101
|
muiPremiumKey: string;
|
|
66
102
|
enableAdministrationModule: boolean;
|
|
103
|
+
enableUINotifications: Boolean;
|
|
67
104
|
appTheme?: {
|
|
68
105
|
light: {
|
|
69
106
|
primaryColor: string;
|
|
@@ -74,6 +111,10 @@ type AppInfo = {
|
|
|
74
111
|
secondaryColor: string;
|
|
75
112
|
};
|
|
76
113
|
};
|
|
114
|
+
checkLicense?: {
|
|
115
|
+
endpoint: string;
|
|
116
|
+
interval: number;
|
|
117
|
+
};
|
|
77
118
|
};
|
|
78
119
|
|
|
79
120
|
declare const BaseApp: React.FC<AppInfo>;
|
|
@@ -91,6 +132,7 @@ interface CheckBoxProps {
|
|
|
91
132
|
value: any;
|
|
92
133
|
disabled?: boolean;
|
|
93
134
|
required?: boolean;
|
|
135
|
+
hidden?: boolean;
|
|
94
136
|
label: string;
|
|
95
137
|
checkedValue?: any;
|
|
96
138
|
unCheckedValue?: any;
|
|
@@ -105,8 +147,14 @@ interface ComboBoxProps {
|
|
|
105
147
|
label: string;
|
|
106
148
|
disabled?: boolean;
|
|
107
149
|
required?: boolean;
|
|
108
|
-
|
|
150
|
+
groupField?: string;
|
|
151
|
+
commonStoreKey?: string;
|
|
152
|
+
dataQueryId?: number;
|
|
153
|
+
storeUrl?: string;
|
|
154
|
+
storeLoadParam?: any;
|
|
155
|
+
options?: Array<any>;
|
|
109
156
|
errorMessage?: any;
|
|
157
|
+
hidden?: boolean;
|
|
110
158
|
displayField: string;
|
|
111
159
|
valueField: string;
|
|
112
160
|
sx?: any;
|
|
@@ -118,6 +166,7 @@ interface DatefieldProps {
|
|
|
118
166
|
label: string;
|
|
119
167
|
disabled?: boolean;
|
|
120
168
|
required?: boolean;
|
|
169
|
+
hidden?: boolean;
|
|
121
170
|
sx?: any;
|
|
122
171
|
format?: string;
|
|
123
172
|
errorMessage?: any;
|
|
@@ -131,6 +180,7 @@ interface DatetimeFieldProps {
|
|
|
131
180
|
label: string;
|
|
132
181
|
disabled?: boolean;
|
|
133
182
|
required?: boolean;
|
|
183
|
+
hidden?: boolean;
|
|
134
184
|
format?: string;
|
|
135
185
|
sx?: any;
|
|
136
186
|
errorMessage?: any;
|
|
@@ -148,6 +198,7 @@ type SystemLookupListProps = {
|
|
|
148
198
|
label: string;
|
|
149
199
|
disabled?: boolean;
|
|
150
200
|
required?: boolean;
|
|
201
|
+
hidden?: boolean;
|
|
151
202
|
errorMessage?: any;
|
|
152
203
|
sx?: any;
|
|
153
204
|
};
|
|
@@ -176,6 +227,7 @@ type RecordAction = {
|
|
|
176
227
|
label?: string;
|
|
177
228
|
icon: IconProp;
|
|
178
229
|
isConfirmationRequired?: boolean;
|
|
230
|
+
isIdRequired?: Boolean;
|
|
179
231
|
confirmationMessage?: string;
|
|
180
232
|
authority?: string;
|
|
181
233
|
getActionIconStyleForRecord?: (record: any) => object;
|
|
@@ -231,6 +283,11 @@ type TemplateGridColDef = GridColDef & {
|
|
|
231
283
|
options?: Array<object>;
|
|
232
284
|
displayField?: string;
|
|
233
285
|
valueField?: string;
|
|
286
|
+
commonStoreKey?: string;
|
|
287
|
+
dataQueryId?: number;
|
|
288
|
+
storeUrl?: string;
|
|
289
|
+
storeLoadParam?: any;
|
|
290
|
+
comboboxGroupField?: string;
|
|
234
291
|
};
|
|
235
292
|
type TemplateGridAttachmentProps = {
|
|
236
293
|
attachmentCode: string;
|
|
@@ -261,13 +318,21 @@ type TemplateGridProps = {
|
|
|
261
318
|
enableExport?: boolean;
|
|
262
319
|
enableDensitySelector?: boolean;
|
|
263
320
|
hideInfoBar?: boolean;
|
|
321
|
+
hideCreateBtn?: boolean;
|
|
264
322
|
hideBackButton?: boolean;
|
|
265
323
|
apiActions: ApiActions;
|
|
266
324
|
rowSelectionModel?: GridRowSelectionModel;
|
|
267
325
|
setRowSelectionModel?: any;
|
|
268
326
|
setSelectedRecord?: any;
|
|
269
327
|
setSelectedRecordIds?: any;
|
|
270
|
-
|
|
328
|
+
formProps?: {
|
|
329
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
330
|
+
};
|
|
331
|
+
validationSchema?: z.ZodObject<any, "strip", z.ZodTypeAny, {
|
|
332
|
+
[x: string]: any;
|
|
333
|
+
}, {
|
|
334
|
+
[x: string]: any;
|
|
335
|
+
}>;
|
|
271
336
|
editMode: {
|
|
272
337
|
editMode: "none";
|
|
273
338
|
} | {
|
|
@@ -306,6 +371,12 @@ type RecordFieldProps = {
|
|
|
306
371
|
fieldLabel: string;
|
|
307
372
|
fieldType: "text" | "number" | "date" | "datetime" | "combobox" | "checkbox" | "html" | "lookup" | "custom";
|
|
308
373
|
lookupType?: string;
|
|
374
|
+
comboboxValueDataType?: "number" | "string";
|
|
375
|
+
comboboxGroupField?: string;
|
|
376
|
+
commonStoreKey?: string;
|
|
377
|
+
dataQueryId?: number;
|
|
378
|
+
storeUrl?: string;
|
|
379
|
+
storeLoadParam?: any;
|
|
309
380
|
required?: boolean;
|
|
310
381
|
disabled?: boolean;
|
|
311
382
|
hidden?: boolean;
|
|
@@ -320,9 +391,9 @@ type RecordFieldProps = {
|
|
|
320
391
|
gridProps?: TemplateGridColumnProps;
|
|
321
392
|
formProps?: {
|
|
322
393
|
fieldSize?: FormElementSize;
|
|
394
|
+
fieldLabelFn?: (record: any) => string;
|
|
323
395
|
fieldHeight?: number;
|
|
324
396
|
style?: SxProps;
|
|
325
|
-
onValueChangeCallBack?: (value: any, formManager: UseFormReturn, formActions?: FormActionProps, selectedRecord?: any) => void;
|
|
326
397
|
};
|
|
327
398
|
};
|
|
328
399
|
type FormElementGroupProps = {
|
|
@@ -336,7 +407,9 @@ type FormElementGroupProps = {
|
|
|
336
407
|
formActions?: any;
|
|
337
408
|
hiddenFields?: string[];
|
|
338
409
|
disabledFields?: string[];
|
|
410
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
339
411
|
};
|
|
412
|
+
type FormValueChangeCallBk = (formValues: any, formActions: FormActionProps, formManager: UseFormReturn, fieldName?: string, newValue?: any, selectedRecord?: any) => void;
|
|
340
413
|
type FormElementFieldProps = {
|
|
341
414
|
fieldInfo: RecordFieldProps;
|
|
342
415
|
formManager?: UseFormReturn;
|
|
@@ -344,6 +417,7 @@ type FormElementFieldProps = {
|
|
|
344
417
|
formActions?: any;
|
|
345
418
|
hiddenFields?: string[];
|
|
346
419
|
disabledFields?: string[];
|
|
420
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
347
421
|
};
|
|
348
422
|
type FormElementNodeProps = {
|
|
349
423
|
formManager?: UseFormReturn;
|
|
@@ -383,7 +457,7 @@ type TemplateFormProps = {
|
|
|
383
457
|
apiActions: ApiActions;
|
|
384
458
|
preSaveValidation?: (record: any) => boolean | Promise<boolean>;
|
|
385
459
|
formSavedSuccessfullyCallBk?: (response: any) => void;
|
|
386
|
-
|
|
460
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
387
461
|
formCloseCallBk?: () => void;
|
|
388
462
|
saveButtonSpecs?: {
|
|
389
463
|
label?: string;
|
|
@@ -399,6 +473,11 @@ type TemplateFormProps = {
|
|
|
399
473
|
actionButtonVariant?: "text" | "outlined" | "contained";
|
|
400
474
|
actionButtonColor?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
|
|
401
475
|
};
|
|
476
|
+
validationSchema?: z.ZodObject<any, "strip", z.ZodTypeAny, {
|
|
477
|
+
[x: string]: any;
|
|
478
|
+
}, {
|
|
479
|
+
[x: string]: any;
|
|
480
|
+
}>;
|
|
402
481
|
};
|
|
403
482
|
type TemplateGridTopBarProps = GridToolbarProps & ToolbarPropsOverrides & {
|
|
404
483
|
templateProps: TemplateGridProps;
|
|
@@ -442,6 +521,7 @@ type AttachmentImageViewerProps = {
|
|
|
442
521
|
refKey?: string;
|
|
443
522
|
category?: string;
|
|
444
523
|
showAsAvatar?: boolean;
|
|
524
|
+
onErrorImage?: string;
|
|
445
525
|
style?: SxProps;
|
|
446
526
|
};
|
|
447
527
|
declare const AttachmentImageViewer: React.FC<AttachmentImageViewerProps>;
|
|
@@ -539,6 +619,8 @@ declare const TemplatePieChart: React.FC<WidgetProps>;
|
|
|
539
619
|
|
|
540
620
|
declare const DashboardRouteView: React.FC;
|
|
541
621
|
|
|
622
|
+
declare const FormElementField: React.FC<FormElementFieldProps>;
|
|
623
|
+
|
|
542
624
|
interface APIRequest {
|
|
543
625
|
endPointURI: string;
|
|
544
626
|
parameters?: any;
|
|
@@ -588,6 +670,7 @@ declare const useIsMobile: (breakpoint?: number) => boolean;
|
|
|
588
670
|
declare const useSession: () => {
|
|
589
671
|
UserSession: any;
|
|
590
672
|
isUserAuthorized: (authorityCode: string) => boolean;
|
|
673
|
+
isCurrentOrganizationAuthorizedToModule: (moduleCode: string) => Boolean;
|
|
591
674
|
UserInfo: any;
|
|
592
675
|
};
|
|
593
676
|
|
|
@@ -609,12 +692,20 @@ declare const useWindow: (props: TemplateWindowProp) => {
|
|
|
609
692
|
Window: react.FC<WindowProps>;
|
|
610
693
|
};
|
|
611
694
|
|
|
695
|
+
declare const useCommonStore: (storeKey: string) => {
|
|
696
|
+
reload: () => Promise<void>;
|
|
697
|
+
data: any[];
|
|
698
|
+
store: StoreMetaData;
|
|
699
|
+
};
|
|
700
|
+
|
|
612
701
|
declare function hasDigitsOnly(str: string): boolean;
|
|
613
702
|
declare function isNumber(value: any): boolean;
|
|
614
703
|
declare function isNumeric(value: string): boolean;
|
|
615
704
|
declare function capitalizeFirstLetter(str: string): string;
|
|
616
705
|
declare function isValidEmail(email: any): boolean;
|
|
617
706
|
declare function timeAgo(dateInput: any, appDirection: "ltr" | "rtl"): string;
|
|
707
|
+
declare const formatDate: (date: any, format: any) => string;
|
|
708
|
+
declare const parseStringToDate: (dateString: any, format: any) => Date;
|
|
618
709
|
|
|
619
710
|
declare const DATE_FORMAT = "YYYY-MM-DD";
|
|
620
711
|
declare const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
|
|
@@ -623,5 +714,5 @@ declare const LIGHT_THEME_INITIAL_SECANDARY_COLOR = "#ff6d00";
|
|
|
623
714
|
declare const DARK_THEME_INITIAL_MAIN_COLOR = "#ea690e";
|
|
624
715
|
declare const DARK_THEME_INITIAL_SECANDARY_COLOR = "#74776B";
|
|
625
716
|
|
|
626
|
-
export { AttachmentCard, AttachmentImageViewer, AttachmentPanel, BaseApp, CheckBox, ComboBox, DARK_THEME_INITIAL_MAIN_COLOR, DARK_THEME_INITIAL_SECANDARY_COLOR, DATE_FORMAT, DATE_TIME_FORMAT, DashboardRouteView, DashboardViewer, Datefield, DatetimeField, ExcelReportViewer, LIGHT_THEME_INITIAL_MAIN_COLOR, LIGHT_THEME_INITIAL_SECANDARY_COLOR, ReportViewer, SystemLookupCombobox, TemplateBarChart, TemplateDataCard, TemplateForm, TemplateGauge, TemplateGrid, TemplateLineChart, TemplateLineProgress, TemplatePieChart, TemplateTextField, TransferList, WorkflowDocumentPanel, WorkflowDocumentTimeLine, WorkflowRouteComponent, capitalizeFirstLetter, constructGridColumnsFromFields, constructValidationSchema, getAllFields, getElementFields, getGridSelection, hasDigitsOnly, isNumber, isNumeric, isValidEmail, timeAgo, useApiActions, useAxios, useConfirmationWindow, useIsMobile, useLoadingMask, useSession, useWindow };
|
|
627
|
-
export type { EditDeleteAction, ExtendedTreeItemProps, FormActionProps, FormElementFieldProps, FormElementGroupProps, FormElementNodeProps, FormElementProps, FormElementSize, GridSelection, MakeOptional, ModalFormProps, RecordAction, RecordFieldProps, SystemRoute, TemplateFormProps, TemplateGridAttachmentProps, TemplateGridColDef, TemplateGridColumnProps, TemplateGridProps, TemplateGridTopBarProps, TransferListProps };
|
|
717
|
+
export { AttachmentCard, AttachmentImageViewer, AttachmentPanel, BaseApp, CheckBox, ComboBox, DARK_THEME_INITIAL_MAIN_COLOR, DARK_THEME_INITIAL_SECANDARY_COLOR, DATE_FORMAT, DATE_TIME_FORMAT, DashboardRouteView, DashboardViewer, Datefield, DatetimeField, ExcelReportViewer, FormElementField as FormElement, LIGHT_THEME_INITIAL_MAIN_COLOR, LIGHT_THEME_INITIAL_SECANDARY_COLOR, ReportViewer, SystemLookupCombobox, TemplateBarChart, TemplateDataCard, TemplateForm, TemplateGauge, TemplateGrid, TemplateLineChart, TemplateLineProgress, TemplatePieChart, TemplateTextField, TransferList, WorkflowDocumentPanel, WorkflowDocumentTimeLine, WorkflowRouteComponent, capitalizeFirstLetter, constructGridColumnsFromFields, constructValidationSchema, formatDate, getAllFields, getElementFields, getGridSelection, hasDigitsOnly, isNumber, isNumeric, isValidEmail, parseStringToDate, timeAgo, useApiActions, useAxios, useCommonStore, useConfirmationWindow, useIsMobile, useLoadingMask, useSession, useWindow };
|
|
718
|
+
export type { CommonStores, CommonStoresInterface, EditDeleteAction, ExtendedTreeItemProps, FormActionProps, FormElementFieldProps, FormElementGroupProps, FormElementNodeProps, FormElementProps, FormElementSize, FormValueChangeCallBk, GridSelection, MakeOptional, ModalFormProps, RecordAction, RecordFieldProps, StoreMetaData, SystemRoute, TemplateFormProps, TemplateGridAttachmentProps, TemplateGridColDef, TemplateGridColumnProps, TemplateGridProps, TemplateGridTopBarProps, TransferListProps };
|