@asaleh37/ui-base 25.6.19-6 → 25.6.21
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/dist/index.d.ts +5 -0
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.map +1 -1
- package/eslint.config.js +29 -29
- package/index.html +13 -13
- package/package.json +120 -120
- 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 +123 -123
- package/src/components/BaseApp.tsx +53 -53
- package/src/components/administration/admin/OrgMemberRoleForm.tsx +83 -83
- 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 +176 -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 +334 -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 +223 -223
- 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 +206 -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 +150 -150
- package/src/components/administration/dev/EntityParameterGrid.tsx +279 -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 +169 -169
- package/src/components/administration/dev/MailSenderConfigGrid.tsx +478 -478
- package/src/components/administration/dev/MailTemplateGrid.tsx +384 -384
- package/src/components/administration/dev/NotificationGrid.tsx +432 -432
- package/src/components/administration/dev/NotificationQueueGrid.tsx +222 -222
- package/src/components/administration/dev/ReportGrid.tsx +506 -506
- 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 +431 -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 +377 -377
- package/src/components/administration/dev/WorkflowDocumentMailLogGrid.tsx +218 -218
- package/src/components/administration/dev/WorkflowDocumentStatusGrid.tsx +243 -243
- package/src/components/common/ChangeOrgForm.tsx +81 -81
- package/src/components/common/Home.tsx +43 -43
- 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 +214 -214
- package/src/components/common/MyNotificationsPanel.tsx +109 -103
- package/src/components/common/NotificationItem.tsx +138 -138
- package/src/components/index.ts +9 -9
- package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +324 -324
- package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +248 -248
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormAction.tsx +60 -60
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +231 -231
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementGroup.tsx +106 -106
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/CheckBox.tsx +64 -64
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/ComboBox.tsx +93 -93
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/Datefield.tsx +65 -65
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/DatetimeField.tsx +64 -64
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/FiltersPanel.tsx +237 -237
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/SystemLookupCombobox.tsx +55 -55
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/TemplateTextField.tsx +17 -17
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +387 -387
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +189 -189
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +998 -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 +227 -227
- package/src/components/templates/TransferList.tsx +257 -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 +83 -45
- package/src/components/templates/attachment/AttachmentPanel.tsx +285 -271
- package/src/components/templates/index.ts +33 -33
- package/src/components/templates/report/ExcelReportViewer.tsx +71 -71
- package/src/components/templates/report/ReportViewer.tsx +382 -382
- package/src/components/templates/visuals/DashboardRouteView.tsx +9 -9
- package/src/components/templates/visuals/DashboardViewer.tsx +148 -148
- package/src/components/templates/visuals/WidgetViewer.tsx +198 -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 +606 -606
- package/src/components/templates/workflow/WorkflowDocumentTimeLine.tsx +140 -140
- package/src/components/templates/workflow/WorkflowRouteComponent.tsx +14 -14
- package/src/hooks/UseConfirmationWindow.tsx +54 -54
- package/src/hooks/UseMobile.tsx +13 -13
- package/src/hooks/UseSession.tsx +59 -40
- package/src/hooks/UseWindow.tsx +107 -107
- package/src/hooks/index.ts +7 -7
- package/src/hooks/useApiActions.ts +124 -124
- package/src/hooks/useAxios.tsx +316 -316
- package/src/hooks/useInterval.tsx +23 -23
- package/src/hooks/useLoadingMask.tsx +16 -16
- package/src/hooks/useLookupGridColumn.tsx +35 -35
- package/src/index.ts +4 -4
- package/src/layout/DrawerHeader.tsx +10 -10
- package/src/layout/Layout.tsx +90 -90
- package/src/layout/MainContent.tsx +117 -114
- package/src/layout/MobileDrawer.tsx +103 -103
- package/src/layout/NavigationTree.tsx +298 -293
- 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 +229 -215
- package/src/locales/arabic/adminLocalsAr.json +93 -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 +96 -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 +23 -23
- package/src/navigationItems/Administration/adminNavigationItems.tsx +223 -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 +148 -126
- package/src/redux/features/common/AppInfoSlice.ts +65 -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 +11 -11
- package/src/routes/types/index.ts +6 -5
- package/src/styles/index.css +19 -19
- package/src/types/index.ts +8 -8
- package/src/util/AppUtils.ts +53 -53
- package/src/util/constants.ts +6 -6
- package/src/util/index.ts +2 -2
- package/tsconfig.json +135 -135
- package/vite.config.ts +24 -36
|
@@ -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
|
|
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/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { ResponseType } from 'axios';
|
|
|
17
17
|
interface SystemRoute {
|
|
18
18
|
path: string;
|
|
19
19
|
component: React.FC;
|
|
20
|
+
applicationModule?: string;
|
|
20
21
|
authority?: string;
|
|
21
22
|
}
|
|
22
23
|
|
|
@@ -26,6 +27,7 @@ type ExtendedTreeItemProps = {
|
|
|
26
27
|
label: string;
|
|
27
28
|
action?: "NAVIGATION";
|
|
28
29
|
authority?: string;
|
|
30
|
+
applicationModule?: string;
|
|
29
31
|
actionPayload?: {
|
|
30
32
|
path?: string;
|
|
31
33
|
parameters?: object;
|
|
@@ -73,6 +75,7 @@ type AppInfo = {
|
|
|
73
75
|
};
|
|
74
76
|
muiPremiumKey: string;
|
|
75
77
|
enableAdministrationModule: boolean;
|
|
78
|
+
enableUINotifications: Boolean;
|
|
76
79
|
appTheme?: {
|
|
77
80
|
light: {
|
|
78
81
|
primaryColor: string;
|
|
@@ -451,6 +454,7 @@ type AttachmentImageViewerProps = {
|
|
|
451
454
|
refKey?: string;
|
|
452
455
|
category?: string;
|
|
453
456
|
showAsAvatar?: boolean;
|
|
457
|
+
onErrorImage?: string;
|
|
454
458
|
style?: SxProps;
|
|
455
459
|
};
|
|
456
460
|
declare const AttachmentImageViewer: React.FC<AttachmentImageViewerProps>;
|
|
@@ -597,6 +601,7 @@ declare const useIsMobile: (breakpoint?: number) => boolean;
|
|
|
597
601
|
declare const useSession: () => {
|
|
598
602
|
UserSession: any;
|
|
599
603
|
isUserAuthorized: (authorityCode: string) => boolean;
|
|
604
|
+
isCurrentOrganizationAuthorizedToModule: (moduleCode: string) => Boolean;
|
|
600
605
|
UserInfo: any;
|
|
601
606
|
};
|
|
602
607
|
|