@legalplace/wizardx-core 2.3.0 → 2.5.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 (543) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/App.d.ts +5 -5
  3. package/dist/App.js +22 -35
  4. package/dist/App.test.js +2 -2
  5. package/dist/Globals.d.ts +4 -0
  6. package/dist/Globals.js +9 -6
  7. package/dist/Loader.d.ts +1 -0
  8. package/dist/Loader.js +2 -0
  9. package/dist/PluginLoader.d.ts +3 -3
  10. package/dist/PluginLoader.js +22 -26
  11. package/dist/PluginLoader.test.js +6 -6
  12. package/dist/Shimmer.d.ts +1 -1
  13. package/dist/Shimmer.js +45 -47
  14. package/dist/ThemeLoader.d.ts +6 -5
  15. package/dist/ThemeLoader.js +21 -25
  16. package/dist/ThemeLoader.test.js +4 -3
  17. package/dist/components/PluginRoute.d.ts +3 -3
  18. package/dist/components/PluginRoute.js +8 -7
  19. package/dist/components/SmartScript.d.ts +7 -8
  20. package/dist/components/SmartScript.js +22 -21
  21. package/dist/components/UserLocked/UserLockedComponent.d.ts +1 -1
  22. package/dist/components/UserLocked/UserLockedComponent.js +5 -6
  23. package/dist/components/View.d.ts +8 -4
  24. package/dist/components/View.js +46 -55
  25. package/dist/components/View.test.js +6 -5
  26. package/dist/componentsConnectors/connectBox.d.ts +2 -3
  27. package/dist/componentsConnectors/connectBox.js +4 -4
  28. package/dist/componentsConnectors/connectBox.test.js +7 -7
  29. package/dist/componentsConnectors/connectDocument.d.ts +0 -1
  30. package/dist/componentsConnectors/connectDocument.js +6 -6
  31. package/dist/componentsConnectors/connectDocument.test.js +5 -5
  32. package/dist/componentsConnectors/connectHeader.d.ts +0 -1
  33. package/dist/componentsConnectors/connectHeader.js +2 -2
  34. package/dist/componentsConnectors/connectMetaTitle.d.ts +0 -1
  35. package/dist/componentsConnectors/connectMetaTitle.js +2 -2
  36. package/dist/componentsConnectors/connectMetaTitle.test.js +3 -3
  37. package/dist/componentsConnectors/connectOption.d.ts +2 -3
  38. package/dist/componentsConnectors/connectOption.js +9 -9
  39. package/dist/componentsConnectors/connectPagination.d.ts +0 -1
  40. package/dist/componentsConnectors/connectPagination.js +3 -3
  41. package/dist/componentsConnectors/connectPreview.d.ts +0 -1
  42. package/dist/componentsConnectors/connectPreview.js +2 -2
  43. package/dist/componentsConnectors/connectProgress.d.ts +0 -1
  44. package/dist/componentsConnectors/connectProgress.js +3 -3
  45. package/dist/componentsConnectors/connectRootOption.d.ts +2 -3
  46. package/dist/componentsConnectors/connectRootOption.js +2 -2
  47. package/dist/componentsConnectors/connectSection.d.ts +0 -1
  48. package/dist/componentsConnectors/connectSection.js +4 -4
  49. package/dist/componentsConnectors/connectSummary.d.ts +0 -1
  50. package/dist/componentsConnectors/connectSummary.js +2 -2
  51. package/dist/componentsConnectors/connectSummaryItem.d.ts +0 -1
  52. package/dist/componentsConnectors/connectSummaryItem.js +6 -6
  53. package/dist/componentsConnectors/connectTermsheet.d.ts +2 -2
  54. package/dist/componentsConnectors/connectTermsheet.js +43 -46
  55. package/dist/componentsConnectors/connectVariable.d.ts +1 -2
  56. package/dist/componentsConnectors/connectVariable.js +10 -10
  57. package/dist/componentsConnectors/connectWizardWrapper.d.ts +0 -1
  58. package/dist/componentsConnectors/connectWizardWrapper.js +4 -4
  59. package/dist/componentsConnectors/connector/componentConnector.d.ts +8 -8
  60. package/dist/componentsConnectors/connector/componentConnector.js +16 -19
  61. package/dist/componentsConnectors/library.d.ts +61 -0
  62. package/dist/componentsConnectors/library.js +34 -0
  63. package/dist/config.d.ts +1 -1
  64. package/dist/constants/phoneValidation.d.ts +3 -0
  65. package/dist/constants/phoneValidation.js +3 -0
  66. package/dist/helpers/outputsParsing.d.ts +1 -1
  67. package/dist/helpers/outputsParsing.js +25 -25
  68. package/dist/helpers/preloadTheme.js +1 -1
  69. package/dist/helpers/scriptsLoader.d.ts +1 -0
  70. package/dist/helpers/scriptsLoader.js +24 -0
  71. package/dist/helpers/sendinblueHelper.d.ts +3 -3
  72. package/dist/helpers/sendinblueHelper.js +29 -18
  73. package/dist/hooks/usePrevious.js +1 -1
  74. package/dist/libs/ConditionsInitiator.d.ts +1 -1
  75. package/dist/libs/ConditionsInitiator.js +2 -2
  76. package/dist/libs/ConditionsRunner/DataPopulator.js +7 -7
  77. package/dist/libs/ConditionsRunner.d.ts +3 -3
  78. package/dist/libs/ConditionsRunner.js +43 -43
  79. package/dist/libs/DocumentsOutputs.d.ts +2 -2
  80. package/dist/libs/DocumentsOutputs.js +5 -5
  81. package/dist/libs/Eval/EvalBase.js +17 -17
  82. package/dist/libs/Eval/EvalFunctions.d.ts +1 -1
  83. package/dist/libs/Eval/EvalFunctions.js +100 -100
  84. package/dist/libs/Eval/NumbersToLetters.js +46 -46
  85. package/dist/libs/EvalVariable.d.ts +2 -2
  86. package/dist/libs/EvalVariable.js +30 -29
  87. package/dist/libs/EventsTracking.js +32 -32
  88. package/dist/libs/Extracts.js +20 -20
  89. package/dist/libs/InputsInitiator.d.ts +1 -1
  90. package/dist/libs/InputsInitiator.js +15 -15
  91. package/dist/libs/NumAuto.js +1 -1
  92. package/dist/libs/OvcConverter.d.ts +1 -1
  93. package/dist/libs/OvcConverter.js +23 -23
  94. package/dist/libs/PathReader.d.ts +1 -1
  95. package/dist/libs/PathReader.js +22 -22
  96. package/dist/libs/SectionValidity.js +3 -3
  97. package/dist/libs/SmartScriptStore.d.ts +6 -6
  98. package/dist/libs/SmartScriptStore.js +33 -33
  99. package/dist/misc/test_model.d.ts +2 -2
  100. package/dist/misc/test_model.js +3807 -3807
  101. package/dist/polyfills/index.d.ts +5 -0
  102. package/dist/polyfills/index.js +5 -0
  103. package/dist/polyfills/prepend.js +2 -2
  104. package/dist/polyfills/stringRepeat.js +4 -4
  105. package/dist/redux/actions/app.d.ts +12 -12
  106. package/dist/redux/actions/app.js +1 -1
  107. package/dist/redux/actions/conditions.d.ts +2 -2
  108. package/dist/redux/actions/conditions.js +1 -1
  109. package/dist/redux/actions/inputs.d.ts +3 -1
  110. package/dist/redux/actions/inputs.js +6 -1
  111. package/dist/redux/actions/library.d.ts +74 -0
  112. package/dist/redux/actions/library.js +11 -0
  113. package/dist/redux/actions/mandatories.d.ts +1 -1
  114. package/dist/redux/actions/mandatories.js +1 -1
  115. package/dist/redux/actions/references.d.ts +4 -4
  116. package/dist/redux/actions/references.js +1 -1
  117. package/dist/redux/actions/sagas/data.d.ts +1 -1
  118. package/dist/redux/actions/sagas/data.js +1 -1
  119. package/dist/redux/actions/sagas/model.d.ts +3 -3
  120. package/dist/redux/actions/sagas/model.js +3 -3
  121. package/dist/redux/actions/sagas/user.d.ts +1 -1
  122. package/dist/redux/actions/sagas/user.js +1 -1
  123. package/dist/redux/actions/smartscript.d.ts +3 -3
  124. package/dist/redux/actions/smartscript.js +1 -1
  125. package/dist/redux/actions/user.d.ts +4 -4
  126. package/dist/redux/actions/user.js +1 -1
  127. package/dist/redux/constants/app.js +22 -22
  128. package/dist/redux/constants/conditions.js +8 -8
  129. package/dist/redux/constants/inputs.d.ts +1 -0
  130. package/dist/redux/constants/inputs.js +7 -6
  131. package/dist/redux/constants/mandatories.js +6 -6
  132. package/dist/redux/constants/references.js +3 -3
  133. package/dist/redux/constants/sagas/data.js +1 -1
  134. package/dist/redux/constants/sagas/model.js +2 -2
  135. package/dist/redux/constants/sagas/user.js +2 -2
  136. package/dist/redux/constants/smartscript.js +4 -4
  137. package/dist/redux/constants/user.js +3 -3
  138. package/dist/redux/listeners/subscriber.d.ts +2 -2
  139. package/dist/redux/middlewares/conditionsWatcherMiddleware.d.ts +2 -2
  140. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +28 -28
  141. package/dist/redux/middlewares/evaluationsWatcherMiddleware.d.ts +4 -2
  142. package/dist/redux/middlewares/evaluationsWatcherMiddleware.js +10 -10
  143. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.d.ts +2 -2
  144. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.js +13 -13
  145. package/dist/redux/middlewares/multiplesActionsMiddleware.d.ts +2 -2
  146. package/dist/redux/middlewares/multiplesActionsMiddleware.js +2 -2
  147. package/dist/redux/middlewares/paginationWatcherMiddleware.d.ts +3 -3
  148. package/dist/redux/middlewares/paginationWatcherMiddleware.js +24 -24
  149. package/dist/redux/middlewares/pluginsHookMiddleware.d.ts +1 -1
  150. package/dist/redux/middlewares/pluginsHookMiddleware.js +1 -1
  151. package/dist/redux/middlewares/prefillerWatcherMiddleware.d.ts +2 -2
  152. package/dist/redux/middlewares/prefillerWatcherMiddleware.js +28 -28
  153. package/dist/redux/middlewares/smartscriptMiddleware.d.ts +2 -2
  154. package/dist/redux/middlewares/smartscriptMiddleware.js +33 -15
  155. package/dist/redux/middlewares/thirdpartyScriptsMiddleware.d.ts +5 -0
  156. package/dist/redux/middlewares/thirdpartyScriptsMiddleware.js +16 -0
  157. package/dist/redux/reducers/app/customizations/initCustomizationAutoDefault.d.ts +2 -2
  158. package/dist/redux/reducers/app/customizations/initCustomizationMeta.d.ts +2 -2
  159. package/dist/redux/reducers/app/instance/initInstance.d.ts +2 -2
  160. package/dist/redux/reducers/app/instance/setDataStatus.d.ts +2 -2
  161. package/dist/redux/reducers/app/instance/updateInstance.d.ts +2 -2
  162. package/dist/redux/reducers/app/instance/updateInstancePaid.d.ts +2 -2
  163. package/dist/redux/reducers/app/meta/fetchModelFailed.d.ts +1 -1
  164. package/dist/redux/reducers/app/meta/fetchModelFailed.js +1 -1
  165. package/dist/redux/reducers/app/meta/fetchModelNonBlocking.d.ts +1 -1
  166. package/dist/redux/reducers/app/meta/fetchModelNonBlocking.js +1 -1
  167. package/dist/redux/reducers/app/meta/fetchModelSucceeded.d.ts +1 -1
  168. package/dist/redux/reducers/app/meta/fetchModelSucceeded.js +1 -1
  169. package/dist/redux/reducers/app/meta/fetchModelUnhealthy.d.ts +2 -2
  170. package/dist/redux/reducers/app/meta/fetchModelUnhealthy.js +1 -1
  171. package/dist/redux/reducers/app/meta/fetchModelUserLocked.d.ts +1 -1
  172. package/dist/redux/reducers/app/meta/fetchModelUserLocked.js +1 -1
  173. package/dist/redux/reducers/app/meta/initMeta.d.ts +2 -2
  174. package/dist/redux/reducers/app/meta/setModelUuid.d.ts +2 -2
  175. package/dist/redux/reducers/app/pagination/goNextPage.d.ts +1 -1
  176. package/dist/redux/reducers/app/pagination/goNextPage.js +1 -1
  177. package/dist/redux/reducers/app/pagination/goPage.d.ts +2 -2
  178. package/dist/redux/reducers/app/pagination/goPage.js +2 -2
  179. package/dist/redux/reducers/app/pagination/goPreviousPage.d.ts +1 -1
  180. package/dist/redux/reducers/app/pagination/goPreviousPage.js +1 -1
  181. package/dist/redux/reducers/app/pagination/initPagination.d.ts +2 -2
  182. package/dist/redux/reducers/app/pagination/initPagination.js +1 -1
  183. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.d.ts +2 -2
  184. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.js +5 -5
  185. package/dist/redux/reducers/app/wizard/updateAvailableSections.d.ts +2 -2
  186. package/dist/redux/reducers/app/wizard/updateAvailableSections.js +2 -2
  187. package/dist/redux/reducers/app.d.ts +2 -2
  188. package/dist/redux/reducers/app.js +30 -30
  189. package/dist/redux/reducers/conditions/addMultipleOccurency.d.ts +2 -2
  190. package/dist/redux/reducers/conditions/addMultipleOccurency.js +3 -3
  191. package/dist/redux/reducers/conditions/deleteMultipleOccurency.d.ts +2 -2
  192. package/dist/redux/reducers/conditions/deleteMultipleOccurency.js +2 -2
  193. package/dist/redux/reducers/conditions/initConditions.d.ts +2 -2
  194. package/dist/redux/reducers/conditions/updateDocumentConditions.d.ts +2 -2
  195. package/dist/redux/reducers/conditions/updateOptionConditions.d.ts +2 -2
  196. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.d.ts +2 -2
  197. package/dist/redux/reducers/conditions/updatePrefillerConditions.d.ts +2 -2
  198. package/dist/redux/reducers/conditions/updatePrefillerConditions.js +2 -2
  199. package/dist/redux/reducers/conditions/updateSectionConditions.d.ts +2 -2
  200. package/dist/redux/reducers/conditions/updateVariableConditions.d.ts +2 -2
  201. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.d.ts +2 -2
  202. package/dist/redux/reducers/conditions.d.ts +2 -2
  203. package/dist/redux/reducers/conditions.js +13 -13
  204. package/dist/redux/reducers/inputs/addMultipleOccurency.d.ts +2 -2
  205. package/dist/redux/reducers/inputs/addMultipleOccurency.js +4 -4
  206. package/dist/redux/reducers/inputs/deleteMultipleOccurency.d.ts +2 -2
  207. package/dist/redux/reducers/inputs/deleteMultipleOccurency.js +2 -2
  208. package/dist/redux/reducers/inputs/initOption.d.ts +2 -2
  209. package/dist/redux/reducers/inputs/initVariable.d.ts +2 -2
  210. package/dist/redux/reducers/inputs/updateOptionInput.d.ts +2 -2
  211. package/dist/redux/reducers/inputs/updateVariableInput.d.ts +2 -2
  212. package/dist/redux/reducers/inputs.d.ts +2 -2
  213. package/dist/redux/reducers/inputs.js +8 -8
  214. package/dist/redux/reducers/mandatories/addMultipleOccurency.d.ts +2 -2
  215. package/dist/redux/reducers/mandatories/addMultipleOccurency.js +2 -2
  216. package/dist/redux/reducers/mandatories/deleteMultipleOccurency.d.ts +2 -2
  217. package/dist/redux/reducers/mandatories/deleteMultipleOccurency.js +2 -2
  218. package/dist/redux/reducers/mandatories/initMandatoryOption.d.ts +2 -2
  219. package/dist/redux/reducers/mandatories/initMandatoryVariable.d.ts +2 -2
  220. package/dist/redux/reducers/mandatories/setMandatoryIgnore.d.ts +2 -2
  221. package/dist/redux/reducers/mandatories/setMandatoryOption.d.ts +2 -2
  222. package/dist/redux/reducers/mandatories/setMandatorySection.d.ts +2 -2
  223. package/dist/redux/reducers/mandatories/setMandatoryVariable.d.ts +2 -2
  224. package/dist/redux/reducers/mandatories.d.ts +2 -2
  225. package/dist/redux/reducers/mandatories.js +11 -11
  226. package/dist/redux/reducers/references/initReferences.d.ts +2 -2
  227. package/dist/redux/reducers/references/updateOptionMeta.d.ts +2 -2
  228. package/dist/redux/reducers/references/updateOptionMeta.js +2 -2
  229. package/dist/redux/reducers/references/updateVariableMeta.d.ts +2 -2
  230. package/dist/redux/reducers/references/updateVariableMeta.js +2 -2
  231. package/dist/redux/reducers/references.d.ts +2 -2
  232. package/dist/redux/reducers/references.js +5 -5
  233. package/dist/redux/reducers/smartscript/enableSmartScript.d.ts +1 -1
  234. package/dist/redux/reducers/smartscript/initSmartScriptTriggers.d.ts +2 -2
  235. package/dist/redux/reducers/smartscript/updateSmartscriptOptionHidden.d.ts +2 -2
  236. package/dist/redux/reducers/smartscript/updateSmartscriptVariableHidden.d.ts +2 -2
  237. package/dist/redux/reducers/smartscript.d.ts +2 -2
  238. package/dist/redux/reducers/smartscript.js +6 -6
  239. package/dist/redux/reducers/user/initUser.d.ts +2 -2
  240. package/dist/redux/reducers/user/setUserStatus.d.ts +2 -2
  241. package/dist/redux/reducers/user/setUserValidToken.d.ts +2 -2
  242. package/dist/redux/reducers/user.d.ts +2 -2
  243. package/dist/redux/reducers/user.js +9 -9
  244. package/dist/redux/routerHistory.d.ts +2 -2
  245. package/dist/redux/routerHistory.js +5 -5
  246. package/dist/redux/sagas/fetchModel.d.ts +4 -4
  247. package/dist/redux/sagas/fetchModel.js +79 -131
  248. package/dist/redux/sagas/fetchModel.test.js +2 -3
  249. package/dist/redux/sagas/homogeneousRadioInputsSaga.js +5 -5
  250. package/dist/redux/sagas/initInputs.d.ts +5 -0
  251. package/dist/redux/sagas/initInputs.js +63 -0
  252. package/dist/redux/sagas/runner.d.ts +1 -1
  253. package/dist/redux/sagas/runner.js +7 -5
  254. package/dist/redux/sagas/saveData.js +34 -25
  255. package/dist/redux/sagas/setDefaults.js +8 -8
  256. package/dist/redux/sagas/setUserEmail.js +43 -43
  257. package/dist/redux/selectors/app.d.ts +1 -0
  258. package/dist/redux/selectors/app.js +26 -25
  259. package/dist/redux/selectors/conditions.js +34 -34
  260. package/dist/redux/selectors/inputs.d.ts +1 -1
  261. package/dist/redux/selectors/inputs.js +8 -8
  262. package/dist/{componentsConnectors/connector/connectorSelectors.d.ts → redux/selectors/library.d.ts} +17 -16
  263. package/dist/redux/selectors/library.js +8 -0
  264. package/dist/redux/selectors/mandatories.js +10 -10
  265. package/dist/redux/selectors/references.d.ts +1 -0
  266. package/dist/redux/selectors/references.js +20 -19
  267. package/dist/redux/selectors/selectors.d.ts +2 -2
  268. package/dist/redux/selectors/selectors.js +2 -2
  269. package/dist/redux/selectors/smartscript.js +5 -5
  270. package/dist/redux/selectors/user.js +5 -5
  271. package/dist/redux/store.d.ts +6 -2
  272. package/dist/redux/store.js +31 -31
  273. package/dist/service/api.manager.d.ts +2 -2
  274. package/dist/service/api.manager.js +46 -46
  275. package/dist/service/auth.service.js +2 -2
  276. package/dist/service/pardot.service.js +2 -2
  277. package/dist/tests-misc/plugins/jestTestPlugin/after.d.ts +1 -1
  278. package/dist/tests-misc/plugins/jestTestPlugin/after.js +2 -2
  279. package/dist/tests-misc/plugins/jestTestPlugin/before.d.ts +1 -1
  280. package/dist/tests-misc/plugins/jestTestPlugin/before.js +2 -5
  281. package/dist/tests-misc/plugins/jestTestPlugin/index.js +4 -4
  282. package/dist/tests-misc/plugins/jestTestPlugin/title.d.ts +1 -1
  283. package/dist/tests-misc/plugins/jestTestPlugin/title.js +2 -2
  284. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.d.ts +0 -1
  285. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.js +2 -2
  286. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.d.ts +0 -1
  287. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.js +2 -2
  288. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.d.ts +0 -1
  289. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.js +2 -2
  290. package/dist/tests-misc/themes/jestTestTheme/faltyIndex.js +1 -1
  291. package/dist/tests-misc/themes/jestTestTheme/faltyIndexLoader.js +1 -1
  292. package/dist/tests-misc/themes/jestTestTheme/index.js +4 -4
  293. package/dist/types/Actions.type.d.ts +42 -37
  294. package/dist/types/Components.type.d.ts +4 -5
  295. package/dist/types/State.type.d.ts +9 -9
  296. package/dist/types/Termsheet.type.d.ts +4 -4
  297. package/dist/types/api.type.d.ts +4 -4
  298. package/dist/types/config.type.d.ts +2 -3
  299. package/dist/types/getActions.type.d.ts +2 -2
  300. package/dist/types/getConnectors.type.d.ts +2 -3
  301. package/dist/types/getSelectors.type.d.ts +2 -2
  302. package/dist/wizard-params.d.ts +1 -1
  303. package/dist/wizard-params.js +16 -16
  304. package/jest.config.ts +1 -1
  305. package/package.json +16 -8
  306. package/setupJest.ts +8 -0
  307. package/src/App.tsx +22 -25
  308. package/src/Globals.ts +12 -8
  309. package/src/Loader.tsx +8 -0
  310. package/src/PluginLoader.tsx +20 -37
  311. package/src/Shimmer.tsx +58 -45
  312. package/src/ThemeLoader.test.tsx +1 -0
  313. package/src/ThemeLoader.tsx +27 -42
  314. package/src/components/PluginRoute.tsx +8 -6
  315. package/src/components/SmartScript.tsx +29 -28
  316. package/src/components/UserLocked/UserLockedComponent.tsx +3 -3
  317. package/src/components/View.test.tsx +3 -0
  318. package/src/components/View.tsx +52 -54
  319. package/src/componentsConnectors/connectBox.tsx +6 -6
  320. package/src/componentsConnectors/connectDocument.tsx +6 -6
  321. package/src/componentsConnectors/connectHeader.tsx +2 -2
  322. package/src/componentsConnectors/connectMetaTitle.tsx +2 -2
  323. package/src/componentsConnectors/connectOption.tsx +11 -11
  324. package/src/componentsConnectors/connectPagination.tsx +3 -3
  325. package/src/componentsConnectors/connectPreview.tsx +2 -2
  326. package/src/componentsConnectors/connectProgress.tsx +3 -3
  327. package/src/componentsConnectors/connectRootOption.tsx +4 -4
  328. package/src/componentsConnectors/connectSection.tsx +4 -4
  329. package/src/componentsConnectors/connectSummary.tsx +2 -2
  330. package/src/componentsConnectors/connectSummaryItem.tsx +6 -6
  331. package/src/componentsConnectors/connectTermsheet.tsx +46 -46
  332. package/src/componentsConnectors/connectVariable.tsx +11 -11
  333. package/src/componentsConnectors/connectWizardWrapper.tsx +4 -4
  334. package/src/componentsConnectors/connector/componentConnector.tsx +22 -20
  335. package/src/componentsConnectors/library.ts +35 -0
  336. package/src/config.test.ts +2 -1
  337. package/src/config.ts +1 -1
  338. package/src/constants/phoneValidation.ts +6 -0
  339. package/src/definitions/path.join.d.ts +1 -1
  340. package/src/helpers/outputsParsing.ts +26 -26
  341. package/src/helpers/preloadTheme.ts +2 -2
  342. package/src/helpers/scriptsLoader.ts +20 -0
  343. package/src/helpers/sendinblueHelper.ts +23 -17
  344. package/src/hooks/usePrevious.ts +1 -1
  345. package/src/libs/ConditionsInitiator.ts +3 -3
  346. package/src/libs/ConditionsRunner/DataPopulator.ts +7 -7
  347. package/src/libs/ConditionsRunner.ts +53 -53
  348. package/src/libs/DocumentsOutputs.ts +7 -7
  349. package/src/libs/Eval/EvalBase.ts +17 -17
  350. package/src/libs/Eval/EvalFunctions.ts +100 -100
  351. package/src/libs/Eval/NumbersToLetters.ts +48 -48
  352. package/src/libs/EvalVariable.ts +34 -31
  353. package/src/libs/EventsTracking.ts +38 -38
  354. package/src/libs/Extracts.ts +21 -21
  355. package/src/libs/InputsInitiator.ts +16 -16
  356. package/src/libs/NumAuto.ts +1 -1
  357. package/src/libs/OvcConverter.ts +25 -25
  358. package/src/libs/PathReader.ts +23 -23
  359. package/src/libs/SectionValidity.ts +3 -3
  360. package/src/libs/SmartScriptStore.ts +40 -40
  361. package/src/misc/test_model.ts +3809 -3809
  362. package/src/polyfills/index.ts +5 -0
  363. package/src/polyfills/prepend.ts +2 -2
  364. package/src/polyfills/stringRepeat.ts +4 -4
  365. package/src/redux/actions/app.ts +13 -13
  366. package/src/redux/actions/conditions.ts +3 -3
  367. package/src/redux/actions/inputs.ts +18 -2
  368. package/src/redux/actions/library.ts +23 -0
  369. package/src/redux/actions/mandatories.ts +2 -2
  370. package/src/redux/actions/references.ts +5 -5
  371. package/src/redux/actions/sagas/data.ts +2 -2
  372. package/src/redux/actions/sagas/model.ts +6 -6
  373. package/src/redux/actions/sagas/user.ts +2 -2
  374. package/src/redux/actions/smartscript.ts +4 -4
  375. package/src/redux/actions/user.ts +5 -5
  376. package/src/redux/constants/app.ts +22 -22
  377. package/src/redux/constants/conditions.ts +8 -8
  378. package/src/redux/constants/inputs.ts +8 -6
  379. package/src/redux/constants/mandatories.ts +6 -6
  380. package/src/redux/constants/references.ts +3 -3
  381. package/src/redux/constants/sagas/data.ts +1 -1
  382. package/src/redux/constants/sagas/model.ts +2 -2
  383. package/src/redux/constants/sagas/user.ts +2 -2
  384. package/src/redux/constants/smartscript.ts +4 -4
  385. package/src/redux/constants/user.ts +3 -3
  386. package/src/redux/listeners/subscriber.ts +2 -2
  387. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +31 -31
  388. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +1 -1
  389. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +13 -13
  390. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +16 -16
  391. package/src/redux/middlewares/multiplesActionsMiddleware.ts +6 -6
  392. package/src/redux/middlewares/paginationWatcherMiddleware.ts +27 -27
  393. package/src/redux/middlewares/pluginsHookMiddleware.ts +2 -2
  394. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +31 -31
  395. package/src/redux/middlewares/smartscriptMiddleware.ts +61 -20
  396. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +41 -0
  397. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +2 -2
  398. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +2 -2
  399. package/src/redux/reducers/app/instance/initInstance.ts +2 -2
  400. package/src/redux/reducers/app/instance/setDataStatus.ts +2 -2
  401. package/src/redux/reducers/app/instance/updateInstance.ts +2 -2
  402. package/src/redux/reducers/app/instance/updateInstancePaid.ts +2 -2
  403. package/src/redux/reducers/app/meta/fetchModelFailed.ts +2 -2
  404. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +2 -2
  405. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +2 -2
  406. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +3 -3
  407. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +2 -2
  408. package/src/redux/reducers/app/meta/initMeta.ts +2 -2
  409. package/src/redux/reducers/app/meta/setModelUuid.ts +2 -2
  410. package/src/redux/reducers/app/pagination/goNextPage.ts +2 -2
  411. package/src/redux/reducers/app/pagination/goPage.ts +4 -4
  412. package/src/redux/reducers/app/pagination/goPreviousPage.ts +2 -2
  413. package/src/redux/reducers/app/pagination/initPagination.ts +3 -3
  414. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +7 -7
  415. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +4 -4
  416. package/src/redux/reducers/app.ts +32 -32
  417. package/src/redux/reducers/conditions/addMultipleOccurency.ts +5 -5
  418. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +4 -4
  419. package/src/redux/reducers/conditions/initConditions.ts +2 -2
  420. package/src/redux/reducers/conditions/updateDocumentConditions.ts +2 -2
  421. package/src/redux/reducers/conditions/updateOptionConditions.ts +2 -2
  422. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +2 -2
  423. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +4 -4
  424. package/src/redux/reducers/conditions/updateSectionConditions.ts +2 -2
  425. package/src/redux/reducers/conditions/updateVariableConditions.ts +2 -2
  426. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +2 -2
  427. package/src/redux/reducers/conditions.ts +15 -15
  428. package/src/redux/reducers/inputs/addMultipleOccurency.ts +6 -6
  429. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +4 -4
  430. package/src/redux/reducers/inputs/initOption.ts +2 -2
  431. package/src/redux/reducers/inputs/initVariable.ts +2 -2
  432. package/src/redux/reducers/inputs/updateOptionInput.ts +2 -2
  433. package/src/redux/reducers/inputs/updateVariableInput.ts +2 -2
  434. package/src/redux/reducers/inputs.ts +10 -10
  435. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +4 -4
  436. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +4 -4
  437. package/src/redux/reducers/mandatories/initMandatoryOption.ts +2 -2
  438. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +2 -2
  439. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +2 -2
  440. package/src/redux/reducers/mandatories/setMandatoryOption.ts +2 -2
  441. package/src/redux/reducers/mandatories/setMandatorySection.ts +2 -2
  442. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +2 -2
  443. package/src/redux/reducers/mandatories.ts +13 -13
  444. package/src/redux/reducers/references/initReferences.ts +2 -2
  445. package/src/redux/reducers/references/updateOptionMeta.ts +4 -4
  446. package/src/redux/reducers/references/updateVariableMeta.ts +4 -4
  447. package/src/redux/reducers/references.ts +7 -7
  448. package/src/redux/reducers/smartscript/enableSmartScript.ts +1 -1
  449. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +2 -2
  450. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +2 -2
  451. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +2 -2
  452. package/src/redux/reducers/smartscript.ts +8 -8
  453. package/src/redux/reducers/user/initUser.ts +2 -2
  454. package/src/redux/reducers/user/setUserStatus.ts +2 -2
  455. package/src/redux/reducers/user/setUserValidToken.ts +2 -2
  456. package/src/redux/reducers/user.ts +11 -11
  457. package/src/redux/routerHistory.ts +6 -6
  458. package/src/redux/sagas/fetchModel.test.ts +2 -5
  459. package/src/redux/sagas/fetchModel.ts +86 -187
  460. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +6 -6
  461. package/src/redux/sagas/initInputs.ts +110 -0
  462. package/src/redux/sagas/runner.ts +8 -6
  463. package/src/redux/sagas/saveData.ts +32 -28
  464. package/src/redux/sagas/setDefaults.ts +8 -8
  465. package/src/redux/sagas/setUserEmail.ts +46 -45
  466. package/src/redux/selectors/app.ts +34 -28
  467. package/src/redux/selectors/conditions.ts +41 -41
  468. package/src/redux/selectors/inputs.ts +10 -10
  469. package/src/redux/selectors/library.ts +17 -0
  470. package/src/redux/selectors/mandatories.ts +10 -10
  471. package/src/redux/selectors/references.ts +25 -21
  472. package/src/redux/selectors/selectors.ts +4 -4
  473. package/src/redux/selectors/smartscript.ts +6 -6
  474. package/src/redux/selectors/user.ts +8 -8
  475. package/src/redux/store.ts +42 -32
  476. package/src/service/api.manager.ts +53 -53
  477. package/src/service/auth.service.ts +2 -2
  478. package/src/service/pardot.service.ts +2 -2
  479. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +1 -1
  480. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +1 -1
  481. package/src/tests-misc/plugins/jestTestPlugin/index.ts +4 -4
  482. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +2 -2
  483. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +1 -1
  484. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +1 -1
  485. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +1 -1
  486. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +1 -1
  487. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +1 -1
  488. package/src/tests-misc/themes/jestTestTheme/index.ts +4 -4
  489. package/src/types/Actions.type.ts +63 -55
  490. package/src/types/Components.type.ts +4 -4
  491. package/src/types/State.type.ts +14 -14
  492. package/src/types/Termsheet.type.ts +4 -4
  493. package/src/types/api.type.ts +4 -4
  494. package/src/types/config.type.ts +3 -3
  495. package/src/types/getActions.type.ts +2 -2
  496. package/src/types/getConnectors.type.ts +2 -2
  497. package/src/types/getSelectors.type.ts +2 -2
  498. package/src/wizard-params.ts +17 -17
  499. package/tsconfig.json +1 -1
  500. package/dist/componentsConnectors/connector/connectorSelectors.js +0 -9
  501. package/dist/componentsConnectors/index.d.ts +0 -16
  502. package/dist/componentsConnectors/index.js +0 -16
  503. package/dist/constants/index.d.ts +0 -1
  504. package/dist/constants/index.js +0 -1
  505. package/dist/helpers/index.d.ts +0 -2
  506. package/dist/helpers/index.js +0 -2
  507. package/dist/hooks/index.d.ts +0 -1
  508. package/dist/hooks/index.js +0 -1
  509. package/dist/index.d.ts +0 -23
  510. package/dist/index.js +0 -23
  511. package/dist/libs/index.d.ts +0 -12
  512. package/dist/libs/index.js +0 -12
  513. package/dist/redux/actions/index.d.ts +0 -8
  514. package/dist/redux/actions/index.js +0 -8
  515. package/dist/redux/actions/sagas/index.d.ts +0 -3
  516. package/dist/redux/actions/sagas/index.js +0 -3
  517. package/dist/redux/constants/index.d.ts +0 -8
  518. package/dist/redux/constants/index.js +0 -8
  519. package/dist/redux/constants/sagas/index.d.ts +0 -3
  520. package/dist/redux/constants/sagas/index.js +0 -3
  521. package/dist/redux/index.d.ts +0 -4
  522. package/dist/redux/index.js +0 -4
  523. package/dist/redux/selectors/index.d.ts +0 -7
  524. package/dist/redux/selectors/index.js +0 -7
  525. package/dist/service/index.d.ts +0 -3
  526. package/dist/service/index.js +0 -3
  527. package/dist/types/index.d.ts +0 -10
  528. package/dist/types/index.js +0 -10
  529. package/src/componentsConnectors/connector/connectorSelectors.ts +0 -19
  530. package/src/componentsConnectors/index.ts +0 -16
  531. package/src/constants/index.ts +0 -1
  532. package/src/helpers/index.ts +0 -2
  533. package/src/hooks/index.ts +0 -1
  534. package/src/index.ts +0 -47
  535. package/src/libs/index.ts +0 -12
  536. package/src/redux/actions/index.ts +0 -8
  537. package/src/redux/actions/sagas/index.ts +0 -3
  538. package/src/redux/constants/index.ts +0 -8
  539. package/src/redux/constants/sagas/index.ts +0 -3
  540. package/src/redux/index.ts +0 -4
  541. package/src/redux/selectors/index.ts +0 -7
  542. package/src/service/index.ts +0 -3
  543. package/src/types/index.ts +0 -10
