ui-soxo-bootstrap-core 2.4.24 → 2.4.25-dev.11
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/npm-publish.yml +37 -15
- package/core/components/extra-info/extra-info-details.js +109 -126
- package/core/components/landing-api/landing-api.js +22 -30
- package/core/lib/Store.js +20 -18
- package/core/lib/components/index.js +4 -1
- package/core/lib/components/sidemenu/sidemenu.js +153 -256
- package/core/lib/components/sidemenu/sidemenu.scss +39 -26
- package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +119 -42
- package/core/lib/elements/basic/rangepicker/rangepicker.js +118 -29
- package/core/lib/elements/basic/switch/switch.js +35 -25
- package/core/lib/hooks/index.js +2 -12
- package/core/lib/hooks/use-otp-timer.js +99 -0
- package/core/lib/pages/login/login.js +255 -139
- package/core/lib/pages/login/login.scss +140 -32
- package/core/models/dashboard/dashboard.js +14 -0
- package/core/models/doctor/components/doctor-add/doctor-add.js +403 -0
- package/core/models/doctor/components/doctor-add/doctor-add.scss +32 -0
- package/core/models/menus/components/menu-add/menu-add.js +220 -267
- package/core/models/menus/components/menu-lists/menu-lists.js +366 -211
- package/core/models/menus/components/menu-lists/menu-lists.scss +6 -2
- package/core/models/menus/menus.js +256 -267
- package/core/models/roles/components/role-add/role-add.js +265 -228
- package/core/models/roles/components/role-list/role-list.js +326 -348
- package/core/models/roles/roles.js +191 -174
- package/core/models/staff/components/staff-add/staff-add.js +352 -0
- package/core/models/staff/components/staff-add/staff-add.scss +0 -0
- package/core/models/users/components/user-add/user-add.js +723 -367
- package/core/models/users/components/user-add/user-edit.js +90 -0
- package/core/models/users/users.js +318 -165
- package/core/modules/index.js +5 -8
- package/core/modules/reporting/components/index.js +5 -0
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +65 -2
- package/core/modules/steps/action-buttons.js +79 -0
- package/core/modules/steps/steps.js +553 -0
- package/core/modules/steps/steps.scss +158 -0
- package/core/modules/steps/timeline.js +49 -0
- package/package.json +2 -2
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { Modal, Button, Skeleton } from 'antd';
|
|
3
|
+
import { EditOutlined } from '@ant-design/icons';
|
|
4
|
+
import UserAdd from '../../../../models/users/components/user-add/user-add';
|
|
5
|
+
import { UsersAPI } from '../../..';
|
|
6
|
+
|
|
7
|
+
export default function UserEdit(record) {
|
|
8
|
+
const [visible, setVisible] = useState(false);
|
|
9
|
+
const [userData, setUserData] = useState({});
|
|
10
|
+
const [loading, setLoading] = useState(false);
|
|
11
|
+
// Handle edit button click
|
|
12
|
+
const handleEditClick = () => {
|
|
13
|
+
if (!record.id) {
|
|
14
|
+
console.warn('Invalid record: Missing ID');
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
setVisible(true);
|
|
19
|
+
setLoading(true);
|
|
20
|
+
// Fetch user data from API
|
|
21
|
+
UsersAPI.getUser({ id: record.id })
|
|
22
|
+
.then((result) => {
|
|
23
|
+
if (result?.success && result?.result) {
|
|
24
|
+
// Map API data to form fields
|
|
25
|
+
const apiData = result.result;
|
|
26
|
+
// Parse `other_details` if it's a JSON string
|
|
27
|
+
let otherDetails = {};
|
|
28
|
+
if (apiData.other_details) {
|
|
29
|
+
// Try parsing other_details, handle error if invalid JSON
|
|
30
|
+
try {
|
|
31
|
+
otherDetails = JSON.parse(apiData.other_details);
|
|
32
|
+
} catch (err) {
|
|
33
|
+
console.warn('Failed to parse other_details:', apiData.other_details);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
let orgDetails = {};
|
|
37
|
+
try {
|
|
38
|
+
// Parse organization_details if it's a JSON string
|
|
39
|
+
orgDetails = apiData.organization_details ? JSON.parse(apiData.organization_details) : {};
|
|
40
|
+
} catch (e) {
|
|
41
|
+
orgDetails = {};
|
|
42
|
+
}
|
|
43
|
+
// Construct mapped data object
|
|
44
|
+
const mappedData = {
|
|
45
|
+
id: apiData.id,
|
|
46
|
+
user_type: otherDetails.user_type || apiData.user_type,
|
|
47
|
+
name: apiData.name,
|
|
48
|
+
email: apiData.email,
|
|
49
|
+
mobile: apiData.mobile,
|
|
50
|
+
designation: apiData.designation_code,
|
|
51
|
+
department: apiData.department_id,
|
|
52
|
+
// Handle selected branches and default branch
|
|
53
|
+
selectedBranches: orgDetails.branch_ids || [],
|
|
54
|
+
defaultBranch: apiData.firm_id || null,
|
|
55
|
+
password: apiData.password,
|
|
56
|
+
user_group: apiData.user_group,
|
|
57
|
+
// Handle doctor codes
|
|
58
|
+
default_code: apiData.doctor_code,
|
|
59
|
+
doctor_code: apiData.doctor_code,
|
|
60
|
+
auth_type: apiData.auth_type,
|
|
61
|
+
FA: apiData.FA,
|
|
62
|
+
active: apiData.active ? true : false,
|
|
63
|
+
};
|
|
64
|
+
// Set form data state
|
|
65
|
+
setUserData(mappedData);
|
|
66
|
+
} else {
|
|
67
|
+
setUserData({});
|
|
68
|
+
}
|
|
69
|
+
})
|
|
70
|
+
.catch((err) => console.error(err))
|
|
71
|
+
.finally(() => setLoading(false));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<div>
|
|
76
|
+
{/* { edit button } */}
|
|
77
|
+
<Button type="link" icon={<EditOutlined />} onClick={handleEditClick} disabled={!record.id} />
|
|
78
|
+
{/* { modal for edit button} */}
|
|
79
|
+
<Modal open={visible} onCancel={() => setVisible(false)} footer={null} destroyOnClose width={950} style={{ top: 10 }}>
|
|
80
|
+
{loading ? (
|
|
81
|
+
<div className="">
|
|
82
|
+
<Skeleton active />
|
|
83
|
+
</div>
|
|
84
|
+
) : (
|
|
85
|
+
<UserAdd mode="Edit" formContent={userData} callback={() => setVisible(false)} edit={true} />
|
|
86
|
+
)}
|
|
87
|
+
</Modal>
|
|
88
|
+
</div>
|
|
89
|
+
);
|
|
90
|
+
}
|
|
@@ -15,171 +15,324 @@ import UserList from './components/user-list/user-list';
|
|
|
15
15
|
import UserAdd from './components/user-add/user-add';
|
|
16
16
|
|
|
17
17
|
class Users extends Base {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
|
|
21
|
+
this.fields = [
|
|
22
|
+
{
|
|
23
|
+
field: 'name',
|
|
24
|
+
caption: 'Name',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
field: 'url',
|
|
28
|
+
caption: 'Url',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Link for redirection
|
|
35
|
+
*/
|
|
36
|
+
get link() {
|
|
37
|
+
return this.name.toLowerCase();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get getEndpoint() {
|
|
41
|
+
return 'users';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
get path() {
|
|
45
|
+
return `users`;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get getName() {
|
|
49
|
+
return this.modelName + `s`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
get modelName() {
|
|
53
|
+
return `user`;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
get route() {
|
|
57
|
+
return 'users';
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
*/
|
|
63
|
+
get columns() {
|
|
64
|
+
return [
|
|
65
|
+
{
|
|
66
|
+
caption: 'Name',
|
|
67
|
+
field: 'name',
|
|
68
|
+
key: 'name',
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
{
|
|
72
|
+
caption: 'Email',
|
|
73
|
+
field: 'email',
|
|
74
|
+
key: 'email',
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
// {
|
|
78
|
+
// // field: '',
|
|
79
|
+
// title: 'Detail',
|
|
80
|
+
// render: record => {
|
|
81
|
+
// return (
|
|
82
|
+
// <ExtraInfoDetail icon={true} modeValue='UD' icon='Button' title='User Details' {...record} />
|
|
83
|
+
|
|
84
|
+
// );
|
|
85
|
+
// },
|
|
86
|
+
// }
|
|
87
|
+
|
|
88
|
+
// {
|
|
89
|
+
// caption: 'Url',
|
|
90
|
+
// field: 'url',
|
|
91
|
+
// key: 'url',
|
|
92
|
+
// },
|
|
93
|
+
|
|
94
|
+
// {
|
|
95
|
+
// caption: 'Route',
|
|
96
|
+
// field: 'route',
|
|
97
|
+
// key: 'route',
|
|
98
|
+
// },
|
|
99
|
+
|
|
100
|
+
// {
|
|
101
|
+
// caption: 'Doc Url',
|
|
102
|
+
// field: 'documentation_url',
|
|
103
|
+
// key: 'documentation_url',
|
|
104
|
+
// },
|
|
105
|
+
|
|
106
|
+
// {
|
|
107
|
+
// caption: 'Created at',
|
|
108
|
+
// field: 'created_at',
|
|
109
|
+
// key: 'created_at',
|
|
110
|
+
// render: (ele) => {
|
|
111
|
+
// return ele.created_at ? DateUtils.formatDate(ele.created_at) : null
|
|
112
|
+
// },
|
|
113
|
+
// },
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
ListComponent = UserList;
|
|
118
|
+
|
|
119
|
+
DetailComponent = UserDetail;
|
|
120
|
+
|
|
121
|
+
ModalAddComponent = (props) => <UserAdd model={this} {...props} />;
|
|
122
|
+
|
|
123
|
+
login = (formBody) => {
|
|
124
|
+
return ApiUtils.post({ url: 'auth/login', formBody, baseUrl: process.env.REACT_APP_baseurl });
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
*
|
|
129
|
+
* @param {*} values
|
|
130
|
+
* @param {*} user
|
|
131
|
+
* @returns
|
|
132
|
+
*/
|
|
133
|
+
update = ({ id, formBody, user }) => {
|
|
134
|
+
return ApiUtils.put({ url: this.endpoint + '/' + id, formBody });
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
authStatus = () => {
|
|
138
|
+
return ApiUtils.get({ url: 'auth/whoami', baseUrl: process.env.REACT_APP_baseurl });
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
logout = () => {
|
|
142
|
+
return ApiUtils.put({ url: 'auth/logout', baseUrl: process.env.REACT_APP_baseurl });
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Cutsom Api for creating user
|
|
147
|
+
*
|
|
148
|
+
* @param {*} values
|
|
149
|
+
* @returns
|
|
150
|
+
*/
|
|
151
|
+
create = (formBody) => {
|
|
152
|
+
return ApiUtils.post({ url: `users/create-user`, formBody });
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Get Branches
|
|
157
|
+
* @returns
|
|
158
|
+
*
|
|
159
|
+
*/
|
|
160
|
+
getBranches = () => {
|
|
161
|
+
return ApiUtils.get({
|
|
162
|
+
url: `branch-master/get-records`,
|
|
163
|
+
headers: {
|
|
164
|
+
db_ptr: process.env.REACT_APP_HO_DB_PTR,
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Get Designations
|
|
171
|
+
* @returns
|
|
172
|
+
*
|
|
173
|
+
*/
|
|
174
|
+
getDesignations = () => {
|
|
175
|
+
return ApiUtils.get({
|
|
176
|
+
url: `designation?dg_active=Y`,
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Get Departments
|
|
182
|
+
* @returns
|
|
183
|
+
*
|
|
184
|
+
*/
|
|
185
|
+
getDepartments = () => {
|
|
186
|
+
return ApiUtils.get({
|
|
187
|
+
url: `department?dp_active=Y`,
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Get All doctors with active ='Y'
|
|
193
|
+
* @returns
|
|
194
|
+
*
|
|
195
|
+
*/
|
|
196
|
+
getDoctors = () => {
|
|
197
|
+
return ApiUtils.get({
|
|
198
|
+
url: `doctor?do_active=Y`,
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
*Cutsom Api for creating doctor
|
|
204
|
+
* @returns
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
createDoctors = (formBody) => {
|
|
208
|
+
return ApiUtils.post({
|
|
209
|
+
url: `doctor/create-doctor`,
|
|
210
|
+
formBody,
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* get all doctors
|
|
216
|
+
* @returns
|
|
217
|
+
*/
|
|
218
|
+
|
|
219
|
+
getAllDoctors = () => {
|
|
220
|
+
return ApiUtils.get({
|
|
221
|
+
url: 'doctor/get-all-doctor',
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* edit doctor with id
|
|
227
|
+
* @returns
|
|
228
|
+
*/
|
|
229
|
+
|
|
230
|
+
getDoctor = (id) => {
|
|
231
|
+
return ApiUtils.get({
|
|
232
|
+
url: `doctor/get-doctor/${id}`,
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Update a doctor by ID
|
|
238
|
+
* @param {Object} formBody - Data to update
|
|
239
|
+
* @param {string|number} id - Doctor ID
|
|
240
|
+
* @returns {Promise} API response
|
|
241
|
+
*/
|
|
242
|
+
updateDoctors = (formBody, id) => {
|
|
243
|
+
return ApiUtils.put({
|
|
244
|
+
url: `doctor/update/${id}`,
|
|
245
|
+
formBody,
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* doctor code validation
|
|
251
|
+
*
|
|
252
|
+
*/
|
|
253
|
+
getDoctorCode = (code) => {
|
|
254
|
+
return ApiUtils.get({
|
|
255
|
+
url: `doctor/validate/${code}`,
|
|
256
|
+
});
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Get Ldap users
|
|
261
|
+
* @returns
|
|
262
|
+
*/
|
|
263
|
+
getLdapUsers = () => {
|
|
264
|
+
return ApiUtils.get({ url: 'auth/ldap-users', baseUrl: process.env.REACT_APP_baseurl });
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Cutsom Api for updating user
|
|
269
|
+
*
|
|
270
|
+
* @param {*} values
|
|
271
|
+
* @returns
|
|
272
|
+
*/
|
|
273
|
+
updateUser = ({ id, formBody }) => {
|
|
274
|
+
return ApiUtils.put({ url: `users/update-user/${id}`, formBody });
|
|
275
|
+
};
|
|
276
|
+
getUser = ({ id }) => {
|
|
277
|
+
return ApiUtils.get({ url: `users/${id}` });
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
*Cutsom Api for creating staff
|
|
282
|
+
* @returns
|
|
283
|
+
*/
|
|
284
|
+
|
|
285
|
+
createStaff = (formBody) => {
|
|
286
|
+
return ApiUtils.post({
|
|
287
|
+
url: `staff/create-staff`,
|
|
288
|
+
formBody,
|
|
289
|
+
});
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Update a staff by ID
|
|
294
|
+
* @param {Object} formBody - Data to update
|
|
295
|
+
* @param {string|number} id - Staff ID
|
|
296
|
+
* @returns {Promise} API response
|
|
297
|
+
*/
|
|
298
|
+
updateStaff = (formBody, id) => {
|
|
299
|
+
return ApiUtils.put({
|
|
300
|
+
url: `staff/update-staff/${id}`,
|
|
301
|
+
formBody,
|
|
302
|
+
});
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* edit staff with id
|
|
307
|
+
* @returns
|
|
308
|
+
*/
|
|
309
|
+
|
|
310
|
+
getStaff = (id) => {
|
|
311
|
+
return ApiUtils.get({
|
|
312
|
+
url: `staff/get-staff/${id}`,
|
|
313
|
+
});
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* staff code validation
|
|
318
|
+
*
|
|
319
|
+
*/
|
|
320
|
+
getStaffCode = (code) => {
|
|
321
|
+
return ApiUtils.get({
|
|
322
|
+
url: `staff/check-staff-exists/${code}`,
|
|
323
|
+
});
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* get all staff
|
|
328
|
+
* @returns
|
|
329
|
+
*/
|
|
330
|
+
|
|
331
|
+
getAllStaff = () => {
|
|
332
|
+
return ApiUtils.get({
|
|
333
|
+
url: 'staff/get-all-staff',
|
|
334
|
+
});
|
|
335
|
+
};
|
|
183
336
|
}
|
|
184
337
|
|
|
185
338
|
export default Users;
|
package/core/modules/index.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
1
|
import GenericList from './generic/components/generic-list/generic-list';
|
|
4
2
|
|
|
5
|
-
import GenericAdd from './generic/components/generic-add/generic-add'
|
|
3
|
+
import GenericAdd from './generic/components/generic-add/generic-add';
|
|
6
4
|
|
|
7
|
-
import GenericEdit from './generic/components/generic-edit/generic-edit'
|
|
5
|
+
import GenericEdit from './generic/components/generic-edit/generic-edit';
|
|
8
6
|
|
|
9
|
-
import GenericDetail from './generic/components/generic-detail/generic-detail'
|
|
7
|
+
import GenericDetail from './generic/components/generic-detail/generic-detail';
|
|
10
8
|
|
|
11
9
|
import ModuleRoutes from './module-routes/module-routes';
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
11
|
// All Dashboard Components
|
|
16
12
|
|
|
17
13
|
import DashboardCard from './dashboard/components/dashboard-card/dashboard-card';
|
|
@@ -26,10 +22,11 @@ import ReportingDashboard from '../modules/reporting/components/reporting-dashbo
|
|
|
26
22
|
|
|
27
23
|
import ChangeInfo from './Informations/change-info/change-info';
|
|
28
24
|
// All Dashboard Components Ends
|
|
29
|
-
|
|
25
|
+
import ProcessStepsPage from './steps/steps';
|
|
30
26
|
|
|
31
27
|
|
|
32
28
|
export {
|
|
29
|
+
ProcessStepsPage,
|
|
33
30
|
GenericList,
|
|
34
31
|
GenericAdd,
|
|
35
32
|
|