impaktapps-ui-builder 0.0.382-alpha.60 → 0.0.382-alpha.62
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/dist/impaktapps-ui-builder.es.js +38 -35
- package/dist/impaktapps-ui-builder.es.js.map +1 -1
- package/dist/impaktapps-ui-builder.umd.js +8 -8
- package/dist/impaktapps-ui-builder.umd.js.map +1 -1
- package/dist/src/impaktapps-ui-builder/runtime/services/events.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/runtime/services/interface.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/runtime/services/service.d.ts +3 -1
- package/package.json +1 -1
- package/src/impaktapps-ui-builder/runtime/services/events.ts +252 -19
- package/src/impaktapps-ui-builder/runtime/services/interface.ts +22 -9
- package/src/impaktapps-ui-builder/runtime/services/service.ts +233 -23
|
@@ -7,19 +7,21 @@ interface funcParamsProps {
|
|
|
7
7
|
schema: any;
|
|
8
8
|
service: any;
|
|
9
9
|
userValue: any;
|
|
10
|
+
functionsProvider?: Record<string, any>;
|
|
10
11
|
}
|
|
11
12
|
declare const _default: (funcParams: funcParamsProps) => {
|
|
12
13
|
setPage: () => Promise<void>;
|
|
13
14
|
onClick: () => Promise<void>;
|
|
15
|
+
onMount: () => Promise<void>;
|
|
14
16
|
onFileDownload: () => Promise<void>;
|
|
15
17
|
onFileUpload: () => Promise<void>;
|
|
18
|
+
backHandler: () => void;
|
|
16
19
|
onPaginationChange: (paginationValues: any) => Promise<any>;
|
|
17
20
|
getSelectOptions: (param: any) => Promise<any>;
|
|
18
21
|
onChange: () => Promise<void>;
|
|
19
22
|
updateConfigApiBody: (paramValue: any, apiBody: any) => Promise<any>;
|
|
20
23
|
onBack: (functionParameters: any) => Promise<void>;
|
|
21
24
|
onNext: (functionParameters: any) => Promise<void>;
|
|
22
|
-
backHandler: () => void;
|
|
23
25
|
onReset: (functionParameters: any) => Promise<void>;
|
|
24
26
|
callHandler: (eventType: string, functionParameters?: any) => Promise<void>;
|
|
25
27
|
downloadFile: (obj: any) => void;
|
package/package.json
CHANGED
|
@@ -1,3 +1,242 @@
|
|
|
1
|
+
// import _, { cloneDeep } from "lodash";
|
|
2
|
+
// import { handlersProps } from "./interface";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
// export const executeEvents = async (
|
|
6
|
+
// params: handlersProps
|
|
7
|
+
// ) => {
|
|
8
|
+
// let nextEvent = [];
|
|
9
|
+
// let finalResponse = null;
|
|
10
|
+
// try {
|
|
11
|
+
// const shouldExecute = await shouldEventExecute(params)
|
|
12
|
+
// if (!shouldExecute) {
|
|
13
|
+
// return { response: undefined, events: undefined };
|
|
14
|
+
// }
|
|
15
|
+
// const response = await executeEventsHandler(params)
|
|
16
|
+
// finalResponse = response;
|
|
17
|
+
// const SuccessEvent = params.config?.events.filter(e => e.eventType === "Success");
|
|
18
|
+
// nextEvent = SuccessEvent;
|
|
19
|
+
// } catch (err) {
|
|
20
|
+
// const FailEvent = params.config?.events?.filter(e => e.eventType === "Fail")
|
|
21
|
+
// const setEvent = FailEvent?.length > 0 ? FailEvent : []
|
|
22
|
+
// nextEvent = setEvent;
|
|
23
|
+
// }
|
|
24
|
+
// if (nextEvent?.length > 0) {
|
|
25
|
+
// for (const actionConfig of nextEvent) {
|
|
26
|
+
// await executeEvents({ ...params, config: actionConfig, parentEventOutput: finalResponse })
|
|
27
|
+
// }
|
|
28
|
+
// }
|
|
29
|
+
// return finalResponse;
|
|
30
|
+
// }
|
|
31
|
+
|
|
32
|
+
// async function executeEventsHandler(params: handlersProps) {
|
|
33
|
+
// if (params.config.Handler === "api") {
|
|
34
|
+
// return await executeApiEventHandler(params)
|
|
35
|
+
// }
|
|
36
|
+
// else if (params.config.Handler === "inBuiltFunction") {
|
|
37
|
+
// return await executeInBuiltFunctionHandler(params)
|
|
38
|
+
// }
|
|
39
|
+
// else if (params.config.Handler === "custom") {
|
|
40
|
+
// return await executeCustomHandler(params)
|
|
41
|
+
// }
|
|
42
|
+
// else if (params.config.Handler === "refresh") {
|
|
43
|
+
// return await executeRefreshHandler(params)
|
|
44
|
+
// }
|
|
45
|
+
// else if (params.config.Handler === "mergeFormdata") {
|
|
46
|
+
// const result = await mergeFormdata(
|
|
47
|
+
// params.parentEventOutput, params.componentName, params.config, params.store, params.service)
|
|
48
|
+
// return result;
|
|
49
|
+
// }
|
|
50
|
+
// else if (params.config.Handler === "onBackHandler") {
|
|
51
|
+
// return params.store.functionParameters?.handleBack()
|
|
52
|
+
// }
|
|
53
|
+
// else if (params.config.Handler === "onNextHandler") {
|
|
54
|
+
// return params.store.functionParameters?.handleNext()
|
|
55
|
+
// }
|
|
56
|
+
// else if (params.config.Handler === "onResetHandler") {
|
|
57
|
+
// return params.store.functionParameters?.handleReset()
|
|
58
|
+
// }
|
|
59
|
+
// }
|
|
60
|
+
// export async function executeRefreshHandler(params: handlersProps) {
|
|
61
|
+
// const compToRefresh: string[] = getRefreshElements(params.config, params.eventGroups)
|
|
62
|
+
// for (const componentName of compToRefresh) {
|
|
63
|
+
// for (const compEventConfig of params.eventGroups.onLoad[componentName]) {
|
|
64
|
+
// await executeEvents({ ...params, config: compEventConfig, componentName });
|
|
65
|
+
// }
|
|
66
|
+
// }
|
|
67
|
+
// }
|
|
68
|
+
// async function executeApiEventHandler(params: handlersProps) {
|
|
69
|
+
// const initialBody = { ...params.userValue?.payload };
|
|
70
|
+
// const initialHeaders = {
|
|
71
|
+
// "X-Requested-With": "XMLHttpRequest",
|
|
72
|
+
// "Access-Control-Allow-Origin": "*"
|
|
73
|
+
// };
|
|
74
|
+
// const { body, headers } = await buildApiPayload(params.config, initialBody, initialHeaders, params.store, params.dynamicData, params.userValue, params.service)
|
|
75
|
+
|
|
76
|
+
// const response = await params.service[params.config.method](
|
|
77
|
+
// params.config.path,
|
|
78
|
+
// body,
|
|
79
|
+
// headers && { headers: headers }
|
|
80
|
+
// );
|
|
81
|
+
// return response;
|
|
82
|
+
// }
|
|
83
|
+
|
|
84
|
+
// async function executeInBuiltFunctionHandler(params: handlersProps) {
|
|
85
|
+
// let parameter = {};
|
|
86
|
+
// if (params.config.funcParametersCode) {
|
|
87
|
+
// const makeFunc = eval(params.config.funcParametersCode)
|
|
88
|
+
// parameter = makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service);
|
|
89
|
+
// }
|
|
90
|
+
// params.serviceHolder[params.config.inBuiltFunctionType](parameter)
|
|
91
|
+
// }
|
|
92
|
+
|
|
93
|
+
// async function executeCustomHandler(params: handlersProps) {
|
|
94
|
+
// const makeFunc = eval(params.config.eventCode)
|
|
95
|
+
// const response = await makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service, params.componentName);
|
|
96
|
+
// return response;
|
|
97
|
+
// }
|
|
98
|
+
|
|
99
|
+
// async function mergeFormdata(handlerResponse: any, componentName: string, eventConfig: any, store: any, service: any) {
|
|
100
|
+
// if (eventConfig.type === "Select" && !(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
|
|
101
|
+
// store.setSchema((pre) => {
|
|
102
|
+
// return {
|
|
103
|
+
// ...pre, properties: {
|
|
104
|
+
// ...pre.properties, [componentName]: {
|
|
105
|
+
// ...pre.properties?.[componentName],
|
|
106
|
+
// oneOf: handlerResponse.data
|
|
107
|
+
// }
|
|
108
|
+
// }
|
|
109
|
+
// }
|
|
110
|
+
// })
|
|
111
|
+
// }
|
|
112
|
+
// else if (eventConfig.type === "MultipleSelect" && !(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
|
|
113
|
+
// store.setSchema((pre) => {
|
|
114
|
+
// return {
|
|
115
|
+
// ...pre, properties: {
|
|
116
|
+
// ...pre.properties, [componentName]: {
|
|
117
|
+
// ...pre.properties?.[componentName],
|
|
118
|
+
// type: "array",
|
|
119
|
+
// items: {
|
|
120
|
+
// oneOf: handlerResponse?.data
|
|
121
|
+
// }
|
|
122
|
+
// }
|
|
123
|
+
// }
|
|
124
|
+
// }
|
|
125
|
+
// })
|
|
126
|
+
// }
|
|
127
|
+
// else if (eventConfig.type === "page") {
|
|
128
|
+
// if (!(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
|
|
129
|
+
// store.setFormdata((pre: any) => { return { ...pre, ...handlerResponse?.data } })
|
|
130
|
+
// }
|
|
131
|
+
// }
|
|
132
|
+
// else {
|
|
133
|
+
// if (handlerResponse) {
|
|
134
|
+
// store.setFormdata((pre) => { return { ...pre, [componentName]: eventConfig.lazyLoading ? handlerResponse.data.data : handlerResponse.data } });
|
|
135
|
+
// const demoData = await asyncOperation();
|
|
136
|
+
// }
|
|
137
|
+
// }
|
|
138
|
+
// }
|
|
139
|
+
|
|
140
|
+
// const buildBodyFormat = (body: any[], formData: any, userValue: any) => {
|
|
141
|
+
// const finalBody = { ...userValue?.payload };
|
|
142
|
+
// body.map((elem) => {
|
|
143
|
+
// if (typeof elem?.value !== "string") {
|
|
144
|
+
// finalBody[elem.key] = elem.value;
|
|
145
|
+
// } else {
|
|
146
|
+
// if (elem?.value?.startsWith("$userValue")) {
|
|
147
|
+
// const finalpath = elem.value.substring(11);
|
|
148
|
+
// finalBody[elem.key] = _.get(userValue, finalpath);;
|
|
149
|
+
// }
|
|
150
|
+
// else if (elem?.value?.startsWith("$")) {
|
|
151
|
+
// const finalpath = elem.value.substring(1);
|
|
152
|
+
// finalBody[elem.key] = _.get(formData, finalpath);;
|
|
153
|
+
// } else {
|
|
154
|
+
// finalBody[elem.key] = elem.value;
|
|
155
|
+
// }
|
|
156
|
+
// }
|
|
157
|
+
// })
|
|
158
|
+
// return finalBody;
|
|
159
|
+
// }
|
|
160
|
+
|
|
161
|
+
// const buildHeadersFormat = (headers: any[]) => {
|
|
162
|
+
// const headerObj = {
|
|
163
|
+
// // "Content-Type": "application/json",
|
|
164
|
+
// "X-Requested-With": "XMLHttpRequest"
|
|
165
|
+
// }
|
|
166
|
+
// headers.map((elem) => {
|
|
167
|
+
// headerObj[elem.key] = elem.value;
|
|
168
|
+
// })
|
|
169
|
+
// return headerObj;
|
|
170
|
+
// }
|
|
171
|
+
|
|
172
|
+
// async function shouldEventExecute(params: handlersProps) {
|
|
173
|
+
// const startEvent = params.config?.events?.filter(e => e.eventType === "onStart");
|
|
174
|
+
// if (startEvent?.length > 0) {
|
|
175
|
+
// const response = await executeEventsHandler({ ...params, config: startEvent[0] });
|
|
176
|
+
// return response;
|
|
177
|
+
// } else {
|
|
178
|
+
// return true
|
|
179
|
+
// }
|
|
180
|
+
// }
|
|
181
|
+
|
|
182
|
+
// export async function buildApiPayload(compConfig: any, body: any, headers: any, store: any, dynamicData: any, userValue: any, service) {
|
|
183
|
+
// if (compConfig?.headers) {
|
|
184
|
+
// headers = buildHeadersFormat(compConfig.headers)
|
|
185
|
+
|
|
186
|
+
// }
|
|
187
|
+
// if (compConfig.body) {
|
|
188
|
+
// body = { ...buildBodyFormat(compConfig.body, store.newData || store?.ctx?.core?.data || store.formData, userValue) };
|
|
189
|
+
// }
|
|
190
|
+
// if (compConfig.apiBody) {
|
|
191
|
+
// const makeFunc = eval(compConfig.apiBody);
|
|
192
|
+
// const data = await makeFunc(store, dynamicData, userValue, body);
|
|
193
|
+
// body = data
|
|
194
|
+
// }
|
|
195
|
+
// return { body, headers };
|
|
196
|
+
// }
|
|
197
|
+
|
|
198
|
+
// export function getRefreshElements(eventConfig: any, eventGropus: any) {
|
|
199
|
+
// let result: string[] = [];
|
|
200
|
+
// if (eventConfig?.refreshElements?.length > 0) {
|
|
201
|
+
// result = eventConfig.refreshElements.map((e) => {
|
|
202
|
+
// return e.value
|
|
203
|
+
// })
|
|
204
|
+
|
|
205
|
+
// } else {
|
|
206
|
+
// if (eventGropus?.onLoad) {
|
|
207
|
+
// result = Object.keys(eventGropus?.onLoad)
|
|
208
|
+
// result.push(result[0]);
|
|
209
|
+
// }
|
|
210
|
+
// }
|
|
211
|
+
// console.log(result);
|
|
212
|
+
// return result;
|
|
213
|
+
// }
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
// function asyncOperation() {
|
|
217
|
+
// return new Promise((resolve, reject) => {
|
|
218
|
+
// setTimeout(() => {
|
|
219
|
+
// const success = true;
|
|
220
|
+
// if (success) {
|
|
221
|
+
// resolve("Operation completed successfully!");
|
|
222
|
+
// reject(new Error("Operation failed!"));
|
|
223
|
+
// }
|
|
224
|
+
// }, 50);
|
|
225
|
+
// });
|
|
226
|
+
// }
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
1
240
|
import _, { cloneDeep } from "lodash";
|
|
2
241
|
import { handlersProps } from "./interface";
|
|
3
242
|
|
|
@@ -43,7 +282,6 @@ async function executeEventsHandler(params: handlersProps) {
|
|
|
43
282
|
return await executeRefreshHandler(params)
|
|
44
283
|
}
|
|
45
284
|
else if (params.config.Handler === "mergeFormdata") {
|
|
46
|
-
console.log("params : " , params);
|
|
47
285
|
const result = await mergeFormdata(
|
|
48
286
|
params.parentEventOutput, params.componentName, params.config, params.store, params.service)
|
|
49
287
|
return result;
|
|
@@ -87,8 +325,10 @@ async function executeInBuiltFunctionHandler(params: handlersProps) {
|
|
|
87
325
|
if (params.config.funcParametersCode) {
|
|
88
326
|
const makeFunc = eval(params.config.funcParametersCode)
|
|
89
327
|
parameter = makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service);
|
|
328
|
+
params.serviceHolder[params.config.inBuiltFunctionType](parameter, params.service)
|
|
329
|
+
} else {
|
|
330
|
+
params.serviceHolder[params.config.inBuiltFunctionType](params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service)
|
|
90
331
|
}
|
|
91
|
-
params.serviceHolder[params.config.inBuiltFunctionType](parameter)
|
|
92
332
|
}
|
|
93
333
|
|
|
94
334
|
async function executeCustomHandler(params: handlersProps) {
|
|
@@ -126,32 +366,20 @@ async function mergeFormdata(handlerResponse: any, componentName: string, eventC
|
|
|
126
366
|
})
|
|
127
367
|
}
|
|
128
368
|
else if (eventConfig.type === "page") {
|
|
129
|
-
console.log("console1 : " , handlerResponse);
|
|
130
369
|
if (!(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
|
|
131
|
-
console.log("console2 : " , handlerResponse);
|
|
132
370
|
store.setFormdata((pre: any) => { return { ...pre, ...handlerResponse?.data } })
|
|
133
371
|
}
|
|
134
372
|
}
|
|
135
373
|
else {
|
|
136
374
|
if (handlerResponse) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
let body;
|
|
140
|
-
|
|
141
|
-
if(handlerResponse.data instanceof Array){
|
|
142
|
-
body = [...handlerResponse.data]
|
|
143
|
-
}else if(handlerResponse.data instanceof Object){
|
|
144
|
-
body = {...handlerResponse.data};
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
store.setFormdata((pre) => { return { ...pre, [componentName]: eventConfig.lazyLoading ? handlerResponse.data.data : body } });
|
|
375
|
+
store.setFormdata((pre) => { return { ...pre, [componentName]: eventConfig.lazyLoading ? handlerResponse?.data?.data : handlerResponse.data } });
|
|
148
376
|
const demoData = await asyncOperation();
|
|
149
377
|
}
|
|
150
378
|
}
|
|
151
379
|
}
|
|
152
380
|
|
|
153
381
|
const buildBodyFormat = (body: any[], formData: any, userValue: any) => {
|
|
154
|
-
|
|
382
|
+
let finalBody = { ...userValue?.payload };
|
|
155
383
|
body.map((elem) => {
|
|
156
384
|
if (typeof elem?.value !== "string") {
|
|
157
385
|
finalBody[elem.key] = elem.value;
|
|
@@ -163,7 +391,12 @@ const buildBodyFormat = (body: any[], formData: any, userValue: any) => {
|
|
|
163
391
|
else if (elem?.value?.startsWith("$")) {
|
|
164
392
|
const finalpath = elem.value.substring(1);
|
|
165
393
|
finalBody[elem.key] = _.get(formData, finalpath);;
|
|
166
|
-
} else {
|
|
394
|
+
} else if (elem?.value === "*" && elem?.key === "*") {
|
|
395
|
+
finalBody = { ...finalBody, ...formData };
|
|
396
|
+
} else if (elem?.value === "*") {
|
|
397
|
+
finalBody[elem.key] = formData;
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
167
400
|
finalBody[elem.key] = elem.value;
|
|
168
401
|
}
|
|
169
402
|
}
|
|
@@ -226,7 +459,7 @@ export function getRefreshElements(eventConfig: any, eventGropus: any) {
|
|
|
226
459
|
}
|
|
227
460
|
|
|
228
461
|
|
|
229
|
-
function asyncOperation() {
|
|
462
|
+
export function asyncOperation() {
|
|
230
463
|
return new Promise((resolve, reject) => {
|
|
231
464
|
setTimeout(() => {
|
|
232
465
|
const success = true;
|
|
@@ -236,4 +469,4 @@ function asyncOperation() {
|
|
|
236
469
|
}
|
|
237
470
|
}, 50);
|
|
238
471
|
});
|
|
239
|
-
}
|
|
472
|
+
}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
+
// export interface handlersProps {
|
|
2
|
+
// config: any,
|
|
3
|
+
// componentName: string,
|
|
4
|
+
// store: any,
|
|
5
|
+
// dynamicData: any,
|
|
6
|
+
// userValue: any,
|
|
7
|
+
// service: any,
|
|
8
|
+
// serviceHolder: any,
|
|
9
|
+
// eventGroups?: any,
|
|
10
|
+
// parentEventOutput?: any
|
|
11
|
+
// }
|
|
12
|
+
|
|
1
13
|
export interface handlersProps {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
config: any,
|
|
15
|
+
componentName: string,
|
|
16
|
+
store: any,
|
|
17
|
+
dynamicData: any,
|
|
18
|
+
userValue: any,
|
|
19
|
+
service: any,
|
|
20
|
+
serviceHolder: any,
|
|
21
|
+
eventGroups?: any,
|
|
22
|
+
parentEventOutput?: any,
|
|
23
|
+
functionsProvider?:Record<string,any>
|
|
11
24
|
}
|