impaktapps-ui-builder 0.0.382456 → 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.
Files changed (109) hide show
  1. package/dist/impaktapps-ui-builder.es.js +4233 -2667
  2. package/dist/impaktapps-ui-builder.es.js.map +1 -1
  3. package/dist/impaktapps-ui-builder.umd.js +15 -15
  4. package/dist/impaktapps-ui-builder.umd.js.map +1 -1
  5. package/dist/src/impaktapps-ui-builder/builder/build/buildBasicUiSchema.d.ts +4 -1
  6. package/dist/src/impaktapps-ui-builder/builder/build/buildCard.d.ts +1 -1
  7. package/dist/src/impaktapps-ui-builder/builder/build/buildConfig.d.ts +1 -1
  8. package/dist/src/impaktapps-ui-builder/builder/build/buildDate.d.ts +1 -0
  9. package/dist/src/impaktapps-ui-builder/builder/build/buildInputSlider.d.ts +1 -0
  10. package/dist/src/impaktapps-ui-builder/builder/build/buildTable.d.ts +0 -1
  11. package/dist/src/impaktapps-ui-builder/builder/build/buildThoughtOfTheDay.d.ts +1 -0
  12. package/dist/src/impaktapps-ui-builder/builder/build/buildTreeMap.d.ts +1 -0
  13. package/dist/src/impaktapps-ui-builder/builder/build/buildUiSchema.d.ts +1 -1
  14. package/dist/src/impaktapps-ui-builder/builder/build/uischema/apiSection.d.ts +36 -2
  15. package/dist/src/impaktapps-ui-builder/builder/build/uischema/box.d.ts +2 -2
  16. package/dist/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.d.ts +60 -0
  17. package/dist/src/impaktapps-ui-builder/builder/build/uischema/button.d.ts +1 -7
  18. package/dist/src/impaktapps-ui-builder/builder/build/uischema/card.d.ts +172 -86
  19. package/dist/src/impaktapps-ui-builder/builder/build/uischema/coreSection.d.ts +15 -0
  20. package/dist/src/impaktapps-ui-builder/builder/build/uischema/dateInputField.d.ts +19 -0
  21. package/dist/src/impaktapps-ui-builder/builder/build/uischema/eventSection.d.ts +121 -119
  22. package/dist/src/impaktapps-ui-builder/builder/build/uischema/file.d.ts +6 -6
  23. package/dist/src/impaktapps-ui-builder/builder/build/uischema/graph.d.ts +42 -115
  24. package/dist/src/impaktapps-ui-builder/builder/build/uischema/leaderBoard.d.ts +10 -288
  25. package/dist/src/impaktapps-ui-builder/builder/build/uischema/progressBar.d.ts +6 -1
  26. package/dist/src/impaktapps-ui-builder/builder/build/uischema/table.d.ts +2 -0
  27. package/dist/src/impaktapps-ui-builder/builder/build/uischema/tableSection.d.ts +119 -96
  28. package/dist/src/impaktapps-ui-builder/builder/build/uischema/{lazyLoadingTable.d.ts → thoughtOfTheDay.d.ts} +6 -3
  29. package/dist/src/impaktapps-ui-builder/builder/build/uischema/timer.d.ts +1 -14
  30. package/dist/src/impaktapps-ui-builder/builder/build/uischema/validationSections.d.ts +17 -2
  31. package/dist/src/impaktapps-ui-builder/builder/build/uischema/valueTab.d.ts +17 -2
  32. package/dist/src/impaktapps-ui-builder/builder/build/uischema/wrapperSection.d.ts +2 -1
  33. package/dist/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/schema.d.ts +9 -0
  34. package/dist/src/impaktapps-ui-builder/builder/elements/UiSchema/event/schema.d.ts +3 -0
  35. package/dist/src/impaktapps-ui-builder/builder/services/component.d.ts +12 -4
  36. package/dist/src/impaktapps-ui-builder/builder/services/event.d.ts +11 -2
  37. package/dist/src/impaktapps-ui-builder/builder/services/pageMaster.d.ts +16 -3
  38. package/dist/src/impaktapps-ui-builder/builder/services/utils.d.ts +4 -4
  39. package/dist/src/impaktapps-ui-builder/lib/index.d.ts +1 -1
  40. package/dist/src/impaktapps-ui-builder/runtime/services/events.d.ts +8 -5
  41. package/dist/src/impaktapps-ui-builder/runtime/services/interface.d.ts +2 -0
  42. package/dist/src/impaktapps-ui-builder/runtime/services/service.d.ts +11 -8
  43. package/package.json +5 -1
  44. package/src/impaktapps-ui-builder/builder/build/buildBasicUiSchema.ts +9 -5
  45. package/src/impaktapps-ui-builder/builder/build/buildButton.ts +0 -2
  46. package/src/impaktapps-ui-builder/builder/build/buildCard.ts +11 -7
  47. package/src/impaktapps-ui-builder/builder/build/buildConfig.ts +15 -19
  48. package/src/impaktapps-ui-builder/builder/build/buildDate.ts +12 -2
  49. package/src/impaktapps-ui-builder/builder/build/buildFileInput.ts +1 -1
  50. package/src/impaktapps-ui-builder/builder/build/buildHorizontalBarGraph.ts +22 -9
  51. package/src/impaktapps-ui-builder/builder/build/buildInputSlider.ts +46 -0
  52. package/src/impaktapps-ui-builder/builder/build/buildLeaderboard.ts +26 -19
  53. package/src/impaktapps-ui-builder/builder/build/buildLineGraph.ts +16 -2
  54. package/src/impaktapps-ui-builder/builder/build/buildPieGraph.ts +24 -23
  55. package/src/impaktapps-ui-builder/builder/build/buildProgressBar.ts +1 -1
  56. package/src/impaktapps-ui-builder/builder/build/buildRadio.ts +1 -1
  57. package/src/impaktapps-ui-builder/builder/build/buildRankCard.ts +4 -10
  58. package/src/impaktapps-ui-builder/builder/build/buildSchema.ts +1 -2
  59. package/src/impaktapps-ui-builder/builder/build/buildStackBarGraph.ts +19 -8
  60. package/src/impaktapps-ui-builder/builder/build/buildTabSection.ts +9 -2
  61. package/src/impaktapps-ui-builder/builder/build/buildTable.ts +39 -29
  62. package/src/impaktapps-ui-builder/builder/build/buildTextArea.ts +6 -0
  63. package/src/impaktapps-ui-builder/builder/build/buildThoughtOfTheDay.ts +22 -0
  64. package/src/impaktapps-ui-builder/builder/build/buildTreeMap.ts +61 -0
  65. package/src/impaktapps-ui-builder/builder/build/buildUiSchema.ts +77 -57
  66. package/src/impaktapps-ui-builder/builder/build/buildUplaodFile.ts +16 -19
  67. package/src/impaktapps-ui-builder/builder/build/buildWrapperSection.ts +16 -11
  68. package/src/impaktapps-ui-builder/builder/build/uischema/apiSection.ts +50 -27
  69. package/src/impaktapps-ui-builder/builder/build/uischema/box.ts +3 -2
  70. package/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.ts +174 -80
  71. package/src/impaktapps-ui-builder/builder/build/uischema/button.ts +1 -7
  72. package/src/impaktapps-ui-builder/builder/build/uischema/card.ts +171 -75
  73. package/src/impaktapps-ui-builder/builder/build/uischema/coreSection.ts +43 -41
  74. package/src/impaktapps-ui-builder/builder/build/uischema/dateInputField.ts +17 -7
  75. package/src/impaktapps-ui-builder/builder/build/uischema/emptyBox.ts +1 -1
  76. package/src/impaktapps-ui-builder/builder/build/uischema/eventSection.ts +78 -56
  77. package/src/impaktapps-ui-builder/builder/build/uischema/file.ts +2 -12
  78. package/src/impaktapps-ui-builder/builder/build/uischema/graph.ts +13 -141
  79. package/src/impaktapps-ui-builder/builder/build/uischema/leaderBoard.ts +10 -357
  80. package/src/impaktapps-ui-builder/builder/build/uischema/multiSelect.ts +1 -1
  81. package/src/impaktapps-ui-builder/builder/build/uischema/progressBar.ts +1 -1
  82. package/src/impaktapps-ui-builder/builder/build/uischema/rankCard.ts +1 -1
  83. package/src/impaktapps-ui-builder/builder/build/uischema/refresh.ts +15 -11
  84. package/src/impaktapps-ui-builder/builder/build/uischema/runnerBoyProgressBar.ts +1 -1
  85. package/src/impaktapps-ui-builder/builder/build/uischema/selectInputField.ts +1 -6
  86. package/src/impaktapps-ui-builder/builder/build/uischema/table.ts +5 -6
  87. package/src/impaktapps-ui-builder/builder/build/uischema/tableSection.ts +125 -97
  88. package/src/impaktapps-ui-builder/builder/build/uischema/textInputField.ts +1 -6
  89. package/src/impaktapps-ui-builder/builder/build/uischema/thoughtOfTheDay.ts +14 -0
  90. package/src/impaktapps-ui-builder/builder/build/uischema/timer.ts +2 -16
  91. package/src/impaktapps-ui-builder/builder/build/uischema/validationSections.ts +12 -12
  92. package/src/impaktapps-ui-builder/builder/build/uischema/valueTab.ts +13 -13
  93. package/src/impaktapps-ui-builder/builder/build/uischema/wrapperSection.ts +2 -1
  94. package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/schema.ts +67 -19
  95. package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/uiSchema.ts +525 -166
  96. package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/schema.ts +12 -2
  97. package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/uiSchema.ts +757 -321
  98. package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/schema.ts +7 -2
  99. package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/uiSchema.ts +516 -269
  100. package/src/impaktapps-ui-builder/builder/services/component.ts +165 -73
  101. package/src/impaktapps-ui-builder/builder/services/event.ts +74 -13
  102. package/src/impaktapps-ui-builder/builder/services/pageMaster.ts +61 -20
  103. package/src/impaktapps-ui-builder/builder/services/utils.ts +13 -14
  104. package/src/impaktapps-ui-builder/lib/index.ts +1 -1
  105. package/src/impaktapps-ui-builder/runtime/services/downloadFile.ts +1 -1
  106. package/src/impaktapps-ui-builder/runtime/services/events.ts +154 -96
  107. package/src/impaktapps-ui-builder/runtime/services/interface.ts +3 -1
  108. package/src/impaktapps-ui-builder/runtime/services/service.ts +211 -49
  109. 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 clearFromLocalStorage = () => {
5
- localStorage.removeItem("pageFormdata")
4
+ const clearFromSessionStorage = () => {
5
+ sessionStorage.removeItem("pageFormdata")
6
6
  }
7
- export default clearFromLocalStorage;
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 saveFormdataInLocalStorage = (formData: any, path?: string) => {
34
+ export const saveFormdataInSessionStorage = (formData: any, path?: string) => {
35
35
  let updatedFormdata: any;
36
36
  if (path) {
37
- const pageFormdata = getFormdataFromLocalStorage()
37
+ const pageFormdata = getFormdataFromSessionStorage()
38
38
  updatedFormdata = _.set(pageFormdata, path, buildConfig(formData));
39
39
  } else {
40
40
  updatedFormdata = buildConfig(formData)
41
41
  }
42
- localStorage.setItem("pageFormdata", JSON.stringify(updatedFormdata))
42
+ sessionStorage.setItem("pageFormdata", JSON.stringify(updatedFormdata))
43
43
  return updatedFormdata;
44
44
  }
45
45
 
46
- export const getFormdataFromLocalStorage = (path?: string) => {
47
- const pageFormdata = localStorage.getItem("pageFormdata") ? JSON.parse(localStorage.getItem("pageFormdata")) : undefined;
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
- saveFormdataInLocalStorage(store.ctx.core.data, path);
64
- const config = JSON.parse(localStorage.getItem("pageFormdata"));
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
- localStorage.removeItem("pageFormdata");
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
- saveFormdataInLocalStorage(store.ctx.core.data, path)
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 clearFromLocalStorage} from "../builder/services/utils"
10
+ export {default as clearFromSessionStorage} from "../builder/services/utils"
@@ -29,4 +29,4 @@ export const doDownload = (response: any, service) => {
29
29
  document.body.appendChild(link);
30
30
  link.click();
31
31
  link.parentNode.removeChild(link);
32
- };
32
+ };
@@ -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 shouldExecute = await shouldEventExecute(params)
12
- if (!shouldExecute) {
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 (err) {
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
- await executeEvents({ ...params, config: actionConfig, parentEventOutput: finalResponse })
50
+ executeEvents({ ...params, config: actionConfig, parentEventOutput: finalResponse })
27
51
  }
28
52
  }
29
53
  return finalResponse;
30
54
  }
