@asaleh37/ui-base 1.2.30 → 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 +92 -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 +50 -50
- 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 -7
- 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;
|
|
@@ -42,12 +53,12 @@ type CommonStoresInterface = {
|
|
|
42
53
|
};
|
|
43
54
|
storeKeys: Array<String>;
|
|
44
55
|
};
|
|
45
|
-
|
|
56
|
+
type StoreMetaData = {
|
|
46
57
|
url: string;
|
|
47
58
|
data: Array<any>;
|
|
48
59
|
autoLoad: boolean;
|
|
49
60
|
authority?: string;
|
|
50
|
-
}
|
|
61
|
+
};
|
|
51
62
|
|
|
52
63
|
type AppInfo = {
|
|
53
64
|
documentTitle: string | null;
|
|
@@ -55,6 +66,8 @@ type AppInfo = {
|
|
|
55
66
|
appName: string | null;
|
|
56
67
|
appVersion: string | null;
|
|
57
68
|
appLogo: any | null;
|
|
69
|
+
isUserProfileManaged?: boolean;
|
|
70
|
+
isLocalizationEnabled?: boolean;
|
|
58
71
|
businessLocals?: {
|
|
59
72
|
ar: {
|
|
60
73
|
[key: string]: string;
|
|
@@ -63,6 +76,20 @@ type AppInfo = {
|
|
|
63
76
|
[key: string]: string;
|
|
64
77
|
};
|
|
65
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
|
+
};
|
|
66
93
|
businessRoutes?: Array<SystemRoute>;
|
|
67
94
|
businessNavigationItems?: Array<ExtendedTreeItemProps>;
|
|
68
95
|
businessReduxReducers?: {
|
|
@@ -73,6 +100,7 @@ type AppInfo = {
|
|
|
73
100
|
};
|
|
74
101
|
muiPremiumKey: string;
|
|
75
102
|
enableAdministrationModule: boolean;
|
|
103
|
+
enableUINotifications: Boolean;
|
|
76
104
|
appTheme?: {
|
|
77
105
|
light: {
|
|
78
106
|
primaryColor: string;
|
|
@@ -83,6 +111,10 @@ type AppInfo = {
|
|
|
83
111
|
secondaryColor: string;
|
|
84
112
|
};
|
|
85
113
|
};
|
|
114
|
+
checkLicense?: {
|
|
115
|
+
endpoint: string;
|
|
116
|
+
interval: number;
|
|
117
|
+
};
|
|
86
118
|
};
|
|
87
119
|
|
|
88
120
|
declare const BaseApp: React.FC<AppInfo>;
|
|
@@ -100,6 +132,7 @@ interface CheckBoxProps {
|
|
|
100
132
|
value: any;
|
|
101
133
|
disabled?: boolean;
|
|
102
134
|
required?: boolean;
|
|
135
|
+
hidden?: boolean;
|
|
103
136
|
label: string;
|
|
104
137
|
checkedValue?: any;
|
|
105
138
|
unCheckedValue?: any;
|
|
@@ -114,8 +147,14 @@ interface ComboBoxProps {
|
|
|
114
147
|
label: string;
|
|
115
148
|
disabled?: boolean;
|
|
116
149
|
required?: boolean;
|
|
117
|
-
|
|
150
|
+
groupField?: string;
|
|
151
|
+
commonStoreKey?: string;
|
|
152
|
+
dataQueryId?: number;
|
|
153
|
+
storeUrl?: string;
|
|
154
|
+
storeLoadParam?: any;
|
|
155
|
+
options?: Array<any>;
|
|
118
156
|
errorMessage?: any;
|
|
157
|
+
hidden?: boolean;
|
|
119
158
|
displayField: string;
|
|
120
159
|
valueField: string;
|
|
121
160
|
sx?: any;
|
|
@@ -127,6 +166,7 @@ interface DatefieldProps {
|
|
|
127
166
|
label: string;
|
|
128
167
|
disabled?: boolean;
|
|
129
168
|
required?: boolean;
|
|
169
|
+
hidden?: boolean;
|
|
130
170
|
sx?: any;
|
|
131
171
|
format?: string;
|
|
132
172
|
errorMessage?: any;
|
|
@@ -140,6 +180,7 @@ interface DatetimeFieldProps {
|
|
|
140
180
|
label: string;
|
|
141
181
|
disabled?: boolean;
|
|
142
182
|
required?: boolean;
|
|
183
|
+
hidden?: boolean;
|
|
143
184
|
format?: string;
|
|
144
185
|
sx?: any;
|
|
145
186
|
errorMessage?: any;
|
|
@@ -157,6 +198,7 @@ type SystemLookupListProps = {
|
|
|
157
198
|
label: string;
|
|
158
199
|
disabled?: boolean;
|
|
159
200
|
required?: boolean;
|
|
201
|
+
hidden?: boolean;
|
|
160
202
|
errorMessage?: any;
|
|
161
203
|
sx?: any;
|
|
162
204
|
};
|
|
@@ -185,6 +227,7 @@ type RecordAction = {
|
|
|
185
227
|
label?: string;
|
|
186
228
|
icon: IconProp;
|
|
187
229
|
isConfirmationRequired?: boolean;
|
|
230
|
+
isIdRequired?: Boolean;
|
|
188
231
|
confirmationMessage?: string;
|
|
189
232
|
authority?: string;
|
|
190
233
|
getActionIconStyleForRecord?: (record: any) => object;
|
|
@@ -240,6 +283,11 @@ type TemplateGridColDef = GridColDef & {
|
|
|
240
283
|
options?: Array<object>;
|
|
241
284
|
displayField?: string;
|
|
242
285
|
valueField?: string;
|
|
286
|
+
commonStoreKey?: string;
|
|
287
|
+
dataQueryId?: number;
|
|
288
|
+
storeUrl?: string;
|
|
289
|
+
storeLoadParam?: any;
|
|
290
|
+
comboboxGroupField?: string;
|
|
243
291
|
};
|
|
244
292
|
type TemplateGridAttachmentProps = {
|
|
245
293
|
attachmentCode: string;
|
|
@@ -270,13 +318,21 @@ type TemplateGridProps = {
|
|
|
270
318
|
enableExport?: boolean;
|
|
271
319
|
enableDensitySelector?: boolean;
|
|
272
320
|
hideInfoBar?: boolean;
|
|
321
|
+
hideCreateBtn?: boolean;
|
|
273
322
|
hideBackButton?: boolean;
|
|
274
323
|
apiActions: ApiActions;
|
|
275
324
|
rowSelectionModel?: GridRowSelectionModel;
|
|
276
325
|
setRowSelectionModel?: any;
|
|
277
326
|
setSelectedRecord?: any;
|
|
278
327
|
setSelectedRecordIds?: any;
|
|
279
|
-
|
|
328
|
+
formProps?: {
|
|
329
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
330
|
+
};
|
|
331
|
+
validationSchema?: z.ZodObject<any, "strip", z.ZodTypeAny, {
|
|
332
|
+
[x: string]: any;
|
|
333
|
+
}, {
|
|
334
|
+
[x: string]: any;
|
|
335
|
+
}>;
|
|
280
336
|
editMode: {
|
|
281
337
|
editMode: "none";
|
|
282
338
|
} | {
|
|
@@ -315,6 +371,12 @@ type RecordFieldProps = {
|
|
|
315
371
|
fieldLabel: string;
|
|
316
372
|
fieldType: "text" | "number" | "date" | "datetime" | "combobox" | "checkbox" | "html" | "lookup" | "custom";
|
|
317
373
|
lookupType?: string;
|
|
374
|
+
comboboxValueDataType?: "number" | "string";
|
|
375
|
+
comboboxGroupField?: string;
|
|
376
|
+
commonStoreKey?: string;
|
|
377
|
+
dataQueryId?: number;
|
|
378
|
+
storeUrl?: string;
|
|
379
|
+
storeLoadParam?: any;
|
|
318
380
|
required?: boolean;
|
|
319
381
|
disabled?: boolean;
|
|
320
382
|
hidden?: boolean;
|
|
@@ -329,9 +391,9 @@ type RecordFieldProps = {
|
|
|
329
391
|
gridProps?: TemplateGridColumnProps;
|
|
330
392
|
formProps?: {
|
|
331
393
|
fieldSize?: FormElementSize;
|
|
394
|
+
fieldLabelFn?: (record: any) => string;
|
|
332
395
|
fieldHeight?: number;
|
|
333
396
|
style?: SxProps;
|
|
334
|
-
onValueChangeCallBack?: (value: any, formManager: UseFormReturn, formActions?: FormActionProps, selectedRecord?: any) => void;
|
|
335
397
|
};
|
|
336
398
|
};
|
|
337
399
|
type FormElementGroupProps = {
|
|
@@ -345,7 +407,9 @@ type FormElementGroupProps = {
|
|
|
345
407
|
formActions?: any;
|
|
346
408
|
hiddenFields?: string[];
|
|
347
409
|
disabledFields?: string[];
|
|
410
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
348
411
|
};
|
|
412
|
+
type FormValueChangeCallBk = (formValues: any, formActions: FormActionProps, formManager: UseFormReturn, fieldName?: string, newValue?: any, selectedRecord?: any) => void;
|
|
349
413
|
type FormElementFieldProps = {
|
|
350
414
|
fieldInfo: RecordFieldProps;
|
|
351
415
|
formManager?: UseFormReturn;
|
|
@@ -353,6 +417,7 @@ type FormElementFieldProps = {
|
|
|
353
417
|
formActions?: any;
|
|
354
418
|
hiddenFields?: string[];
|
|
355
419
|
disabledFields?: string[];
|
|
420
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
356
421
|
};
|
|
357
422
|
type FormElementNodeProps = {
|
|
358
423
|
formManager?: UseFormReturn;
|
|
@@ -392,7 +457,7 @@ type TemplateFormProps = {
|
|
|
392
457
|
apiActions: ApiActions;
|
|
393
458
|
preSaveValidation?: (record: any) => boolean | Promise<boolean>;
|
|
394
459
|
formSavedSuccessfullyCallBk?: (response: any) => void;
|
|
395
|
-
|
|
460
|
+
formValuesChangeCallBk?: FormValueChangeCallBk;
|
|
396
461
|
formCloseCallBk?: () => void;
|
|
397
462
|
saveButtonSpecs?: {
|
|
398
463
|
label?: string;
|
|
@@ -408,6 +473,11 @@ type TemplateFormProps = {
|
|
|
408
473
|
actionButtonVariant?: "text" | "outlined" | "contained";
|
|
409
474
|
actionButtonColor?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
|
|
410
475
|
};
|
|
476
|
+
validationSchema?: z.ZodObject<any, "strip", z.ZodTypeAny, {
|
|
477
|
+
[x: string]: any;
|
|
478
|
+
}, {
|
|
479
|
+
[x: string]: any;
|
|
480
|
+
}>;
|
|
411
481
|
};
|
|
412
482
|
type TemplateGridTopBarProps = GridToolbarProps & ToolbarPropsOverrides & {
|
|
413
483
|
templateProps: TemplateGridProps;
|
|
@@ -451,6 +521,7 @@ type AttachmentImageViewerProps = {
|
|
|
451
521
|
refKey?: string;
|
|
452
522
|
category?: string;
|
|
453
523
|
showAsAvatar?: boolean;
|
|
524
|
+
onErrorImage?: string;
|
|
454
525
|
style?: SxProps;
|
|
455
526
|
};
|
|
456
527
|
declare const AttachmentImageViewer: React.FC<AttachmentImageViewerProps>;
|
|
@@ -548,6 +619,8 @@ declare const TemplatePieChart: React.FC<WidgetProps>;
|
|
|
548
619
|
|
|
549
620
|
declare const DashboardRouteView: React.FC;
|
|
550
621
|
|
|
622
|
+
declare const FormElementField: React.FC<FormElementFieldProps>;
|
|
623
|
+
|
|
551
624
|
interface APIRequest {
|
|
552
625
|
endPointURI: string;
|
|
553
626
|
parameters?: any;
|
|
@@ -597,6 +670,7 @@ declare const useIsMobile: (breakpoint?: number) => boolean;
|
|
|
597
670
|
declare const useSession: () => {
|
|
598
671
|
UserSession: any;
|
|
599
672
|
isUserAuthorized: (authorityCode: string) => boolean;
|
|
673
|
+
isCurrentOrganizationAuthorizedToModule: (moduleCode: string) => Boolean;
|
|
600
674
|
UserInfo: any;
|
|
601
675
|
};
|
|
602
676
|
|
|
@@ -618,12 +692,20 @@ declare const useWindow: (props: TemplateWindowProp) => {
|
|
|
618
692
|
Window: react.FC<WindowProps>;
|
|
619
693
|
};
|
|
620
694
|
|
|
695
|
+
declare const useCommonStore: (storeKey: string) => {
|
|
696
|
+
reload: () => Promise<void>;
|
|
697
|
+
data: any[];
|
|
698
|
+
store: StoreMetaData;
|
|
699
|
+
};
|
|
700
|
+
|
|
621
701
|
declare function hasDigitsOnly(str: string): boolean;
|
|
622
702
|
declare function isNumber(value: any): boolean;
|
|
623
703
|
declare function isNumeric(value: string): boolean;
|
|
624
704
|
declare function capitalizeFirstLetter(str: string): string;
|
|
625
705
|
declare function isValidEmail(email: any): boolean;
|
|
626
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;
|
|
627
709
|
|
|
628
710
|
declare const DATE_FORMAT = "YYYY-MM-DD";
|
|
629
711
|
declare const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
|
|
@@ -632,5 +714,5 @@ declare const LIGHT_THEME_INITIAL_SECANDARY_COLOR = "#ff6d00";
|
|
|
632
714
|
declare const DARK_THEME_INITIAL_MAIN_COLOR = "#ea690e";
|
|
633
715
|
declare const DARK_THEME_INITIAL_SECANDARY_COLOR = "#74776B";
|
|
634
716
|
|
|
635
|
-
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 };
|
|
636
|
-
export type { CommonStores, CommonStoresInterface, 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 };
|