@asaleh37/ui-base 1.0.8 → 1.1.0

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 (129) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +1 -1
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/src/components/App.tsx +31 -0
  7. package/src/components/BaseApp.tsx +2 -3
  8. package/src/components/admin/AttachmentGrid.tsx +116 -0
  9. package/src/components/admin/AuthorityGrid.tsx +88 -0
  10. package/src/components/admin/BluePrintGrid.tsx +55 -0
  11. package/src/components/admin/BluePrintPageGrid.tsx +85 -0
  12. package/src/components/admin/BluePrintPointGrid.tsx +85 -0
  13. package/src/components/admin/DashboardGrid.tsx +95 -0
  14. package/src/components/admin/DashboardWidgetGrid.tsx +75 -0
  15. package/src/components/admin/DataQueryGrid.tsx +75 -0
  16. package/src/components/admin/DataQueryParameterGrid.tsx +98 -0
  17. package/src/components/admin/DatasourceConnectionGrid.tsx +98 -0
  18. package/src/components/admin/EmployeeGrid.tsx +105 -0
  19. package/src/components/admin/EntityParameterGrid.tsx +125 -0
  20. package/src/components/admin/ExcelUploaderDetailGrid.tsx +78 -0
  21. package/src/components/admin/ExcelUploaderHeaderGrid.tsx +78 -0
  22. package/src/components/admin/LookupGrid.tsx +95 -0
  23. package/src/components/admin/MailAttachmentGrid.tsx +65 -0
  24. package/src/components/admin/MailBodyGrid.tsx +105 -0
  25. package/src/components/admin/MailNotificationQueueGrid.tsx +131 -0
  26. package/src/components/admin/MailRecipientGrid.tsx +75 -0
  27. package/src/components/admin/MailTemplateGrid.tsx +145 -0
  28. package/src/components/admin/NewTableGrid.tsx +65 -0
  29. package/src/components/admin/NotificationGrid.tsx +115 -0
  30. package/src/components/admin/NotificationQueueGrid.tsx +125 -0
  31. package/src/components/admin/OrganizationApplicationGrid.tsx +81 -0
  32. package/src/components/admin/OrganizationGrid.tsx +65 -0
  33. package/src/components/admin/OrganizationRankGrid.tsx +85 -0
  34. package/src/components/admin/OrganizationUnitGrid.tsx +85 -0
  35. package/src/components/admin/OrganizationUserGrid.tsx +75 -0
  36. package/src/components/admin/OrganizationUserRoleGrid.tsx +98 -0
  37. package/src/components/admin/ReportGrid.tsx +155 -0
  38. package/src/components/admin/ReportParameterGrid.tsx +95 -0
  39. package/src/components/admin/RoleAuthorityGrid.tsx +65 -0
  40. package/src/components/admin/RoleGrid.tsx +78 -0
  41. package/src/components/admin/UserAccountGrid.tsx +65 -0
  42. package/src/components/admin/UserRequestGrid.tsx +145 -0
  43. package/src/components/admin/WidgetGrid.tsx +175 -0
  44. package/src/components/admin/WorkflowDocumentActionGrid.tsx +111 -0
  45. package/src/components/admin/WorkflowDocumentActionHistoryGrid.tsx +111 -0
  46. package/src/components/admin/WorkflowDocumentActionMailGrid.tsx +71 -0
  47. package/src/components/admin/WorkflowDocumentGrid.tsx +185 -0
  48. package/src/components/admin/WorkflowDocumentMailLogGrid.tsx +141 -0
  49. package/src/components/admin/WorkflowDocumentStatusGrid.tsx +121 -0
  50. package/src/components/common/Home.tsx +31 -0
  51. package/src/components/common/LanguageSwitcher.tsx +25 -0
  52. package/src/components/common/LayoutHandlers.tsx +12 -0
  53. package/src/components/common/LoadingMask.tsx +19 -0
  54. package/src/components/common/Login.tsx +183 -0
  55. package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +288 -0
  56. package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +201 -0
  57. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormAction.tsx +60 -0
  58. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementField.tsx +194 -0
  59. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormElementGroup.tsx +98 -0
  60. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/CheckBox.tsx +64 -0
  61. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/ComboBox.tsx +94 -0
  62. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/Datefield.tsx +65 -0
  63. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/DatetimeField.tsx +64 -0
  64. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/FiltersPanel.tsx +237 -0
  65. package/src/components/templates/DataEntryTemplates/TemplateDataForm/FormFields/TemplateTextField.tsx +9 -0
  66. package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +256 -0
  67. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +188 -0
  68. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid.tsx +844 -0
  69. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridMultiRecordAction.tsx +89 -0
  70. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridRecordAction.tsx +92 -0
  71. package/src/components/templates/DataEntryTemplates/TemplateDataGrid/TemplateGridTopBar.tsx +228 -0
  72. package/src/components/templates/DataEntryTemplates/useApiActions.ts +125 -0
  73. package/src/components/templates/TransferList.tsx +250 -0
  74. package/src/components/templates/Window/ConfirmationWindow.tsx +55 -0
  75. package/src/components/templates/visuals/TemplateDashboard.tsx +126 -0
  76. package/src/components/templates/visuals/charts/TemplateBarChart.tsx +16 -0
  77. package/src/components/templates/visuals/charts/TemplateDataCard.tsx +60 -0
  78. package/src/components/templates/visuals/charts/TemplateGauge.tsx +16 -0
  79. package/src/components/templates/visuals/charts/TemplateLineChart.tsx +16 -0
  80. package/src/components/templates/visuals/charts/TemplateLineProgress.tsx +40 -0
  81. package/src/components/templates/visuals/charts/TemplatePieChart.tsx +25 -0
  82. package/src/hooks/UseConfirmationWindow.tsx +54 -0
  83. package/src/hooks/UseMobile.tsx +13 -0
  84. package/src/hooks/UseSession.tsx +26 -0
  85. package/src/hooks/UseWindow.tsx +106 -0
  86. package/src/hooks/useAxios.tsx +271 -0
  87. package/src/hooks/useLoadingMask.tsx +16 -0
  88. package/src/layout/DrawerHeader.tsx +10 -0
  89. package/src/layout/Layout.tsx +122 -0
  90. package/src/layout/MainContent.tsx +43 -0
  91. package/src/layout/MobileDrawer.tsx +103 -0
  92. package/src/layout/NavigationTree.tsx +284 -0
  93. package/src/layout/SideBar.tsx +80 -0
  94. package/src/layout/TopBar.tsx +142 -0
  95. package/src/locales/arabic/adminLocalsAr.json +356 -0
  96. package/src/locales/arabic/common.json +34 -0
  97. package/src/locales/arabic/index.ts +7 -0
  98. package/src/locales/english/adminLocalsEn.json +356 -0
  99. package/src/locales/english/common.json +33 -0
  100. package/src/locales/english/index.ts +6 -0
  101. package/src/locales/english/index.tsx +0 -0
  102. package/src/locales/i18n.ts +15 -0
  103. package/src/locales/index.ts +9 -0
  104. package/src/navigationItems/Administration/adminNavigationItems.tsx +182 -0
  105. package/src/navigationItems/Administration/index.tsx +71 -0
  106. package/src/navigationItems/common/CommonNavigationItems.tsx +12 -0
  107. package/src/navigationItems/common/index.tsx +7 -0
  108. package/src/navigationItems/index.tsx +34 -0
  109. package/src/redux/features/administration/AdministrationStoresMetaData.ts +72 -0
  110. package/src/redux/features/business/BusinessStoresMetaData.ts +3 -0
  111. package/src/redux/features/business/CommonStoreSlice.ts +37 -0
  112. package/src/redux/features/common/AppInfoSlice.ts +30 -0
  113. package/src/redux/features/common/AppLayoutSlice.ts +37 -0
  114. package/src/redux/features/common/LoadingMaskSlice.ts +30 -0
  115. package/src/redux/features/common/UserSessionSlice.ts +62 -0
  116. package/src/redux/store.ts +10 -10
  117. package/src/routes/administration/adminRoutes.tsx +259 -0
  118. package/src/routes/administration/index.ts +4 -0
  119. package/src/routes/index.ts +11 -0
  120. package/src/routes/types/index.ts +5 -0
  121. package/src/styles/index.css +20 -0
  122. package/src/theme/DarkThemeOptions.ts +30 -0
  123. package/src/theme/LightThemeOptions.ts +34 -0
  124. package/src/util/AppUtils.ts +18 -0
  125. package/src/util/constants.ts +2 -0
  126. package/tsconfig.json +2 -2
  127. package/src/MyComponent1.tsx +0 -16
  128. package/src/components/Counter.tsx +0 -32
  129. package/src/redux/CounterSlice.ts +0 -17
