@asaleh37/ui-base 25.12.16 → 25.12.122

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 (27) hide show
  1. package/__ODockerfile +14 -14
  2. package/dist/index.d.ts +0 -2
  3. package/dist/index.js +107 -107
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +112 -112
  6. package/dist/index.mjs.map +1 -1
  7. package/package-lock.json/342/200/216 +9039 -9039
  8. package/package.json +122 -122
  9. package/src/components/administration/admin/OrganizationMemberGrid.tsx +49 -63
  10. package/src/components/administration/admin/PersonGrid.tsx +344 -10
  11. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +238 -238
  12. package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +427 -427
  13. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +198 -198
  14. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +1047 -1047
  15. package/src/components/templates/report/ExcelReportViewer.tsx +72 -72
  16. package/src/components/templates/report/ReportViewer.tsx +272 -272
  17. package/src/hooks/UseWindow.tsx +111 -111
  18. package/src/hooks/index.ts +22 -22
  19. package/src/hooks/useCommonStore.tsx +29 -29
  20. package/src/hooks/useParameterPanel.tsx +159 -159
  21. package/src/layout/NavigationTree.tsx +1 -8
  22. package/src/layout/TopBar.tsx +55 -72
  23. package/src/main.tsx +1 -2
  24. package/src/navigationItems/Administration/adminNavigationItems.tsx +1 -1
  25. package/src/redux/features/common/AppInfoSlice.ts +0 -4
  26. package/src/components/administration/admin/CustomPersonGrid.tsx +0 -361
  27. package/src/components/administration/admin/OrgProvidedPersonGrid.tsx +0 -347
