impaktapps-ui-builder 0.0.382457 → 0.0.382460
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 +4233 -2669
- package/dist/impaktapps-ui-builder.es.js.map +1 -1
- package/dist/impaktapps-ui-builder.umd.js +15 -15
- package/dist/impaktapps-ui-builder.umd.js.map +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildBasicUiSchema.d.ts +4 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildCard.d.ts +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildConfig.d.ts +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildDate.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildInputSlider.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildTable.d.ts +0 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildThoughtOfTheDay.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildTreeMap.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildUiSchema.d.ts +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/apiSection.d.ts +36 -2
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/box.d.ts +2 -2
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.d.ts +60 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/button.d.ts +1 -7
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/card.d.ts +172 -86
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/coreSection.d.ts +15 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/dateInputField.d.ts +19 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/eventSection.d.ts +121 -119
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/file.d.ts +6 -6
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/graph.d.ts +42 -115
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/leaderBoard.d.ts +10 -288
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/progressBar.d.ts +6 -1
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/table.d.ts +2 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/tableSection.d.ts +119 -96
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/{lazyLoadingTable.d.ts → thoughtOfTheDay.d.ts} +6 -3
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/timer.d.ts +1 -14
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/validationSections.d.ts +17 -2
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/valueTab.d.ts +17 -2
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/wrapperSection.d.ts +2 -1
- package/dist/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/schema.d.ts +9 -0
- package/dist/src/impaktapps-ui-builder/builder/elements/UiSchema/event/schema.d.ts +3 -0
- package/dist/src/impaktapps-ui-builder/builder/services/component.d.ts +12 -4
- package/dist/src/impaktapps-ui-builder/builder/services/event.d.ts +11 -2
- package/dist/src/impaktapps-ui-builder/builder/services/pageMaster.d.ts +16 -3
- package/dist/src/impaktapps-ui-builder/builder/services/utils.d.ts +4 -4
- package/dist/src/impaktapps-ui-builder/lib/index.d.ts +1 -1
- package/dist/src/impaktapps-ui-builder/runtime/services/events.d.ts +8 -5
- package/dist/src/impaktapps-ui-builder/runtime/services/interface.d.ts +2 -0
- package/dist/src/impaktapps-ui-builder/runtime/services/service.d.ts +11 -8
- package/package.json +5 -1
- package/src/impaktapps-ui-builder/builder/build/buildBasicUiSchema.ts +9 -5
- package/src/impaktapps-ui-builder/builder/build/buildButton.ts +0 -2
- package/src/impaktapps-ui-builder/builder/build/buildCard.ts +11 -7
- package/src/impaktapps-ui-builder/builder/build/buildConfig.ts +15 -19
- package/src/impaktapps-ui-builder/builder/build/buildDate.ts +12 -2
- package/src/impaktapps-ui-builder/builder/build/buildFileInput.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildHorizontalBarGraph.ts +22 -9
- package/src/impaktapps-ui-builder/builder/build/buildInputSlider.ts +46 -0
- package/src/impaktapps-ui-builder/builder/build/buildLeaderboard.ts +26 -19
- package/src/impaktapps-ui-builder/builder/build/buildLineGraph.ts +16 -2
- package/src/impaktapps-ui-builder/builder/build/buildPieGraph.ts +24 -23
- package/src/impaktapps-ui-builder/builder/build/buildProgressBar.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildRadio.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildRankCard.ts +4 -10
- package/src/impaktapps-ui-builder/builder/build/buildSchema.ts +1 -2
- package/src/impaktapps-ui-builder/builder/build/buildStackBarGraph.ts +19 -8
- package/src/impaktapps-ui-builder/builder/build/buildTabSection.ts +9 -2
- package/src/impaktapps-ui-builder/builder/build/buildTable.ts +39 -29
- package/src/impaktapps-ui-builder/builder/build/buildTextArea.ts +6 -0
- package/src/impaktapps-ui-builder/builder/build/buildThoughtOfTheDay.ts +22 -0
- package/src/impaktapps-ui-builder/builder/build/buildTreeMap.ts +61 -0
- package/src/impaktapps-ui-builder/builder/build/buildUiSchema.ts +77 -57
- package/src/impaktapps-ui-builder/builder/build/buildUplaodFile.ts +16 -19
- package/src/impaktapps-ui-builder/builder/build/buildWrapperSection.ts +16 -13
- package/src/impaktapps-ui-builder/builder/build/uischema/apiSection.ts +50 -27
- package/src/impaktapps-ui-builder/builder/build/uischema/box.ts +3 -2
- package/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.ts +174 -80
- package/src/impaktapps-ui-builder/builder/build/uischema/button.ts +1 -7
- package/src/impaktapps-ui-builder/builder/build/uischema/card.ts +171 -75
- package/src/impaktapps-ui-builder/builder/build/uischema/coreSection.ts +43 -41
- package/src/impaktapps-ui-builder/builder/build/uischema/dateInputField.ts +17 -7
- package/src/impaktapps-ui-builder/builder/build/uischema/emptyBox.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/eventSection.ts +78 -56
- package/src/impaktapps-ui-builder/builder/build/uischema/file.ts +2 -12
- package/src/impaktapps-ui-builder/builder/build/uischema/graph.ts +13 -141
- package/src/impaktapps-ui-builder/builder/build/uischema/leaderBoard.ts +10 -357
- package/src/impaktapps-ui-builder/builder/build/uischema/multiSelect.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/progressBar.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/rankCard.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/refresh.ts +15 -11
- package/src/impaktapps-ui-builder/builder/build/uischema/runnerBoyProgressBar.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/selectInputField.ts +1 -6
- package/src/impaktapps-ui-builder/builder/build/uischema/table.ts +5 -6
- package/src/impaktapps-ui-builder/builder/build/uischema/tableSection.ts +125 -97
- package/src/impaktapps-ui-builder/builder/build/uischema/textInputField.ts +1 -6
- package/src/impaktapps-ui-builder/builder/build/uischema/thoughtOfTheDay.ts +14 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/timer.ts +2 -16
- package/src/impaktapps-ui-builder/builder/build/uischema/validationSections.ts +12 -12
- package/src/impaktapps-ui-builder/builder/build/uischema/valueTab.ts +13 -13
- package/src/impaktapps-ui-builder/builder/build/uischema/wrapperSection.ts +2 -1
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/schema.ts +67 -19
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/uiSchema.ts +525 -166
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/schema.ts +12 -2
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/uiSchema.ts +757 -321
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/schema.ts +7 -2
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/uiSchema.ts +516 -269
- package/src/impaktapps-ui-builder/builder/services/component.ts +165 -73
- package/src/impaktapps-ui-builder/builder/services/event.ts +74 -13
- package/src/impaktapps-ui-builder/builder/services/pageMaster.ts +61 -20
- package/src/impaktapps-ui-builder/builder/services/utils.ts +13 -14
- package/src/impaktapps-ui-builder/lib/index.ts +1 -1
- package/src/impaktapps-ui-builder/runtime/services/downloadFile.ts +1 -1
- package/src/impaktapps-ui-builder/runtime/services/events.ts +154 -96
- package/src/impaktapps-ui-builder/runtime/services/interface.ts +3 -1
- package/src/impaktapps-ui-builder/runtime/services/service.ts +211 -49
- package/src/impaktapps-ui-builder/builder/build/uischema/lazyLoadingTable.ts +0 -14
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import buildConfig from "../build/buildConfig";
|
|
2
2
|
import _ from "lodash";
|
|
3
3
|
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const clearFromSessionStorage = () => {
|
|
5
|
+
sessionStorage.removeItem("pageFormdata")
|
|
6
6
|
}
|
|
7
|
-
export default
|
|
7
|
+
export default clearFromSessionStorage;
|
|
8
8
|
export const getNavigationHistory = (config: any, path: string | undefined) => {
|
|
9
9
|
if (path) {
|
|
10
10
|
let urlRoutes: string = config.name;
|
|
@@ -31,20 +31,20 @@ export const getNavigationHistory = (config: any, path: string | undefined) => {
|
|
|
31
31
|
return undefined;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
export const
|
|
34
|
+
export const saveFormdataInSessionStorage = (formData: any, path?: string) => {
|
|
35
35
|
let updatedFormdata: any;
|
|
36
36
|
if (path) {
|
|
37
|
-
const pageFormdata =
|
|
37
|
+
const pageFormdata = getFormdataFromSessionStorage()
|
|
38
38
|
updatedFormdata = _.set(pageFormdata, path, buildConfig(formData));
|
|
39
39
|
} else {
|
|
40
40
|
updatedFormdata = buildConfig(formData)
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
sessionStorage.setItem("pageFormdata", JSON.stringify(updatedFormdata))
|
|
43
43
|
return updatedFormdata;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
export const
|
|
47
|
-
const pageFormdata =
|
|
46
|
+
export const getFormdataFromSessionStorage = (path?: string) => {
|
|
47
|
+
const pageFormdata = sessionStorage.getItem("pageFormdata") ? JSON.parse(sessionStorage.getItem("pageFormdata")) : undefined;
|
|
48
48
|
let returnValue: any;
|
|
49
49
|
if (path) {
|
|
50
50
|
returnValue = _.get(pageFormdata, path)
|
|
@@ -60,12 +60,12 @@ export const getFormdataFromLocalStorage = (path?: string) => {
|
|
|
60
60
|
export async function saveHandler(store, service, submitHandler, pageName?: string) {
|
|
61
61
|
const id = store.searchParams?.get("id");
|
|
62
62
|
const path = store.searchParams?.get("path");
|
|
63
|
-
|
|
64
|
-
const config = JSON.parse(
|
|
63
|
+
saveFormdataInSessionStorage(store.ctx.core.data, path);
|
|
64
|
+
const config = JSON.parse(sessionStorage.getItem("pageFormdata"));
|
|
65
65
|
if (_.isEmpty(store.ctx.core.errors)) {
|
|
66
66
|
try {
|
|
67
67
|
const saveReturn = await submitHandler(store, service, config);
|
|
68
|
-
navigateHandler(store, true, pageName ? `/${pageName}?id=${id}` : "/PageMasterRecords")
|
|
68
|
+
navigateHandler(store, true, pageName ? `/${pageName}?id=${saveReturn.id}` : "/PageMasterRecords")
|
|
69
69
|
} catch (err) {
|
|
70
70
|
navigateHandler(store, false)
|
|
71
71
|
}
|
|
@@ -74,7 +74,7 @@ export async function saveHandler(store, service, submitHandler, pageName?: stri
|
|
|
74
74
|
|
|
75
75
|
export const navigateHandler = (store, isSubmitted, pageName?: string | boolean) => {
|
|
76
76
|
if (isSubmitted) {
|
|
77
|
-
|
|
77
|
+
sessionStorage.removeItem("pageFormdata");
|
|
78
78
|
store.navigate(pageName || -1)
|
|
79
79
|
store.setNotify({
|
|
80
80
|
SuccessMessage: "Submit Successfully",
|
|
@@ -91,9 +91,8 @@ export const navigateHandler = (store, isSubmitted, pageName?: string | boolean)
|
|
|
91
91
|
|
|
92
92
|
export function okHandler(store) {
|
|
93
93
|
const path = store.searchParams?.get("path");
|
|
94
|
-
console.log(store.ctx.core.errors)
|
|
95
94
|
if (_.isEmpty(store.ctx.core.errors)) {
|
|
96
|
-
|
|
95
|
+
saveFormdataInSessionStorage(store.ctx.core.data, path)
|
|
97
96
|
store.navigate(-1)
|
|
98
97
|
store.setNotify({
|
|
99
98
|
SuccessMessage: "Save Successfully",
|
|
@@ -7,4 +7,4 @@ export { schema} from "../builder/build/buildUiSchema"
|
|
|
7
7
|
export {default as buildConfig} from "../builder/build/buildConfig"
|
|
8
8
|
export {default as buildUiSchema} from "../builder/build/buildUiSchema"
|
|
9
9
|
export {buildSchema} from "../builder/build/buildUiSchema"
|
|
10
|
-
export {default as
|
|
10
|
+
export {default as clearFromSessionStorage} from "../builder/services/utils"
|
|
@@ -1,103 +1,152 @@
|
|
|
1
1
|
import _, { cloneDeep } from "lodash";
|
|
2
2
|
import { handlersProps } from "./interface";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export const executeEvents = async (
|
|
6
|
-
params: handlersProps
|
|
7
|
-
) => {
|
|
3
|
+
export const executeEvents = (params: handlersProps) => {
|
|
8
4
|
let nextEvent = [];
|
|
9
5
|
let finalResponse = null;
|
|
6
|
+
|
|
7
|
+
if (params.config.isSync !== "Yes") {
|
|
8
|
+
return shouldEventExecute(params)
|
|
9
|
+
.then((shouldExecute) => {
|
|
10
|
+
if (!shouldExecute) {
|
|
11
|
+
throw new Error('onStart Event not allow to run Parent Events');
|
|
12
|
+
}
|
|
13
|
+
return executeEventsHandler(params);
|
|
14
|
+
})
|
|
15
|
+
.then((response) => {
|
|
16
|
+
finalResponse = response;
|
|
17
|
+
const SuccessEvent = params.config?.events.filter(e => e.eventType === "Success");
|
|
18
|
+
nextEvent = SuccessEvent;
|
|
19
|
+
})
|
|
20
|
+
.catch((err) => {
|
|
21
|
+
const FailEvent = params.config?.events?.filter(e => e.eventType === "Fail");
|
|
22
|
+
const setEvent = FailEvent?.length > 0 ? FailEvent : [];
|
|
23
|
+
nextEvent = setEvent;
|
|
24
|
+
})
|
|
25
|
+
.then(() => {
|
|
26
|
+
if (nextEvent?.length > 0) {
|
|
27
|
+
return nextEvent.reduce((chain, actionConfig) => {
|
|
28
|
+
return chain.then(() => executeEvents({ ...params, config: actionConfig, parentEventOutput: finalResponse }));
|
|
29
|
+
}, Promise.resolve());
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
.then(() => finalResponse)
|
|
33
|
+
}
|
|
34
|
+
const shouldExecute = shouldEventExecute(params);
|
|
35
|
+
if (!shouldExecute) {
|
|
36
|
+
return { response: undefined, events: undefined };
|
|
37
|
+
}
|
|
10
38
|
try {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
return { response: undefined, events: undefined };
|
|
14
|
-
}
|
|
15
|
-
const response = await executeEventsHandler(params)
|
|
16
|
-
finalResponse = response;
|
|
39
|
+
const eventsResponse = executeEventsHandler(params);
|
|
40
|
+
finalResponse = eventsResponse;
|
|
17
41
|
const SuccessEvent = params.config?.events.filter(e => e.eventType === "Success");
|
|
18
42
|
nextEvent = SuccessEvent;
|
|
19
|
-
} catch
|
|
20
|
-
const FailEvent = params.config?.events?.filter(e => e.eventType === "Fail")
|
|
21
|
-
const setEvent = FailEvent?.length > 0 ? FailEvent : []
|
|
43
|
+
} catch {
|
|
44
|
+
const FailEvent = params.config?.events?.filter(e => e.eventType === "Fail");
|
|
45
|
+
const setEvent = FailEvent?.length > 0 ? FailEvent : [];
|
|
22
46
|
nextEvent = setEvent;
|
|
23
47
|
}
|
|
24
48
|
if (nextEvent?.length > 0) {
|
|
25
49
|
for (const actionConfig of nextEvent) {
|
|
26
|
-
|
|
50
|
+
executeEvents({ ...params, config: actionConfig, parentEventOutput: finalResponse })
|
|
27
51
|
}
|
|
28
52
|
}
|
|
29
53
|
return finalResponse;
|
|
30
54
|
}
|
|
31
55
|
|
|
32
|
-
|
|
56
|
+
function executeEventsHandler(params: handlersProps) {
|
|
33
57
|
if (params.config.Handler === "api") {
|
|
34
|
-
return
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
58
|
+
return executeApiRequest(params);
|
|
59
|
+
} else if (params.config.Handler === "inBuiltFunction") {
|
|
60
|
+
return executeInBuiltFunctionHandler(params);
|
|
61
|
+
} else if (params.config.Handler === "custom") {
|
|
62
|
+
return executeCustomHandler(params);
|
|
63
|
+
} else if (params.config.Handler === "refresh") {
|
|
64
|
+
return executeRefreshHandler(params);
|
|
65
|
+
} else if (params.config.Handler === "mergeFormdata") {
|
|
66
|
+
return mergeFormdata(
|
|
67
|
+
params.parentEventOutput,
|
|
68
|
+
params.componentName,
|
|
69
|
+
params.config,
|
|
70
|
+
params.store,
|
|
71
|
+
params.service,
|
|
72
|
+
params.formDataHolder
|
|
73
|
+
);
|
|
74
|
+
} else if (params.config.Handler === "onBackHandler") {
|
|
75
|
+
return params.store.functionParameters?.handleBack();
|
|
76
|
+
} else if (params.config.Handler === "onNextHandler") {
|
|
77
|
+
return params.store.functionParameters?.handleNext();
|
|
78
|
+
} else if (params.config.Handler === "onResetHandler") {
|
|
79
|
+
return params.store.functionParameters?.handleReset();
|
|
38
80
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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()
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export function getRefreshElements(eventConfig: any, eventGropus: any) {
|
|
84
|
+
let result: string[] = [];
|
|
85
|
+
if (eventConfig?.refreshElements?.length > 0) {
|
|
86
|
+
result = eventConfig.refreshElements.map((e) => {
|
|
87
|
+
return e.value
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
} else {
|
|
91
|
+
if (eventGropus?.onLoad) {
|
|
92
|
+
result = Object.keys(eventGropus?.onLoad)
|
|
93
|
+
}
|
|
58
94
|
}
|
|
95
|
+
return result;
|
|
59
96
|
}
|
|
60
97
|
export async function executeRefreshHandler(params: handlersProps) {
|
|
61
|
-
const compToRefresh: string[] = getRefreshElements(params.config, params.eventGroups)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
98
|
+
const compToRefresh: string[] = getRefreshElements(params.config, params.eventGroups);
|
|
99
|
+
return Promise.allSettled(compToRefresh.map(componentName => {
|
|
100
|
+
const eventConfigs = params.eventGroups.onLoad[componentName];
|
|
101
|
+
if (!eventConfigs) {
|
|
102
|
+
return Promise.resolve();
|
|
65
103
|
}
|
|
66
|
-
|
|
104
|
+
return Promise.allSettled(eventConfigs.map(compEventConfig => {
|
|
105
|
+
return executeEvents({ ...params, config: compEventConfig, componentName });
|
|
106
|
+
}));
|
|
107
|
+
}));
|
|
67
108
|
}
|
|
68
|
-
|
|
109
|
+
export function executeApiRequest(params: any) {
|
|
69
110
|
const initialBody = { ...params.userValue?.payload };
|
|
70
111
|
const initialHeaders = {
|
|
71
112
|
"X-Requested-With": "XMLHttpRequest",
|
|
72
113
|
"Access-Control-Allow-Origin": "*"
|
|
73
114
|
};
|
|
74
|
-
const { body, headers } = await buildApiPayload(params.config, initialBody, initialHeaders, params.store, params.dynamicData, params.userValue, params.service)
|
|
75
115
|
|
|
76
|
-
const
|
|
116
|
+
const payloadApi = buildApiPayload(params.config, initialBody, initialHeaders, params.store, params.dynamicData, params.userValue, params.service)
|
|
117
|
+
return params.service[params.config.method](
|
|
77
118
|
params.config.path,
|
|
78
|
-
body,
|
|
79
|
-
|
|
80
|
-
)
|
|
81
|
-
|
|
82
|
-
}
|
|
119
|
+
payloadApi.body,
|
|
120
|
+
{ headers: payloadApi.headers }
|
|
121
|
+
).then((response) => {
|
|
122
|
+
return response;
|
|
123
|
+
});
|
|
124
|
+
};
|
|
83
125
|
|
|
84
|
-
|
|
126
|
+
function executeInBuiltFunctionHandler(params: handlersProps) {
|
|
85
127
|
let parameter = {};
|
|
86
128
|
if (params.config.funcParametersCode) {
|
|
87
129
|
const makeFunc = eval(params.config.funcParametersCode)
|
|
88
130
|
parameter = makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service);
|
|
131
|
+
params.serviceHolder[params.config.inBuiltFunctionType](parameter, params.service)
|
|
132
|
+
} else {
|
|
133
|
+
params.serviceHolder[params.config.inBuiltFunctionType](params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service)
|
|
89
134
|
}
|
|
90
|
-
params.serviceHolder[params.config.inBuiltFunctionType](parameter)
|
|
91
135
|
}
|
|
92
136
|
|
|
93
|
-
|
|
137
|
+
function executeCustomHandler(params: handlersProps) {
|
|
94
138
|
const makeFunc = eval(params.config.eventCode)
|
|
95
|
-
|
|
96
|
-
|
|
139
|
+
if (params.config.isSync !== "Yes") {
|
|
140
|
+
return makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service, params.componentName).then((res) => res)
|
|
141
|
+
} else {
|
|
142
|
+
const response = makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service, params.componentName)
|
|
143
|
+
return response;
|
|
144
|
+
}
|
|
145
|
+
|
|
97
146
|
}
|
|
98
147
|
|
|
99
|
-
|
|
100
|
-
if (eventConfig.type === "Select" && !
|
|
148
|
+
function mergeFormdata(handlerResponse: any, componentName: string, eventConfig: any, store: any, service: any, formDataHolder: any) {
|
|
149
|
+
if (eventConfig.type === "Select" && handlerResponse?.data && !_.isEmpty(handlerResponse?.data)) {
|
|
101
150
|
store.setSchema((pre) => {
|
|
102
151
|
return {
|
|
103
152
|
...pre, properties: {
|
|
@@ -109,7 +158,7 @@ async function mergeFormdata(handlerResponse: any, componentName: string, eventC
|
|
|
109
158
|
}
|
|
110
159
|
})
|
|
111
160
|
}
|
|
112
|
-
else if (eventConfig.type === "MultipleSelect" &&
|
|
161
|
+
else if (eventConfig.type === "MultipleSelect" && handlerResponse?.data && !_.isEmpty(handlerResponse?.data)) {
|
|
113
162
|
store.setSchema((pre) => {
|
|
114
163
|
return {
|
|
115
164
|
...pre, properties: {
|
|
@@ -126,19 +175,23 @@ async function mergeFormdata(handlerResponse: any, componentName: string, eventC
|
|
|
126
175
|
}
|
|
127
176
|
else if (eventConfig.type === "page") {
|
|
128
177
|
if (!(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
|
|
178
|
+
store.newData = {
|
|
179
|
+
...store.newData,
|
|
180
|
+
...handlerResponse?.data
|
|
181
|
+
}
|
|
129
182
|
store.setFormdata((pre: any) => { return { ...pre, ...handlerResponse?.data } })
|
|
130
183
|
}
|
|
131
184
|
}
|
|
132
185
|
else {
|
|
133
186
|
if (handlerResponse) {
|
|
134
|
-
|
|
135
|
-
|
|
187
|
+
formDataHolder[componentName] = handlerResponse.data
|
|
188
|
+
store.setFormdata((pre) => { return { ...pre, ...formDataHolder } });
|
|
136
189
|
}
|
|
137
190
|
}
|
|
138
191
|
}
|
|
139
192
|
|
|
140
|
-
const buildBodyFormat = (body: any[], formData: any, userValue: any) => {
|
|
141
|
-
|
|
193
|
+
const buildBodyFormat = (body: any[], formData: any, userValue: any, store: any) => {
|
|
194
|
+
let finalBody = { ...userValue?.payload };
|
|
142
195
|
body.map((elem) => {
|
|
143
196
|
if (typeof elem?.value !== "string") {
|
|
144
197
|
finalBody[elem.key] = elem.value;
|
|
@@ -146,11 +199,25 @@ const buildBodyFormat = (body: any[], formData: any, userValue: any) => {
|
|
|
146
199
|
if (elem?.value?.startsWith("$userValue")) {
|
|
147
200
|
const finalpath = elem.value.substring(11);
|
|
148
201
|
finalBody[elem.key] = _.get(userValue, finalpath);;
|
|
202
|
+
} else if (elem?.value?.startsWith("$urlParams")) {
|
|
203
|
+
const finalpath = elem.value.substring(11);
|
|
204
|
+
const value = store?.searchParams?.get(finalpath);
|
|
205
|
+
finalBody[elem.key] = value;
|
|
206
|
+
}
|
|
207
|
+
else if (elem?.value?.startsWith("$local")) {
|
|
208
|
+
const finalpath = elem.value.substring(7);
|
|
209
|
+
const value = JSON.parse(sessionStorage.getItem(finalpath) || '""')
|
|
210
|
+
finalBody[elem.key] = value;
|
|
149
211
|
}
|
|
150
212
|
else if (elem?.value?.startsWith("$")) {
|
|
151
213
|
const finalpath = elem.value.substring(1);
|
|
152
214
|
finalBody[elem.key] = _.get(formData, finalpath);;
|
|
153
|
-
} else {
|
|
215
|
+
} else if (elem?.value === "*" && elem?.key === "*") {
|
|
216
|
+
finalBody = { ...finalBody, ...formData };
|
|
217
|
+
} else if (elem?.value === "*") {
|
|
218
|
+
finalBody[elem.key] = formData;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
154
221
|
finalBody[elem.key] = elem.value;
|
|
155
222
|
}
|
|
156
223
|
}
|
|
@@ -169,51 +236,42 @@ const buildHeadersFormat = (headers: any[]) => {
|
|
|
169
236
|
return headerObj;
|
|
170
237
|
}
|
|
171
238
|
|
|
172
|
-
|
|
239
|
+
export function shouldEventExecute(params: handlersProps) {
|
|
173
240
|
const startEvent = params.config?.events?.filter(e => e.eventType === "onStart");
|
|
241
|
+
|
|
174
242
|
if (startEvent?.length > 0) {
|
|
175
|
-
|
|
176
|
-
|
|
243
|
+
if (startEvent[0]?.isSync !== "Yes") {
|
|
244
|
+
return executeEventsHandler({ ...params, config: startEvent[0] }).then((response) => {
|
|
245
|
+
return response;
|
|
246
|
+
});
|
|
247
|
+
} else {
|
|
248
|
+
return executeEventsHandler({ ...params, config: startEvent[0] })
|
|
249
|
+
}
|
|
177
250
|
} else {
|
|
178
|
-
|
|
251
|
+
if (params.config.isSync !== "Yes") {
|
|
252
|
+
return Promise.resolve(true)
|
|
253
|
+
} else {
|
|
254
|
+
return true
|
|
255
|
+
}
|
|
179
256
|
}
|
|
180
257
|
}
|
|
181
258
|
|
|
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
259
|
|
|
260
|
+
export function buildApiPayload(compConfig: any, body: any, headers: any, store: any, dynamicData: any, userValue: any, service) {
|
|
261
|
+
if (compConfig?.headers) {
|
|
262
|
+
headers = buildHeadersFormat(compConfig.headers);
|
|
186
263
|
}
|
|
187
264
|
if (compConfig.body) {
|
|
188
|
-
body = { ...buildBodyFormat(compConfig.body, store.newData || store?.ctx?.core?.data || store.formData, userValue) };
|
|
265
|
+
body = { ...buildBodyFormat(compConfig.body, store.newData || store?.ctx?.core?.data || store.formData, userValue, store) };
|
|
189
266
|
}
|
|
267
|
+
const promiseChain = { body, headers };
|
|
190
268
|
if (compConfig.apiBody) {
|
|
191
269
|
const makeFunc = eval(compConfig.apiBody);
|
|
192
|
-
|
|
193
|
-
body = data
|
|
270
|
+
return { body: makeFunc(store, dynamicData, userValue, promiseChain.body), headers: promiseChain.headers };
|
|
194
271
|
}
|
|
195
|
-
return
|
|
272
|
+
return promiseChain;
|
|
196
273
|
}
|
|
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() {
|
|
274
|
+
export function asyncOperation() {
|
|
217
275
|
return new Promise((resolve, reject) => {
|
|
218
276
|
setTimeout(() => {
|
|
219
277
|
const success = true;
|