@@ -0,0 +1,185 @@
1
+ import { useState } from "react";
2
+ import TemplateGrid from "../templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid";
3
+ import useApiActions from "../templates/DataEntryTemplates/useApiActions";
4
+ import { FormElementProps } from "../templates/DataEntryTemplates/DataEntryTypes";
5
+
6
+ const WorkflowDocumentGrid: React.FC = () => {
7
+ const [data, setData] = useState([]);
8
+ const apiActions = useApiActions({
9
+ findAll: "api/v1/admin/workflowdocument/all",
10
+ deleteById: "api/v1/admin/workflowdocument",
11
+ save: "api/v1/admin/workflowdocument",
12
+ findById: "api/v1/admin/workflowdocument",
13
+ setData: setData,
14
+ });
15
+
16
+ const formElements: Array<FormElementProps> = [
17
+ {
18
+ type: "field",
19
+ mode: "props",
20
+ props: {
21
+ fieldLabel: "WORKFLOW_DOCUMENT_APP_NOTIFICATION_ICON",
22
+ fieldName: "appNotificationIcon",
23
+ required: false,
24
+ fieldType: "text",
25
+ },
26
+ },
27
+ {
28
+ type: "field",
29
+ mode: "props",
30
+ props: {
31
+ fieldLabel: "WORKFLOW_DOCUMENT_APP_NOTIFICATION_STYLE",
32
+ fieldName: "appNotificationStyle",
33
+ required: false,
34
+ fieldType: "text",
35
+ },
36
+ },
37
+ {
38
+ type: "field",
39
+ mode: "props",
40
+ props: {
41
+ fieldLabel: "WORKFLOW_DOCUMENT_APP_VIEW_ROUTE",
42
+ fieldName: "appViewRoute",
43
+ required: false,
44
+ fieldType: "text",
45
+ },
46
+ },
47
+ {
48
+ type: "field",
49
+ mode: "props",
50
+ props: {
51
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_CODE",
52
+ fieldName: "documentCode",
53
+ required: false,
54
+ fieldType: "text",
55
+ },
56
+ },
57
+ {
58
+ type: "field",
59
+ mode: "props",
60
+ props: {
61
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_CON_ID",
62
+ fieldName: "documentConId",
63
+ required: false,
64
+ fieldType: "text",
65
+ },
66
+ },
67
+ {
68
+ type: "field",
69
+ mode: "props",
70
+ props: {
71
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_DATABASE_NAME",
72
+ fieldName: "documentDatabaseName",
73
+ required: false,
74
+ fieldType: "text",
75
+ },
76
+ },
77
+ {
78
+ type: "field",
79
+ mode: "props",
80
+ props: {
81
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_DATABASE_TABLE",
82
+ fieldName: "documentDatabaseTable",
83
+ required: false,
84
+ fieldType: "text",
85
+ },
86
+ },
87
+ {
88
+ type: "field",
89
+ mode: "props",
90
+ props: {
91
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_ID_FIELD",
92
+ fieldName: "documentIdField",
93
+ required: false,
94
+ fieldType: "text",
95
+ },
96
+ },
97
+ {
98
+ type: "field",
99
+ mode: "props",
100
+ props: {
101
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_NAME",
102
+ fieldName: "documentName",
103
+ required: false,
104
+ fieldType: "text",
105
+ },
106
+ },
107
+ {
108
+ type: "field",
109
+ mode: "props",
110
+ props: {
111
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_NUMBER_FIELD",
112
+ fieldName: "documentNumberField",
113
+ required: false,
114
+ fieldType: "text",
115
+ },
116
+ },
117
+ {
118
+ type: "field",
119
+ mode: "props",
120
+ props: {
121
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_REPORT_ID",
122
+ fieldName: "documentReportId",
123
+ required: false,
124
+ fieldType: "text",
125
+ },
126
+ },
127
+ {
128
+ type: "field",
129
+ mode: "props",
130
+ props: {
131
+ fieldLabel: "WORKFLOW_DOCUMENT_DOCUMENT_STATUS_FIELD",
132
+ fieldName: "documentStatusField",
133
+ required: false,
134
+ fieldType: "text",
135
+ },
136
+ },
137
+ {
138
+ type: "field",
139
+ mode: "props",
140
+ props: {
141
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_APPROVAL_ALLOWED",
142
+ fieldName: "mailApprovalAllowed",
143
+ required: false,
144
+ fieldType: "checkbox",
145
+ },
146
+ },
147
+ {
148
+ type: "field",
149
+ mode: "props",
150
+ props: {
151
+ fieldLabel: "WORKFLOW_DOCUMENT_ORG_CODE",
152
+ fieldName: "orgCode",
153
+ required: false,
154
+ fieldType: "text",
155
+ },
156
+ },
157
+ {
158
+ type: "field",
159
+ mode: "props",
160
+ props: {
161
+ fieldLabel: "WORKFLOW_DOCUMENT_USE_SYSTEM_CON",
162
+ fieldName: "useSystemCon",
163
+ required: false,
164
+ fieldType: "checkbox",
165
+ },
166
+ },
167
+ ];
168
+
169
+ return (
170
+ <TemplateGrid
171
+ apiActions={apiActions}
172
+ data={data}
173
+ setData={setData}
174
+ editMode={{ editMode: "row" }}
175
+ formElements={formElements}
176
+ keyColumnName={"id"}
177
+ gridTitle="WORKFLOW_DOCUMENT_PLURAL"
178
+ girdIcon="table-cells"
179
+ editAction={{ isEnabled: true, authority: "WORKFLOW_DOCUMENT_EDIT" }}
180
+ deleteAction={{ isEnabled: true, authority: "WORKFLOW_DOCUMENT_DELETE" }}
181
+ />
182
+ );
183
+ };
184
+
185
+ export default WorkflowDocumentGrid;
@@ -0,0 +1,141 @@
1
+ import { useState } from "react";
2
+ import TemplateGrid from "../templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid";
3
+ import useApiActions from "../templates/DataEntryTemplates/useApiActions";
4
+ import { FormElementProps } from "../templates/DataEntryTemplates/DataEntryTypes";
5
+
6
+ const WorkflowDocumentMailLogGrid: React.FC = () => {
7
+ const [data, setData] = useState([]);
8
+ const apiActions = useApiActions({
9
+ findAll: "api/v1/admin/workflowdocumentmaillog/all",
10
+ deleteById: "api/v1/admin/workflowdocumentmaillog",
11
+ save: "api/v1/admin/workflowdocumentmaillog",
12
+ findById: "api/v1/admin/workflowdocumentmaillog",
13
+ setData: setData,
14
+ });
15
+
16
+ const formElements: Array<FormElementProps> = [
17
+ {
18
+ type: "field",
19
+ mode: "props",
20
+ props: {
21
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_GRAPH_API_MSG_ID",
22
+ fieldName: "graphApiMsgId",
23
+ required: false,
24
+ fieldType: "text",
25
+ },
26
+ },
27
+ {
28
+ type: "field",
29
+ mode: "props",
30
+ props: {
31
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_IS_PROCESSED",
32
+ fieldName: "isProcessed",
33
+ required: false,
34
+ fieldType: "checkbox",
35
+ },
36
+ },
37
+ {
38
+ type: "field",
39
+ mode: "props",
40
+ props: {
41
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_MAIL_ACTION_CODE",
42
+ fieldName: "mailActionCode",
43
+ required: false,
44
+ fieldType: "text",
45
+ },
46
+ },
47
+ {
48
+ type: "field",
49
+ mode: "props",
50
+ props: {
51
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_MAIL_BODY_CONTENT",
52
+ fieldName: "mailBodyContent",
53
+ required: false,
54
+ fieldType: "text",
55
+ },
56
+ },
57
+ {
58
+ type: "field",
59
+ mode: "props",
60
+ props: {
61
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_MAIL_FROM",
62
+ fieldName: "mailFrom",
63
+ required: false,
64
+ fieldType: "text",
65
+ },
66
+ },
67
+ {
68
+ type: "field",
69
+ mode: "props",
70
+ props: {
71
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_MAIL_SUBJECT",
72
+ fieldName: "mailSubject",
73
+ required: false,
74
+ fieldType: "text",
75
+ },
76
+ },
77
+ {
78
+ type: "field",
79
+ mode: "props",
80
+ props: {
81
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_PROCESS_MESSAGE",
82
+ fieldName: "processMessage",
83
+ required: false,
84
+ fieldType: "text",
85
+ },
86
+ },
87
+ {
88
+ type: "field",
89
+ mode: "props",
90
+ props: {
91
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_PROCESS_TIME",
92
+ fieldName: "processTime",
93
+ required: false,
94
+ fieldType: "datetime",
95
+ },
96
+ },
97
+ {
98
+ type: "field",
99
+ mode: "props",
100
+ props: {
101
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_REF_DOC_ID",
102
+ fieldName: "refDocId",
103
+ required: false,
104
+ fieldType: "text",
105
+ },
106
+ },
107
+ {
108
+ type: "field",
109
+ mode: "props",
110
+ props: {
111
+ fieldLabel: "WORKFLOW_DOCUMENT_MAIL_LOG_WORKFLOW_DOCUMENT_ID",
112
+ fieldName: "workflowDocumentId",
113
+ required: false,
114
+ fieldType: "text",
115
+ },
116
+ },
117
+ ];
118
+
119
+ return (
120
+ <TemplateGrid
121
+ apiActions={apiActions}
122
+ data={data}
123
+ setData={setData}
124
+ editMode={{ editMode: "row" }}
125
+ formElements={formElements}
126
+ keyColumnName={"id"}
127
+ gridTitle="WORKFLOW_DOCUMENT_MAIL_LOG_PLURAL"
128
+ girdIcon="table-cells"
129
+ editAction={{
130
+ isEnabled: true,
131
+ authority: "WORKFLOW_DOCUMENT_MAIL_LOG_EDIT",
132
+ }}
133
+ deleteAction={{
134
+ isEnabled: true,
135
+ authority: "WORKFLOW_DOCUMENT_MAIL_LOG_DELETE",
136
+ }}
137
+ />
138
+ );
139
+ };
140
+
141
+ export default WorkflowDocumentMailLogGrid;
@@ -0,0 +1,121 @@
1
+ import { useState } from "react";
2
+ import TemplateGrid from "../templates/DataEntryTemplates/TemplateDataGrid/TemplateGrid";
3
+ import useApiActions from "../templates/DataEntryTemplates/useApiActions";
4
+ import { FormElementProps } from "../templates/DataEntryTemplates/DataEntryTypes";
5
+
6
+ const WorkflowDocumentStatusGrid: React.FC = () => {
7
+ const [data, setData] = useState([]);
8
+ const apiActions = useApiActions({
9
+ findAll: "api/v1/admin/workflowdocumentstatus/all",
10
+ deleteById: "api/v1/admin/workflowdocumentstatus",
11
+ save: "api/v1/admin/workflowdocumentstatus",
12
+ findById: "api/v1/admin/workflowdocumentstatus",
13
+ setData: setData,
14
+ });
15
+
16
+ const formElements: Array<FormElementProps> = [
17
+ {
18
+ type: "field",
19
+ mode: "props",
20
+ props: {
21
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_DOCUMENT_STATUS_CODE",
22
+ fieldName: "documentStatusCode",
23
+ required: false,
24
+ fieldType: "text",
25
+ },
26
+ },
27
+ {
28
+ type: "field",
29
+ mode: "props",
30
+ props: {
31
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_DOCUMENT_STATUS_NAME",
32
+ fieldName: "documentStatusName",
33
+ required: false,
34
+ fieldType: "text",
35
+ },
36
+ },
37
+ {
38
+ type: "field",
39
+ mode: "props",
40
+ props: {
41
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_DOCUMENT_STATUS_ORDER",
42
+ fieldName: "documentStatusOrder",
43
+ required: false,
44
+ fieldType: "text",
45
+ },
46
+ },
47
+ {
48
+ type: "field",
49
+ mode: "props",
50
+ props: {
51
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_ENABLED",
52
+ fieldName: "enabled",
53
+ required: false,
54
+ fieldType: "checkbox",
55
+ },
56
+ },
57
+ {
58
+ type: "field",
59
+ mode: "props",
60
+ props: {
61
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_IS_ZERO_STATE",
62
+ fieldName: "isZeroState",
63
+ required: false,
64
+ fieldType: "checkbox",
65
+ },
66
+ },
67
+ {
68
+ type: "field",
69
+ mode: "props",
70
+ props: {
71
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_NEXT_ACTION_TAKERS_QUERY_ID",
72
+ fieldName: "nextActionTakersQueryId",
73
+ required: false,
74
+ fieldType: "text",
75
+ },
76
+ },
77
+ {
78
+ type: "field",
79
+ mode: "props",
80
+ props: {
81
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_NEXT_ACTIONS_QUERY_ID",
82
+ fieldName: "nextActionsQueryId",
83
+ required: false,
84
+ fieldType: "text",
85
+ },
86
+ },
87
+ {
88
+ type: "field",
89
+ mode: "props",
90
+ props: {
91
+ fieldLabel: "WORKFLOW_DOCUMENT_STATUS_WORKFLOW_DOCUMENT_ID",
92
+ fieldName: "workflowDocumentId",
93
+ required: false,
94
+ fieldType: "text",
95
+ },
96
+ },
97
+ ];
98
+
99
+ return (
100
+ <TemplateGrid
101
+ apiActions={apiActions}
102
+ data={data}
103
+ setData={setData}
104
+ editMode={{ editMode: "row" }}
105
+ formElements={formElements}
106
+ keyColumnName={"id"}
107
+ gridTitle="WORKFLOW_DOCUMENT_STATUS_PLURAL"
108
+ girdIcon="table-cells"
109
+ editAction={{
110
+ isEnabled: true,
111
+ authority: "WORKFLOW_DOCUMENT_STATUS_EDIT",
112
+ }}
113
+ deleteAction={{
114
+ isEnabled: true,
115
+ authority: "WORKFLOW_DOCUMENT_STATUS_DELETE",
116
+ }}
117
+ />
118
+ );
119
+ };
120
+
121
+ export default WorkflowDocumentStatusGrid;
@@ -0,0 +1,31 @@
1
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
2
+ import { Box } from "@mui/material";
3
+
4
+ const Home: React.FC = () => {
5
+ return (
6
+ <Box
7
+ sx={{
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ alignItems: "center",
11
+ justifyContent: "center",
12
+ flex: 1,
13
+ fontSize: 24,
14
+ fontWeight: "bold",
15
+ }}
16
+ >
17
+ <img src="logo.png" style={{ margin: 5 }} />
18
+ <div>Welcome to Ezzsteel Flat Product Management System</div>
19
+ <div style={{ fontSize: 16 }}>
20
+ Use side menu [
21
+ <FontAwesomeIcon
22
+ icon="bars"
23
+ style={{ marginLeft: 10, marginRight: 10 }}
24
+ />
25
+ ] to navigate to your authorized system modules
26
+ </div>
27
+ </Box>
28
+ );
29
+ };
30
+
31
+ export default Home;
@@ -0,0 +1,25 @@
1
+ import { changeLanguage } from "../../locales/i18n";
2
+
3
+
4
+ const LanguageSwitcher: React.FC = () => {
5
+ return (
6
+ <div>
7
+ <button
8
+ onClick={() => {
9
+ changeLanguage("ar");
10
+ }}
11
+ >
12
+ arabic
13
+ </button>
14
+ <button
15
+ onClick={() => {
16
+ changeLanguage("en");
17
+ }}
18
+ >
19
+ english
20
+ </button>
21
+ </div>
22
+ );
23
+ };
24
+
25
+ export default LanguageSwitcher;
@@ -0,0 +1,12 @@
1
+ import rtlPlugin from "stylis-plugin-rtl";
2
+ import { prefixer } from "stylis";
3
+ import createCache from "@emotion/cache";
4
+
5
+ export const cacheRtl = createCache({
6
+ key: "muirtl",
7
+ stylisPlugins: [prefixer, rtlPlugin],
8
+ });
9
+
10
+ export const cacheLtr = createCache({
11
+ key: "mui",
12
+ });
@@ -0,0 +1,19 @@
1
+ import { useSelector } from "react-redux";
2
+ import { RootState } from "../../redux/store";
3
+ import { Backdrop, CircularProgress } from "@mui/material";
4
+
5
+ const LoadingMask: React.FC = () => {
6
+ const loadingMask = useSelector(
7
+ (state: RootState) => state.loadingMask.value
8
+ );
9
+ return (
10
+ <Backdrop
11
+ sx={{ color: "#fff", zIndex: (theme) => theme.zIndex.drawer + 1 }}
12
+ open={loadingMask.isOpened}
13
+ >
14
+ <CircularProgress color="inherit" />
15
+ </Backdrop>
16
+ );
17
+ };
18
+
19
+ export default LoadingMask;