@@ -1,28 +1,28 @@
1
1
  /* eslint-disable max-len */
2
- import { MiddlewareAPI, Dispatch } from 'redux';
3
- import { filterXSS } from 'xss';
4
- import ConditionsMapper from '@legalplace/referencesparser/dist/libs/ConditionsMapper';
5
- import { ActionsType } from '../../types/Actions.type';
6
- import { UPDATE_PREFILLER_CONDITION } from '../constants/conditions';
2
+ import { MiddlewareAPI, Dispatch } from "redux";
3
+ import { filterXSS } from "xss";
4
+ import ConditionsMapper from "@legalplace/referencesparser/dist/libs/ConditionsMapper";
5
+ import { ActionsType } from "../../types/Actions.type";
6
+ import { UPDATE_PREFILLER_CONDITION } from "../constants/conditions";
7
7
  import {
8
8
  selectVariableInputByIndex,
9
9
  selectVariableInput,
10
10
  selectOptionInput,
11
- } from '../selectors/inputs';
11
+ } from "../selectors/inputs";
12
12
  import {
13
13
  areVariablesSiblings,
14
14
  selectOptionRelations,
15
15
  selectVariableReference,
16
16
  selectVariableRelations,
17
- } from '../selectors/references';
18
- import { updateVariableAction } from '../actions/inputs';
19
- import { StateType } from '../../types/State.type';
17
+ } from "../selectors/references";
18
+ import { updateVariableAction } from "../actions/inputs";
19
+ import { StateType } from "../../types/State.type";
20
20
  import {
21
21
  ADD_MULTIPLE_OCCURENCY,
22
22
  UPDATE_VARIABLE_INPUT,
23
- } from '../constants/inputs';
24
- import { selectPrefillerConditionValue } from '../selectors/conditions';
25
- import { FETCH_MODEL_SUCCEEDED } from '../constants/app';
23
+ } from "../constants/inputs";
24
+ import { selectPrefillerConditionValue } from "../selectors/conditions";
25
+ import { FETCH_MODEL_SUCCEEDED } from "../constants/app";
26
26
 