package/package.json CHANGED
@@ -1,122 +1,122 @@
1
- {
2
- "name": "@asaleh37/ui-base",
3
- "version": "25.12.16",
4
- "description": "",
5
- "license": "ISC",
6
- "author": "Ahmed Saleh Mohamed",
7
- "type": "commonjs",
8
- "main": "dist/index.js",
9
- "module": "dist/index.mjs",
10
- "types": "dist/index.d.ts",
11
- "scripts": {
12
- "build": "rollup -c --bundleConfigAsCjs",
13
- "dev": "vite --host"
14
- },
15
- "devDependencies": {
16
- "@emotion/cache": "^11.14.0",
17
- "@emotion/react": "^11.14.0",
18
- "@emotion/styled": "^11.14.0",
19
- "@eslint/js": "^9.19.0",
20
- "@fortawesome/fontawesome-svg-core": "^6.7.2",
21
- "@fortawesome/free-brands-svg-icons": "^6.7.2",
22
- "@fortawesome/free-regular-svg-icons": "^6.7.2",
23
- "@fortawesome/free-solid-svg-icons": "^6.7.2",
24
- "@fortawesome/react-fontawesome": "^0.2.2",
25
- "@hookform/resolvers": "^4.1.0",
26
- "@mui/icons-material": "^6.4.8",
27
- "@mui/lab": "^7.0.0-beta.13",
28
- "@mui/material": "^6.4.4",
29
- "@mui/x-charts": "^7.27.0",
30
- "@mui/x-data-grid-premium": "^8.3.0",
31
- "@mui/x-date-pickers": "^7.27.0",
32
- "@mui/x-license": "^8.3.0",
33
- "@mui/x-tree-view": "^7.26.0",
34
- "@react-spring/web": "^9.7.5",
35
- "@reduxjs/toolkit": "^2.5.1",
36
- "@rollup/plugin-commonjs": "^28.0.3",
37
- "@rollup/plugin-node-resolve": "^16.0.1",
38
- "@rollup/plugin-terser": "^0.4.4",
39
- "@rollup/plugin-typescript": "^12.1.2",
40
- "@types/react": "^19.1.8",
41
- "@types/react-dom": "^19.0.3",
42
- "@types/react-i18next": "^7.8.3",
43
- "@vitejs/plugin-react": "^4.3.4",
44
- "axios": "^1.8.1",
45
- "eslint": "^9.19.0",
46
- "eslint-plugin-react-hooks": "^5.0.0",
47
- "eslint-plugin-react-refresh": "^0.4.18",
48
- "global": "^4.4.0",
49
- "globals": "^15.14.0",
50
- "i18next": "^24.2.2",
51
- "i18next-browser-languagedetector": "^8.0.3",
52
- "i18next-http-backend": "^3.0.2",
53
- "moment": "^2.30.1",
54
- "oidc-client-ts": "^3.1.0",
55
- "react": "^19.1.0",
56
- "react-dom": "^19.0.0",
57
- "react-hook-form": "^7.54.2",
58
- "react-i18next": "^15.4.0",
59
- "react-redux": "^9.2.0",
60
- "react-router-dom": "^7.1.5",
61
- "react-toastify": "^11.0.5",
62
- "rollup": "^4.41.1",
63
- "rollup-plugin-dts": "^6.2.1",
64
- "rollup-plugin-peer-deps-external": "^2.2.4",
65
- "rollup-plugin-polyfill-node": "^0.13.0",
66
- "rollup-plugin-postcss": "^4.0.2",
67
- "stylis": "^4.3.6",
68
- "stylis-plugin-rtl": "^2.1.1",
69
- "tslib": "^2.8.1",
70
- "typescript": "~5.7.2",
71
- "typescript-eslint": "^8.22.0",
72
- "vite": "^6.1.0",
73
- "zod": "^3.24.2"
74
- },
75
- "peerDependencies": {
76
- "@emotion/cache": "^11.14.0",
77
- "@emotion/react": "^11.14.0",
78
- "@emotion/styled": "^11.14.0",
79
- "@fortawesome/fontawesome-svg-core": "^6.7.2",
80
- "@fortawesome/free-brands-svg-icons": "^6.7.2",
81
- "@fortawesome/free-regular-svg-icons": "^6.7.2",
82
- "@fortawesome/free-solid-svg-icons": "^6.7.2",
83
- "@fortawesome/react-fontawesome": "^0.2.2",
84
- "@hookform/resolvers": "^4.1.0",
85
- "@mui/icons-material": "^6.4.8",
86
- "@mui/lab": "^7.0.0-beta.13",
87
- "@mui/material": "^6.4.4",
88
- "@mui/x-charts": "^7.27.0",
89
- "@mui/x-data-grid-premium": "^8.3.0",
90
- "@mui/x-date-pickers": "^7.27.0",
91
- "@mui/x-license": "^8.3.0",
92
- "@mui/x-tree-view": "^7.26.0",
93
- "@react-spring/web": "^9.7.5",
94
- "@reduxjs/toolkit": "^2.5.1",
95
- "axios": "^1.8.1",
96
- "global": "^4.4.0",
97
- "i18next": "^24.2.2",
98
- "i18next-browser-languagedetector": "^8.0.3",
99
- "i18next-http-backend": "^3.0.2",
100
- "moment": "^2.30.1",
101
- "oidc-client-ts": "^3.1.0",
102
- "react": "^19.0.0",
103
- "react-dom": "^19.0.0",
104
- "react-hook-form": "^7.54.2",
105
- "react-i18next": "^15.4.0",
106
- "react-redux": "^9.2.0",
107
- "react-router-dom": "^7.1.5",
108
- "react-toastify": "^11.0.5",
109
- "rollup": "^4.41.1",
110
- "rollup-plugin-polyfill-node": "^0.13.0",
111
- "rollup-plugin-postcss": "^4.0.2",
112
- "stylis": "^4.3.6",
113
- "stylis-plugin-rtl": "^2.1.1",
114
- "zod": "^3.24.2"
115
- },
116
- "dependencies": {
117
- "@azure/msal-browser": "^4.21.1",
118
- "@azure/msal-react": "^3.0.19",
119
- "@rollup/plugin-json": "^6.1.0",
120
- "rollup-plugin-terser": "^7.0.2"
121
- }
122
- }
1
+ {
2
+ "name": "@asaleh37/ui-base",
3
+ "version": "25.12.122",
4
+ "description": "",
5
+ "license": "ISC",
6
+ "author": "Ahmed Saleh Mohamed",
7
+ "type": "commonjs",
8
+ "main": "dist/index.js",
9
+ "module": "dist/index.mjs",
10
+ "types": "dist/index.d.ts",
11
+ "scripts": {
12
+ "build": "rollup -c --bundleConfigAsCjs",
13
+ "dev": "vite --host"
14
+ },
15
+ "devDependencies": {
16
+ "@emotion/cache": "^11.14.0",
17
+ "@emotion/react": "^11.14.0",
18
+ "@emotion/styled": "^11.14.0",
19
+ "@eslint/js": "^9.19.0",
20
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
21
+ "@fortawesome/free-brands-svg-icons": "^6.7.2",
22
+ "@fortawesome/free-regular-svg-icons": "^6.7.2",
23
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
24
+ "@fortawesome/react-fontawesome": "^0.2.2",
25
+ "@hookform/resolvers": "^4.1.0",
26
+ "@mui/icons-material": "^6.4.8",
27
+ "@mui/lab": "^7.0.0-beta.13",
28
+ "@mui/material": "^6.4.4",
29
+ "@mui/x-charts": "^7.27.0",
30
+ "@mui/x-data-grid-premium": "^8.3.0",
31
+ "@mui/x-date-pickers": "^7.27.0",
32
+ "@mui/x-license": "^8.3.0",
33
+ "@mui/x-tree-view": "^7.26.0",
34
+ "@react-spring/web": "^9.7.5",
35
+ "@reduxjs/toolkit": "^2.5.1",
36
+ "@rollup/plugin-commonjs": "^28.0.3",
37
+ "@rollup/plugin-node-resolve": "^16.0.1",
38
+ "@rollup/plugin-terser": "^0.4.4",
39
+ "@rollup/plugin-typescript": "^12.1.2",
40
+ "@types/react": "^19.1.8",
41
+ "@types/react-dom": "^19.0.3",
42
+ "@types/react-i18next": "^7.8.3",
43
+ "@vitejs/plugin-react": "^4.3.4",
44
+ "axios": "^1.8.1",
45
+ "eslint": "^9.19.0",
46
+ "eslint-plugin-react-hooks": "^5.0.0",
47
+ "eslint-plugin-react-refresh": "^0.4.18",
48
+ "global": "^4.4.0",
49
+ "globals": "^15.14.0",
50
+ "i18next": "^24.2.2",
51
+ "i18next-browser-languagedetector": "^8.0.3",
52
+ "i18next-http-backend": "^3.0.2",
53
+ "moment": "^2.30.1",
54
+ "oidc-client-ts": "^3.1.0",
55
+ "react": "^19.1.0",
56
+ "react-dom": "^19.0.0",
57
+ "react-hook-form": "^7.54.2",
58
+ "react-i18next": "^15.4.0",
59
+ "react-redux": "^9.2.0",
60
+ "react-router-dom": "^7.1.5",
61
+ "react-toastify": "^11.0.5",
62
+ "rollup": "^4.41.1",
63
+ "rollup-plugin-dts": "^6.2.1",
64
+ "rollup-plugin-peer-deps-external": "^2.2.4",
65
+ "rollup-plugin-polyfill-node": "^0.13.0",
66
+ "rollup-plugin-postcss": "^4.0.2",
67
+ "stylis": "^4.3.6",
68
+ "stylis-plugin-rtl": "^2.1.1",
69
+ "tslib": "^2.8.1",
70
+ "typescript": "~5.7.2",
71
+ "typescript-eslint": "^8.22.0",
72
+ "vite": "^6.1.0",
73
+ "zod": "^3.24.2"
74
+ },
75
+ "peerDependencies": {
76
+ "@emotion/cache": "^11.14.0",
77
+ "@emotion/react": "^11.14.0",
78
+ "@emotion/styled": "^11.14.0",
79
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
80
+ "@fortawesome/free-brands-svg-icons": "^6.7.2",
81
+ "@fortawesome/free-regular-svg-icons": "^6.7.2",
82
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
83
+ "@fortawesome/react-fontawesome": "^0.2.2",
84
+ "@hookform/resolvers": "^4.1.0",
85
+ "@mui/icons-material": "^6.4.8",
86
+ "@mui/lab": "^7.0.0-beta.13",
87
+ "@mui/material": "^6.4.4",
88
+ "@mui/x-charts": "^7.27.0",
89
+ "@mui/x-data-grid-premium": "^8.3.0",
90
+ "@mui/x-date-pickers": "^7.27.0",
91
+ "@mui/x-license": "^8.3.0",
92
+ "@mui/x-tree-view": "^7.26.0",
93
+ "@react-spring/web": "^9.7.5",
94
+ "@reduxjs/toolkit": "^2.5.1",
95
+ "axios": "^1.8.1",
96
+ "global": "^4.4.0",
97
+ "i18next": "^24.2.2",
98
+ "i18next-browser-languagedetector": "^8.0.3",
99
+ "i18next-http-backend": "^3.0.2",
100
+ "moment": "^2.30.1",
101
+ "oidc-client-ts": "^3.1.0",
102
+ "react": "^19.0.0",
103
+ "react-dom": "^19.0.0",
104
+ "react-hook-form": "^7.54.2",
105
+ "react-i18next": "^15.4.0",
106
+ "react-redux": "^9.2.0",
107
+ "react-router-dom": "^7.1.5",
108
+ "react-toastify": "^11.0.5",
109
+ "rollup": "^4.41.1",
110
+ "rollup-plugin-polyfill-node": "^0.13.0",
111
+ "rollup-plugin-postcss": "^4.0.2",
112
+ "stylis": "^4.3.6",
113
+ "stylis-plugin-rtl": "^2.1.1",
114
+ "zod": "^3.24.2"
115
+ },
116
+ "dependencies": {
117
+ "@azure/msal-browser": "^4.21.1",
118
+ "@azure/msal-react": "^3.0.19",
119
+ "@rollup/plugin-json": "^6.1.0",
120
+ "rollup-plugin-terser": "^7.0.2"
121
+ }
122
+ }
@@ -5,7 +5,6 @@ import { FormElementProps } from "../../templates/DataEntryTemplates/DataEntryTy
5
5
  import { useTranslation } from "react-i18next";