31
55
 
32
- async function executeEventsHandler(params: handlersProps) {
56
+ function executeEventsHandler(params: handlersProps) {
33
57
  if (params.config.Handler === "api") {
34
- return await executeApiEventHandler(params)
35
- }
36
- else if (params.config.Handler === "inBuiltFunction") {
37
- return await executeInBuiltFunctionHandler(params)
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
- 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()
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
- for (const componentName of compToRefresh) {
63
- for (const compEventConfig of params.eventGroups.onLoad[componentName]) {
64
- await executeEvents({ ...params, config: compEventConfig, componentName });
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
- async function executeApiEventHandler(params: handlersProps) {
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 response = await params.service[params.config.method](
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
- headers && { headers: headers }
80
- );
81
- return response;
82
- }
119
+ payloadApi.body,
120
+ { headers: payloadApi.headers }
121
+ ).then((response) => {
122
+ return response;
123
+ });
124
+ };
83
125
 
84
- async function executeInBuiltFunctionHandler(params: handlersProps) {
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
- async function executeCustomHandler(params: handlersProps) {
137
+ function executeCustomHandler(params: handlersProps) {
94
138
  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;
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
- async function mergeFormdata(handlerResponse: any, componentName: string, eventConfig: any, store: any, service: any) {
100
- if (eventConfig.type === "Select" && !(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
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" && !(_.isEmpty(handlerResponse?.data) && handlerResponse?.data)) {
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
- store.setFormdata((pre) => { return { ...pre, [componentName]: eventConfig.lazyLoading ? handlerResponse.data.data : handlerResponse.data } });
135
- const demoData = await asyncOperation();
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
- const finalBody = { ...userValue?.payload };
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
- async function shouldEventExecute(params: handlersProps) {
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
- const response = await executeEventsHandler({ ...params, config: startEvent[0] });
176
- return response;
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
- return true
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
- const data = await makeFunc(store, dynamicData, userValue, body);
193
- body = data
270
+ return { body: makeFunc(store, dynamicData, userValue, promiseChain.body), headers: promiseChain.headers };
194
271
  }
195
- return { body, headers };
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;
@@ -7,5 +7,7 @@ export interface handlersProps {
7
7
  service: any,
8
8
  serviceHolder: any,
9
9
  eventGroups?: any,
10
- parentEventOutput?: any
10
+ parentEventOutput?: any,
11
+ functionsProvider?:Record<string,any>
12
+ formDataHolder?:Record<string,any>
11
13
  }