27
27
  export type WatcherActions = ActionsType.Conditions.updatePrefillerCondition;
28
28
 
@@ -34,7 +34,7 @@ const parsePrefillerValue = (
34
34
  const prefillerValue =
35
35
  selectVariableReference(variableId)?.prefillings?.[prefillerIndex]?.value;
36
36
 
37
- if (!prefillerValue) return '';
37
+ if (!prefillerValue) return "";
38
38
 
39
39
  if (/\[var:([0-9]+)\]/gi.test(prefillerValue)) {
40
40
  // Extracting variables
@@ -68,9 +68,9 @@ const parsePrefillerValue = (
68
68
  if (
69
69
  value === undefined ||
70
70
  value === null ||
71
- (typeof value === 'string' && value.trim().length === 0)
71
+ (typeof value === "string" && value.trim().length === 0)
72
72
  ) {
73
- variablesValues[currentVariableId] = '';
73
+ variablesValues[currentVariableId] = "";
74
74
  } else {
75
75
  variablesValues[currentVariableId] = value.toString();
76
76
  }
@@ -81,7 +81,7 @@ const parsePrefillerValue = (
81
81
  variables.forEach((currentVariableId) => {
82
82
  const value: string = variablesValues[currentVariableId];
83
83
  parsedPrefillerValue = parsedPrefillerValue.replace(
84
- new RegExp(`\\[var:${currentVariableId}\\]`, 'gi'),
84
+ new RegExp(`\\[var:${currentVariableId}\\]`, "gi"),
85
85
  filterXSS(value)
86
86
  );
87
87
  });
@@ -122,8 +122,8 @@ const watchUpdatePrefillerCondition = (
122
122
  // Getting current variable value
123
123
  let currentValue = selectVariableInputByIndex(variableId, variableIndex);
124
124
  currentValue =
125
- typeof currentValue === 'number' ? currentValue.toString() : currentValue;
126
- currentValue = typeof currentValue === 'string' ? currentValue : '';
125
+ typeof currentValue === "number" ? currentValue.toString() : currentValue;
126
+ currentValue = typeof currentValue === "string" ? currentValue : "";
127
127
 
128
128
  // Getting first undefined value
129
129
  const firstUnconditionnedIndex = variableReference.prefillings
@@ -139,7 +139,7 @@ const watchUpdatePrefillerCondition = (
139
139
  // Getting prefillers values
140
140
  let prefillersValues = variableReference.prefillings
141
141
  ? variableReference.prefillings
142
- : new Array(prefillerConditions.length).fill('');
142
+ : new Array(prefillerConditions.length).fill("");
143
143
  prefillersValues = prefillersValues.map((prefiller) => prefiller.value);
144
144
 
145
145
  // Filling prefillers values with variables
@@ -149,7 +149,7 @@ const watchUpdatePrefillerCondition = (
149
149
  return parsePrefillerValue(variableId, variableIndex, prefillerIndex);
150
150
 
151
151
  // Removing whitespaces from beginning and end of each prefiller value
152
- return prefillerValue.replace(/^\s+|\s+$/g, '');
152
+ return prefillerValue.replace(/^\s+|\s+$/g, "");
153
153
  });
154
154
 
155
155
  // Getting the value to prefill
@@ -159,11 +159,11 @@ const watchUpdatePrefillerCondition = (
159
159
  ? prefillersValues[firstTrueIndex]
160
160
  : firstUnconditionnedIndex > -1
161
161
  ? prefillersValues[firstUnconditionnedIndex]
162
- : '';
162
+ : "";
163
163
 
164
164
  // Prefilling the variable if it's current value is empty or equals another prefillers
165
165
  if (
166
- currentValue === '' ||
166
+ currentValue === "" ||
167
167
  (prefillersValues.includes(currentValue) &&
168
168
  currentValue !== newPrefillerValue)
169
169
  ) {
@@ -217,10 +217,10 @@ const watchAddMultipleOccurency = (
217
217
  // Getting current variable value
218
218
  let currentValue = selectVariableInputByIndex(variableId, variableIndex);
219
219
  currentValue =
220
- typeof currentValue === 'number'
220
+ typeof currentValue === "number"
221
221
  ? currentValue.toString()
222
222
  : currentValue;
223
- currentValue = typeof currentValue === 'string' ? currentValue : '';
223
+ currentValue = typeof currentValue === "string" ? currentValue : "";
224
224
  currentValue = currentValue.trim();
225
225
 
226
226
  // Getting first undefined value
@@ -233,7 +233,7 @@ const watchAddMultipleOccurency = (
233
233
  // Getting prefillers values
234
234
  let prefillersValues = variableReference.prefillings
235
235
  ? variableReference.prefillings
236
- : new Array(prefillerConditions.length).fill('');
236
+ : new Array(prefillerConditions.length).fill("");
237
237
  prefillersValues = prefillersValues.map((prefiller) => prefiller.value);
238
238
 
239
239
  // Filling prefillers values with variables
@@ -271,9 +271,9 @@ const watchAddMultipleOccurency = (
271
271
  if (
272
272
  value === undefined ||
273
273
  value === null ||
274
- (typeof value === 'string' && value.trim().length === 0)
274
+ (typeof value === "string" && value.trim().length === 0)
275
275
  ) {
276
- variablesValues[currentVariableId] = '';
276
+ variablesValues[currentVariableId] = "";
277
277
  } else {
278
278
  variablesValues[currentVariableId] = value.toString();
279
279
  }
@@ -284,7 +284,7 @@ const watchAddMultipleOccurency = (
284
284
  variables.forEach((currentVariableId) => {
285
285
  const value: string = variablesValues[currentVariableId];
286
286
  parsedPrefillerValue = parsedPrefillerValue.replace(
287
- new RegExp(`\\[var:${currentVariableId}\\]`, 'gi'),
287
+ new RegExp(`\\[var:${currentVariableId}\\]`, "gi"),
288
288
  filterXSS(value)
289
289
  );
290
290
  });
@@ -294,7 +294,7 @@ const watchAddMultipleOccurency = (
294
294
  }
295
295
 
296
296
  // Removing whitespaces from beginning and end of each prefiller value
297
- return prefillerValue.replace(/^\s+|\s+$/g, '');
297
+ return prefillerValue.replace(/^\s+|\s+$/g, "");
298
298
  });
299
299
 
300
300
  // Getting the value to prefill
@@ -304,11 +304,11 @@ const watchAddMultipleOccurency = (
304
304
  ? prefillersValues[firstTrueIndex]
305
305
  : firstUndefinedCondition > -1
306
306
  ? prefillersValues[firstUndefinedCondition]
307
- : '';
307
+ : "";
308
308
 
309
309
  // Prefilling the variable if it's current value is empty or equals another prefiller
310
310
  if (
311
- currentValue === '' ||
311
+ currentValue === "" ||
312
312
  (prefillersValues.includes(currentValue) &&
313
313
  currentValue !== newPrefillerValue)
314
314
  ) {
@@ -1,18 +1,20 @@
1
- import { MiddlewareAPI, Dispatch } from 'redux';
2
- import cloneDeep from 'lodash/cloneDeep';
3
- import { generatePath } from 'react-router-dom';
4
- import { getConfig } from '../../config';
5
- import { ActionsType } from '../../types/Actions.type';
6
- import { StateType } from '../../types/State.type';
1
+ import { MiddlewareAPI, Dispatch } from "redux";
2
+ import cloneDeep from "lodash/cloneDeep";
3
+ import { generatePath } from "react-router-dom";
4
+ import { getConfig } from "../../config";
5
+ import { ActionsType } from "../../types/Actions.type";
6
+ import { StateType } from "../../types/State.type";
7
7
  import {
8
+ INIT_INPUTS,
8
9
  ADD_MULTIPLE_OCCURENCY,
9
10
  DELETE_MULTIPLE_OCCURENCY,
10
11
  UPDATE_OPTION_INPUT,
11
12
  UPDATE_VARIABLE_INPUT,
12
- } from '../constants/inputs';
13
- import { ENABLE_SMARTSCRIPT } from '../constants/smartscript';
14
- import { PathReader } from '../../libs/PathReader';
15
- import { initSmartscriptTriggersAction } from '../actions/smartscript';
13
+ } from "../constants/inputs";
14
+ import { ENABLE_SMARTSCRIPT } from "../constants/smartscript";
15
+ import { PathReader } from "../../libs/PathReader";
16
+ import { initSmartscriptTriggersAction } from "../actions/smartscript";
17
+ import { updateOptionAction, updateVariableAction } from "../actions/inputs";
16
18
 
17
19
  let iframe: HTMLIFrameElement | null = null;
18
20
 
@@ -24,11 +26,11 @@ const watchEnableSmartScript = (
24
26
  next(action);
25
27
 
26
28
  // Creating iframe
27
- iframe = document.createElement('iframe');
28
- iframe.id = 'lp-smartscript';
29
+ iframe = document.createElement("iframe");
30
+ iframe.id = "lp-smartscript";
29
31
  iframe.setAttribute(
30
- 'style',
31
- 'position: absolute; width:0; height:0; border:0;'
32
+ "style",
33
+ "position: absolute; width:0; height:0; border:0;"
32
34
  );
33
35
  const { permalink, prefix } = mpi.getState().app.meta;
34
36
  const { uniqid } = mpi.getState().app.instance;
@@ -43,19 +45,19 @@ const watchEnableSmartScript = (
43
45
  });
44
46
 
45
47
  iframe.src = `${window.location.protocol}//${window.location.host}${path}${
46
- modelVersion ? `?version=${modelVersion}` : ''
48
+ modelVersion ? `?version=${modelVersion}` : ""
47
49
  }`;
48
50
  } else {
49
51
  iframe.src = `${window.location.protocol}//${
50
52
  window.location.host
51
- }/contrats/${permalink}/smartscript/${uniqid || ''}${
52
- modelVersion ? `?version=${modelVersion}` : ''
53
+ }/contrats/${permalink}/smartscript/${uniqid || ""}${
54
+ modelVersion ? `?version=${modelVersion}` : ""
53
55
  }`;
54
56
  }
55
57
 
56
58
  // Checking if it's a new instance
57
59
  const isNewInstance = !(
58
- typeof uniqid === 'string' && uniqid.trim().length > 0
60
+ typeof uniqid === "string" && uniqid.trim().length > 0
59
61
  );
60
62
 
61
63
  // Initiating triggers
@@ -98,7 +100,7 @@ const watchUpdateOptionInput = (
98
100
  if (state.smartscript.triggers.options.includes(id)) {
99
101
  try {
100
102
  const actions = iframe?.contentWindow?.triggerListeners(
101
- 'option',
103
+ "option",
102
104
  id,
103
105
  cloneDeep(state.inputs)
104
106
  );
@@ -136,7 +138,7 @@ const watchUpdateVariableInput = (
136
138
  if (state.smartscript.triggers.variables.includes(id)) {
137
139
  try {
138
140
  const actions = iframe?.contentWindow?.triggerListeners(
139
- 'variable',
141
+ "variable",
140
142
  id,
141
143
  cloneDeep(state.inputs)
142
144
  );
@@ -153,6 +155,44 @@ const watchUpdateVariableInput = (
153
155
  }
154
156
  };
155
157
 
158
+ /**
159
+ * Watches inputs init
160
+ * @param mpi MiddlewareAPI
161
+ * @param next Dispatch function
162
+ * @param action INIT_INPUT action
163
+ */
164
+ const watchInitInputs = (
165
+ mpi: MiddlewareAPI<Dispatch, StateType>,
166
+ next: Dispatch,
167
+ action: ActionsType.Inputs.initInputs
168
+ ) => {
169
+ next(action);
170
+
171
+ if (!iframe) return;
172
+
173
+ const { inputs } = action;
174
+
175
+ Object.keys(inputs.options).forEach((id) => {
176
+ inputs.options[id].forEach((value, index) => {
177
+ watchUpdateOptionInput(
178
+ mpi,
179
+ next,
180
+ updateOptionAction(parseInt(id, 10), value, index)
181
+ );
182
+ });
183
+ });
184
+
185
+ Object.keys(inputs.variables).forEach((id) => {
186
+ inputs.variables[id].forEach((value, index) => {
187
+ watchUpdateVariableInput(
188
+ mpi,
189
+ next,
190
+ updateVariableAction(parseInt(id, 10), value, index)
191
+ );
192
+ });
193
+ });
194
+ };
195
+
156
196
  export type WatcherActions =
157
197
  | ActionsType.SmartScript.enableSmartScript
158
198
  | ActionsType.Inputs.updateOptionInput
@@ -168,6 +208,7 @@ const watchersEnum: Record<
168
208
  [UPDATE_VARIABLE_INPUT]: watchUpdateVariableInput,
169
209
  [ADD_MULTIPLE_OCCURENCY]: watchUpdateOptionInput,
170
210
  [DELETE_MULTIPLE_OCCURENCY]: watchUpdateOptionInput,
211
+ [INIT_INPUTS]: watchInitInputs,
171
212
  };
172
213
 
173
214
  /**
@@ -0,0 +1,41 @@
1
+ import { MiddlewareAPI, Dispatch } from "redux";
2
+ import { loadScripts } from "../../helpers/scriptsLoader";
3
+ import { ActionsType } from "../../types/Actions.type";
4
+ import { StateType } from "../../types/State.type";
5
+ import { FETCH_MODEL_SUCCEEDED } from "../constants/app";
6
+
7
+ const watchFetchModelSucceeded = (
8
+ mpi: MiddlewareAPI<Dispatch, StateType>,
9
+ next: Dispatch,
10
+ action: WatcherActions
11
+ ) => {
12
+ next(action);
13
+
14
+ loadScripts();
15
+ };
16
+
17
+ export type WatcherActions = ActionsType.App.fetchModelSucceeded;
18
+
19
+ // Enumerating watchers
20
+ const watchersEnum: Record<
21
+ string,
22
+ (mpi: MiddlewareAPI<Dispatch, StateType>, next: Dispatch, action: any) => void
23
+ > = {
24
+ [FETCH_MODEL_SUCCEEDED]: watchFetchModelSucceeded,
25
+ };
26
+
27
+ /**
28
+ * Third party scripts Middleware
29
+ * @param mpi MiddlewareAPI
30
+ * @param next Dispatch function
31
+ * @param action Actions
32
+ */
33
+ const thirdPartyScriptsMiddleware =
34
+ (mpi: MiddlewareAPI) => (next: Dispatch) => (action: WatcherActions) => {
35
+ if (Object.prototype.hasOwnProperty.call(watchersEnum, action.type)) {
36
+ return watchersEnum[action.type].apply(null, [mpi, next, action]);
37
+ }
38
+ return next(action);
39
+ };
40
+
41
+ export default thirdPartyScriptsMiddleware;
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const initCustomizationAutoDefaultTypeReducer = (
5
5
  state: StateType.App,
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const initCustomizationMetaReducer = (
5
5
  state: StateType.App,
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const initInstanceReducer = (
5
5
  state: StateType.App,
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const setDataStatusReducer = (
5
5
  state: StateType.App,
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const updateInstanceReducer = (
5
5
  state: StateType.App,
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const updateInstancePaidReducer = (
5
5
  state: StateType.App,
@@ -1,4 +1,4 @@
1
- import { StateType } from '../../../../types/State.type';
1
+ import { StateType } from "../../../../types/State.type";
2
2
 
3
3
  export const fetchModelFailedReducer = (
4
4
  state: StateType.App
@@ -6,6 +6,6 @@ export const fetchModelFailedReducer = (
6
6
  ...state,
7
7
  meta: {
8
8
  ...state.meta,
9
- fetchStatus: 'failed',
9
+ fetchStatus: "failed",
10
10
  },
11
11
  });
@@ -1,4 +1,4 @@
1
- import { StateType } from '../../../../types/State.type';
1
+ import { StateType } from "../../../../types/State.type";
2
2
 
3
3
  export const fetchModelNonBlockingReducer = (
4
4
  state: StateType.App
@@ -6,6 +6,6 @@ export const fetchModelNonBlockingReducer = (
6
6
  ...state,
7
7
  meta: {
8
8
  ...state.meta,
9
- fetchStatus: 'nonBlocking',
9
+ fetchStatus: "nonBlocking",
10
10
  },
11
11
  });
@@ -1,4 +1,4 @@
1
- import { StateType } from '../../../../types/State.type';
1
+ import { StateType } from "../../../../types/State.type";
2
2
 
3
3
  export const fetchModelSucceededReducer = (
4
4
  state: StateType.App
@@ -6,6 +6,6 @@ export const fetchModelSucceededReducer = (
6
6
  ...state,
7
7
  meta: {
8
8
  ...state.meta,
9
- fetchStatus: 'succeeded',
9
+ fetchStatus: "succeeded",
10
10
  },
11
11
  });
@@ -1,5 +1,5 @@
1
- import { StateType } from '../../../../types/State.type';
2
- import { ActionsType } from '../../../../types/Actions.type';
1
+ import { StateType } from "../../../../types/State.type";
2
+ import { ActionsType } from "../../../../types/Actions.type";
3
3
 
4
4
  export const fetchModelUnhealthyReducer = (
5
5
  state: StateType.App,
@@ -11,7 +11,7 @@ export const fetchModelUnhealthyReducer = (
11
11
  ...state,
12
12
  meta: {
13
13
  ...state.meta,
14
- fetchStatus: 'unhealthy',
14
+ fetchStatus: "unhealthy",
15
15
  report,
16
16
  },
17
17
  };
@@ -1,4 +1,4 @@
1
- import { StateType } from '../../../../types/State.type';
1
+ import { StateType } from "../../../../types/State.type";
2
2
 
3
3
  export const fetchModelUserLockedReducer = (
4
4
  state: StateType.App
@@ -6,6 +6,6 @@ export const fetchModelUserLockedReducer = (
6
6
  ...state,
7
7
  meta: {
8
8
  ...state.meta,
9
- fetchStatus: 'userLocked',
9
+ fetchStatus: "userLocked",
10
10
  },
11
11
  });
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const initMetaReducer = (
5
5
  state: StateType.App,
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const setModelUuidReducer = (
5
5
  state: StateType.App,
@@ -1,4 +1,4 @@
1
- import { StateType } from '../../../../types/State.type';
1
+ import { StateType } from "../../../../types/State.type";
2
2
 
3
3
  export const goNextPageReducer = (state: StateType.App): StateType.App => {
4
4
  const currentPage = state.pagination.currentPage + 1;
@@ -31,7 +31,7 @@ export const goNextPageReducer = (state: StateType.App): StateType.App => {
31
31
 
32
32
  // Wizard indexes
33
33
  const wizardIndexBegin =
34
- state.pagination.availableAppStates.indexOf('wizard');
34
+ state.pagination.availableAppStates.indexOf("wizard");
35
35
  const wizardIndexEnd =
36
36
  wizardIndexBegin + state.wizard.availableSections.length;
37
37
 
@@ -1,5 +1,5 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
3
 
4
4
  export const goPageReducer = (
5
5
  state: StateType.App,
@@ -10,7 +10,7 @@ export const goPageReducer = (
10
10
  // AppStatesArray
11
11
  let appStatesPagesArray: string[] = [];
12
12
  state.pagination.availableAppStates.forEach((_appState) => {
13
- if (_appState === 'wizard')
13
+ if (_appState === "wizard")
14
14
  appStatesPagesArray = [
15
15
  ...appStatesPagesArray,
16
16
  ...new Array(state.wizard.availableSections.length).fill(_appState),
@@ -45,7 +45,7 @@ export const goPageReducer = (
45
45
 
46
46
  // Wizard indexes
47
47
  const wizardIndexBegin =
48
- state.pagination.availableAppStates.indexOf('wizard');
48
+ state.pagination.availableAppStates.indexOf("wizard");
49
49
  const wizardIndexEnd =
50
50
  wizardIndexBegin + state.wizard.availableSections.length;
51
51
 
@@ -1,4 +1,4 @@
1
- import { StateType } from '../../../../types/State.type';
1
+ import { StateType } from "../../../../types/State.type";
2
2
 
3
3
  export const goPreviousPageReducer = (state: StateType.App): StateType.App => {
4
4
  const currentPage =
@@ -23,7 +23,7 @@ export const goPreviousPageReducer = (state: StateType.App): StateType.App => {
23
23
 
24
24
  // Wizard indexes
25
25
  const wizardIndexBegin =
26
- state.pagination.availableAppStates.indexOf('wizard');
26
+ state.pagination.availableAppStates.indexOf("wizard");
27
27
  const wizardIndexEnd =
28
28
  wizardIndexBegin + state.wizard.availableSections.length;
29
29
 
@@ -1,6 +1,6 @@
1
- import { ActionsType } from '../../../../types/Actions.type';
2
- import { StateType } from '../../../../types/State.type';
3
- import { registerPluginsAppStates } from '../../../../PluginLoader';
1
+ import { ActionsType } from "../../../../types/Actions.type";
2
+ import { StateType } from "../../../../types/State.type";
3
+ import { registerPluginsAppStates } from "../../../../PluginLoader";
4
4
 
5
5
  export const initPaginationReducer = (
6
6
  state: StateType.App,
@@ -1,6 +1,6 @@
1
- import { StateType } from '../../../../types/State.type';
2
- import { ActionsType } from '../../../../types/Actions.type';
3
- import { registerPluginsAppStates } from '../../../../PluginLoader';
1
+ import { StateType } from "../../../../types/State.type";
2
+ import { ActionsType } from "../../../../types/Actions.type";
3
+ import { registerPluginsAppStates } from "../../../../PluginLoader";
4
4
 
5
5
  // eslint-disable-next-line max-len
6
6
  export const updateAvailableAppStatesReducer = (
@@ -15,8 +15,8 @@ export const updateAvailableAppStatesReducer = (
15
15
  }
16
16
 
17
17
  if (
18
- state.pagination.availableAppStates.reduce((p, c) => p + c, '') ===
19
- availableAppStates.reduce((p, c) => p + c, '')
18
+ state.pagination.availableAppStates.reduce((p, c) => p + c, "") ===
19
+ availableAppStates.reduce((p, c) => p + c, "")
20
20
  )
21
21
  return state;
22
22
 
@@ -31,9 +31,9 @@ export const updateAvailableAppStatesReducer = (
31
31
  */
32
32
  let appStates: string[] = [];
33
33
  availableAppStates.forEach((currentAppState) => {
34
- if (currentAppState === 'wizard')
34
+ if (currentAppState === "wizard")
35
35
  state.wizard.availableSections.forEach(() => {
36
- appStates = [...appStates, 'wizard'];
36
+ appStates = [...appStates, "wizard"];
37
37
  });
38
38
  else {
39
39
  appStates = [...appStates, currentAppState];
@@ -1,5 +1,5 @@
1
- import { StateType } from '../../../../types/State.type';
2
- import { ActionsType } from '../../../../types/Actions.type';
1
+ import { StateType } from "../../../../types/State.type";
2
+ import { ActionsType } from "../../../../types/Actions.type";
3
3
 
4
4
  // eslint-disable-next-line max-len
5
5
  export const updateAvailableSectionsReducer = (
@@ -10,8 +10,8 @@ export const updateAvailableSectionsReducer = (
10
10
 
11
11
  // Making sure value has changed before changing the state
12
12
  if (
13
- state.wizard.availableSections.reduce((p, c) => p + c, '') ===
14
- availableSections.reduce((p, c) => p + c, '')
13
+ state.wizard.availableSections.reduce((p, c) => p + c, "") ===
14
+ availableSections.reduce((p, c) => p + c, "")
15
15
  )
16
16
  return state;
17
17