6
6
  import { useSelector } from "react-redux";
7
7
  import OrgMemberRoleForm from "./OrgMemberRoleForm";
8
- import { AppInfo } from "../../../redux/features/common/AppInfoSlice";
9
8
 
10
9
  type OrganizationMemberGridProps = {
11
10
  selectedPerson: any;
@@ -13,7 +12,6 @@ type OrganizationMemberGridProps = {
13
12
  const OrganizationMemberGrid: React.FC<OrganizationMemberGridProps> = (
14
13
  props
15
14
  ) => {
16
- const appInfo: AppInfo = useSelector((state: any) => state.AppInfo.value);
17
15
  const [selectedRecord, setSelectedRecord] = useState<any>(null);
18
16
  const {
19
17
  Window: OrganizationMemberRolesWindow,
@@ -67,7 +65,7 @@ const OrganizationMemberGrid: React.FC<OrganizationMemberGridProps> = (
67
65
  type: "field",
68
66
  mode: "props",
69
67
  props: {
70
- fieldLabel: "Organization",
68
+ fieldLabel: "ORGANIZATION_MEMBER_ORGANIZATION_ID",
71
69
  fieldName: "organizationId",
72
70
  required: true,
73
71
  fieldType: "combobox",
@@ -76,61 +74,57 @@ const OrganizationMemberGrid: React.FC<OrganizationMemberGridProps> = (
76
74
  optionDisplayField: "organizationEnName",
77
75
  },
78
76
  },
79
- ];
80
-
81
- if (appInfo?.isUserProfileManaged) {
82
- formElements.push(
83
- {
84
- type: "field",
85
- mode: "props",
86
- props: {
87
- fieldLabel: "ORGANIZATION_MEMBER_ORGANIZATION_RANK_ID",
88
- fieldName: "organizationRankId",
89
- required: false,
90
- fieldType: "combobox",
91
- options: SystemOrganizationRanks,
92
- optionValueField: "id",
93
- optionDisplayField: "rankDisplay",
94
- },
77
+ {
78
+ type: "field",
79
+ mode: "props",
80
+ props: {
81
+ fieldLabel: "ORGANIZATION_MEMBER_ORGANIZATION_RANK_ID",
82
+ fieldName: "organizationRankId",
83
+ required: false,
84
+ fieldType: "combobox",
85
+ options: SystemOrganizationRanks,
86
+ optionValueField: "id",
87
+ optionDisplayField: "rankDisplay",
95
88
  },
96
- {
97
- type: "field",
98
- mode: "props",
99
- props: {
100
- fieldLabel: "ORGANIZATION_MEMBER_ORGANIZATION_UNIT_ID",
101
- fieldName: "organizationUnitId",
102
- required: false,
103
- fieldType: "combobox",
104
- options: SystemOrganizationUnits,
105
- optionValueField: "id",
106
- optionDisplayField: "fullPath",
107
- },
89
+ },
90
+ {
91
+ type: "field",
92
+ mode: "props",
93
+ props: {
94
+ fieldLabel: "ORGANIZATION_MEMBER_ORGANIZATION_UNIT_ID",
95
+ fieldName: "organizationUnitId",
96
+ required: false,
97
+ fieldType: "combobox",
98
+ options: SystemOrganizationUnits,
99
+ optionValueField: "id",
100
+ optionDisplayField: "fullPath",
108
101
  },
109
- {
110
- type: "field",
111
- mode: "props",
112
- props: {
113
- fieldLabel: "Membership number",
114
- fieldName: "organizationMembershipNumber",
115
- fieldType: "text",
116
- },
102
+ },
103
+ {
104
+ type: "field",
105
+ mode: "props",
106
+ props: {
107
+ fieldLabel: "Membership number",
108
+ fieldName: "organizationMembershipNumber",
109
+ fieldType: "text",
117
110
  },
118
- {
119
- type: "field",
120
- mode: "props",
121
- props: {
111
+ },
112
+ {
113
+ type: "field",
114
+ mode: "props",
115
+ props: {
116
+ hidden: true,
117
+ gridProps: {
122
118
  hidden: true,
123
- gridProps: {
124
- hidden: true,
125
- },
126
- fieldLabel: "ORGANIZATION_MEMBER_PERSON_ID",
127
- fieldName: "personId",
128
- required: false,
129
- fieldType: "number",
130
119
  },
131
- }
132
- );
133
- }
120
+ fieldLabel: "ORGANIZATION_MEMBER_PERSON_ID",
121
+ fieldName: "personId",
122
+ required: false,
123
+ fieldType: "number",
124
+ },
125
+ },
126
+ ];
127
+
134
128
  return (
135
129
  <>
136
130
  <OrganizationMemberRolesWindow>
@@ -158,10 +152,7 @@ const OrganizationMemberGrid: React.FC<OrganizationMemberGridProps> = (
158
152
  },
159
153
  },
160
154
  ]}
161
- gridLoadParametersValues={{
162
- personId: props.selectedPerson.id,
163
- employeeNumber: props.selectedPerson.employeeNumber,
164
- }}
155
+ gridLoadParametersValues={{ personId: props.selectedPerson.id }}
165
156
  keyColumnName={"id"}
166
157
  gridTitle="ORGANIZATION_MEMBER_PLURAL"
167
158
  girdIcon="table-cells"
@@ -169,12 +160,7 @@ const OrganizationMemberGrid: React.FC<OrganizationMemberGridProps> = (
169
160
  isEnabled: true,
170
161
  authority: "ORGANIZATION_MEMBER_EDIT",
171
162
  preActionValidation: async (data) => {
172
- if (appInfo?.isUserProfileManaged) {
173
- data.personId = props.selectedPerson.id;
174
- } else {
175
- data.organizationMembershipNumber =
176
- props.selectedPerson.employeeNumber;
177
- }
163
+ data.personId = props.selectedPerson.id;
178
164
  return true;
179
165
  },
180
166
  }}