@legalplace/wizardx-core 2.6.3 → 2.7.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 (357) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/App.js +13 -4
  3. package/dist/PluginLoader.d.ts +3 -1
  4. package/dist/PluginLoader.js +12 -0
  5. package/dist/ThemeLoader.d.ts +2 -2
  6. package/dist/componentsConnectors/connectBox.d.ts +3 -1
  7. package/dist/componentsConnectors/connectDocument.d.ts +3 -1
  8. package/dist/componentsConnectors/connectHeader.d.ts +3 -1
  9. package/dist/componentsConnectors/connectMetaTitle.d.ts +3 -1
  10. package/dist/componentsConnectors/connectOption.d.ts +6 -2
  11. package/dist/componentsConnectors/connectOption.js +1 -1
  12. package/dist/componentsConnectors/connectPagination.d.ts +3 -1
  13. package/dist/componentsConnectors/connectPreview.d.ts +3 -1
  14. package/dist/componentsConnectors/connectProgress.d.ts +3 -1
  15. package/dist/componentsConnectors/connectRootOption.d.ts +3 -1
  16. package/dist/componentsConnectors/connectSection.d.ts +3 -1
  17. package/dist/componentsConnectors/connectSection.js +7 -10
  18. package/dist/componentsConnectors/connectSummary.d.ts +3 -1
  19. package/dist/componentsConnectors/connectSummaryItem.d.ts +3 -1
  20. package/dist/componentsConnectors/connectVariable.d.ts +6 -2
  21. package/dist/componentsConnectors/connectVariable.js +1 -1
  22. package/dist/componentsConnectors/connectWizardWrapper.d.ts +3 -1
  23. package/dist/componentsConnectors/connector/componentConnector.d.ts +5 -1
  24. package/dist/componentsConnectors/connector/componentConnector.js +44 -4
  25. package/dist/componentsConnectors/connector/index.d.ts +1 -0
  26. package/dist/componentsConnectors/connector/index.js +1 -0
  27. package/dist/componentsConnectors/index.d.ts +17 -0
  28. package/dist/componentsConnectors/index.js +17 -0
  29. package/dist/componentsConnectors/library.d.ts +43 -15
  30. package/dist/constants/phoneValidation.d.ts +0 -1
  31. package/dist/constants/phoneValidation.js +0 -1
  32. package/dist/helpers/apiEndpoint.d.ts +1 -0
  33. package/dist/helpers/apiEndpoint.js +4 -0
  34. package/dist/helpers/index.d.ts +4 -0
  35. package/dist/helpers/index.js +4 -0
  36. package/dist/helpers/propsEqualityCheck.d.ts +1 -0
  37. package/dist/helpers/propsEqualityCheck.js +9 -0
  38. package/dist/hooks/index.d.ts +4 -0
  39. package/dist/hooks/index.js +4 -0
  40. package/dist/hooks/useActions.d.ts +2 -0
  41. package/dist/hooks/useActions.js +4 -0
  42. package/dist/hooks/useDispatch.d.ts +1 -0
  43. package/dist/hooks/useDispatch.js +4 -0
  44. package/dist/hooks/useSelectors.d.ts +2 -0
  45. package/dist/hooks/useSelectors.js +4 -0
  46. package/dist/index.d.ts +13 -0
  47. package/dist/index.js +13 -0
  48. package/dist/libs/EventsTracking.d.ts +0 -1
  49. package/dist/libs/EventsTracking.js +0 -18
  50. package/dist/libs/PathReader.d.ts +10 -6
  51. package/dist/libs/PathReader.js +47 -28
  52. package/dist/libs/index.d.ts +5 -0
  53. package/dist/libs/index.js +5 -0
  54. package/dist/redux/actions/index.d.ts +9 -0
  55. package/dist/redux/actions/index.js +9 -0
  56. package/dist/redux/actions/library.d.ts +59 -63
  57. package/dist/redux/actions/sagas/index.d.ts +3 -0
  58. package/dist/redux/actions/sagas/index.js +3 -0
  59. package/dist/redux/actions/sagas/model.d.ts +1 -5
  60. package/dist/redux/constants/app.d.ts +2 -0
  61. package/dist/redux/constants/app.js +2 -0
  62. package/dist/redux/constants/index.d.ts +8 -0
  63. package/dist/redux/constants/index.js +8 -0
  64. package/dist/redux/constants/sagas/index.d.ts +3 -0
  65. package/dist/redux/constants/sagas/index.js +3 -0
  66. package/dist/redux/index.d.ts +5 -0
  67. package/dist/redux/index.js +5 -0
  68. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
  69. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
  70. package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
  71. package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
  72. package/dist/redux/reducers/pluginsStore.d.ts +3 -0
  73. package/dist/redux/reducers/pluginsStore.js +12 -0
  74. package/dist/redux/routerHistory.js +2 -2
  75. package/dist/redux/sagas/fetchModel.js +22 -6
  76. package/dist/redux/sagas/initInputs.js +6 -7
  77. package/dist/redux/sagas/saveData.js +3 -46
  78. package/dist/redux/sagas/setUserEmail.js +1 -28
  79. package/dist/redux/selectors/app.js +13 -18
  80. package/dist/redux/selectors/cache.d.ts +17 -0
  81. package/dist/redux/selectors/cache.js +35 -0
  82. package/dist/redux/selectors/conditions.js +7 -7
  83. package/dist/redux/selectors/index.d.ts +8 -0
  84. package/dist/redux/selectors/index.js +8 -0
  85. package/dist/redux/selectors/inputs.js +3 -3
  86. package/dist/redux/selectors/library.d.ts +2 -2
  87. package/dist/redux/selectors/references.js +26 -26
  88. package/dist/redux/selectors/selectors.d.ts +2 -2
  89. package/dist/redux/selectors/selectors.js +19 -8
  90. package/dist/redux/selectors/selectors.test.js +6 -6
  91. package/dist/redux/selectors/user.js +5 -5
  92. package/dist/redux/store.d.ts +1 -1
  93. package/dist/redux/store.js +12 -4
  94. package/dist/service/api.manager.d.ts +1 -6
  95. package/dist/service/index.d.ts +3 -0
  96. package/dist/service/index.js +3 -0
  97. package/dist/types/PluginConfig.type.d.ts +57 -0
  98. package/dist/types/PluginConfig.type.js +1 -0
  99. package/dist/types/State.type.d.ts +6 -0
  100. package/dist/types/config.type.d.ts +3 -1
  101. package/dist/types/index.d.ts +11 -0
  102. package/dist/types/index.js +11 -0
  103. package/package.json +11 -12
  104. package/.depcheckrc +0 -1
  105. package/.eslintignore +0 -2
  106. package/.eslintrc +0 -5
  107. package/__mocks__/fileMock.js +0 -1
  108. package/babel.config.json +0 -3
  109. package/dist/helpers/sendinblueHelper.d.ts +0 -4
  110. package/dist/helpers/sendinblueHelper.js +0 -46
  111. package/dist/libs/Extracts.d.ts +0 -20
  112. package/dist/libs/Extracts.js +0 -110
  113. package/jest.config.ts +0 -193
  114. package/setupJest.ts +0 -8
  115. package/src/App.test.tsx +0 -41
  116. package/src/App.tsx +0 -152
  117. package/src/Globals.ts +0 -69
  118. package/src/Loader.tsx +0 -8
  119. package/src/PluginLoader.test.tsx +0 -70
  120. package/src/PluginLoader.tsx +0 -407
  121. package/src/Shimmer.tsx +0 -108
  122. package/src/ThemeLoader.test.tsx +0 -82
  123. package/src/ThemeLoader.tsx +0 -95
  124. package/src/components/PluginRoute.tsx +0 -48
  125. package/src/components/SmartScript.tsx +0 -166
  126. package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
  127. package/src/components/View.test.tsx +0 -110
  128. package/src/components/View.tsx +0 -114
  129. package/src/componentsConnectors/connectBox.test.tsx +0 -226
  130. package/src/componentsConnectors/connectBox.tsx +0 -70
  131. package/src/componentsConnectors/connectDocument.test.tsx +0 -108
  132. package/src/componentsConnectors/connectDocument.tsx +0 -64
  133. package/src/componentsConnectors/connectHeader.tsx +0 -21
  134. package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
  135. package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
  136. package/src/componentsConnectors/connectOption.tsx +0 -222
  137. package/src/componentsConnectors/connectPagination.tsx +0 -102
  138. package/src/componentsConnectors/connectPreview.tsx +0 -5
  139. package/src/componentsConnectors/connectProgress.tsx +0 -59
  140. package/src/componentsConnectors/connectRootOption.tsx +0 -95
  141. package/src/componentsConnectors/connectSection.tsx +0 -79
  142. package/src/componentsConnectors/connectSummary.tsx +0 -21
  143. package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
  144. package/src/componentsConnectors/connectTermsheet.tsx +0 -359
  145. package/src/componentsConnectors/connectVariable.tsx +0 -191
  146. package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
  147. package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
  148. package/src/componentsConnectors/library.ts +0 -35
  149. package/src/config.test.ts +0 -63
  150. package/src/config.ts +0 -11
  151. package/src/constants/emailValidation.ts +0 -2
  152. package/src/constants/phoneValidation.ts +0 -6
  153. package/src/definitions/path.join.d.ts +0 -4
  154. package/src/helpers/outputsParsing.ts +0 -412
  155. package/src/helpers/preloadTheme.ts +0 -17
  156. package/src/helpers/scriptsLoader.ts +0 -20
  157. package/src/helpers/sendinblueHelper.ts +0 -65
  158. package/src/hooks/usePrevious.ts +0 -9
  159. package/src/libs/ConditionsInitiator.ts +0 -164
  160. package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
  161. package/src/libs/ConditionsRunner.ts +0 -454
  162. package/src/libs/DocumentsOutputs.ts +0 -171
  163. package/src/libs/Eval/EvalBase.ts +0 -116
  164. package/src/libs/Eval/EvalFunctions.ts +0 -724
  165. package/src/libs/Eval/NumbersToLetters.ts +0 -185
  166. package/src/libs/EvalVariable.ts +0 -265
  167. package/src/libs/EventsTracking.ts +0 -276
  168. package/src/libs/Extracts.ts +0 -159
  169. package/src/libs/InputsInitiator.ts +0 -136
  170. package/src/libs/NumAuto.test.ts +0 -55
  171. package/src/libs/NumAuto.ts +0 -56
  172. package/src/libs/OvcConverter.ts +0 -285
  173. package/src/libs/PathReader.ts +0 -272
  174. package/src/libs/SectionValidity.test.ts +0 -146
  175. package/src/libs/SectionValidity.ts +0 -110
  176. package/src/libs/SmartScriptStore.ts +0 -492
  177. package/src/misc/test_model.ts +0 -14603
  178. package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
  179. package/src/misc/test_models/setDefaults.testmodel.json +0 -279
  180. package/src/misc/test_models/testmodel.json +0 -1
  181. package/src/polyfills/index.ts +0 -5
  182. package/src/polyfills/objectValues.ts +0 -4
  183. package/src/polyfills/prepend.ts +0 -31
  184. package/src/polyfills/stringRepeat.ts +0 -44
  185. package/src/redux/actions/app.test.ts +0 -123
  186. package/src/redux/actions/app.ts +0 -249
  187. package/src/redux/actions/conditions.test.ts +0 -84
  188. package/src/redux/actions/conditions.ts +0 -135
  189. package/src/redux/actions/inputs.test.ts +0 -85
  190. package/src/redux/actions/inputs.ts +0 -111
  191. package/src/redux/actions/library.ts +0 -23
  192. package/src/redux/actions/mandatories.ts +0 -98
  193. package/src/redux/actions/references.test.ts +0 -48
  194. package/src/redux/actions/references.ts +0 -37
  195. package/src/redux/actions/sagas/data.test.ts +0 -11
  196. package/src/redux/actions/sagas/data.ts +0 -18
  197. package/src/redux/actions/sagas/model.test.ts +0 -14
  198. package/src/redux/actions/sagas/model.ts +0 -48
  199. package/src/redux/actions/sagas/user.ts +0 -25
  200. package/src/redux/actions/smartscript.ts +0 -55
  201. package/src/redux/actions/user.test.ts +0 -18
  202. package/src/redux/actions/user.ts +0 -41
  203. package/src/redux/constants/app.ts +0 -36
  204. package/src/redux/constants/conditions.ts +0 -25
  205. package/src/redux/constants/inputs.ts +0 -15
  206. package/src/redux/constants/mandatories.ts +0 -11
  207. package/src/redux/constants/references.ts +0 -7
  208. package/src/redux/constants/sagas/data.ts +0 -1
  209. package/src/redux/constants/sagas/model.ts +0 -2
  210. package/src/redux/constants/sagas/user.ts +0 -2
  211. package/src/redux/constants/smartscript.ts +0 -9
  212. package/src/redux/constants/user.ts +0 -6
  213. package/src/redux/listeners/subscriber.test.ts +0 -45
  214. package/src/redux/listeners/subscriber.ts +0 -29
  215. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
  216. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
  217. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
  218. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
  219. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
  220. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
  221. package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
  222. package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
  223. package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
  224. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
  225. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
  226. package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
  227. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
  228. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
  229. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
  230. package/src/redux/reducers/app/instance/initInstance.ts +0 -29
  231. package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
  232. package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
  233. package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
  234. package/src/redux/reducers/app/instance.test.ts +0 -106
  235. package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
  236. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
  237. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
  238. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
  239. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
  240. package/src/redux/reducers/app/meta/initMeta.ts +0 -22
  241. package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
  242. package/src/redux/reducers/app/meta.test.ts +0 -90
  243. package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
  244. package/src/redux/reducers/app/pagination/goPage.ts +0 -81
  245. package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
  246. package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
  247. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
  248. package/src/redux/reducers/app/pagination.test.ts +0 -363
  249. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
  250. package/src/redux/reducers/app/wizard.test.ts +0 -84
  251. package/src/redux/reducers/app.test.ts +0 -336
  252. package/src/redux/reducers/app.ts +0 -150
  253. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
  254. package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
  255. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
  256. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
  257. package/src/redux/reducers/conditions/initConditions.ts +0 -18
  258. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
  259. package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
  260. package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
  261. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
  262. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
  263. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
  264. package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
  265. package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
  266. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
  267. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
  268. package/src/redux/reducers/conditions.test.ts +0 -241
  269. package/src/redux/reducers/conditions.ts +0 -68
  270. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
  271. package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
  272. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
  273. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
  274. package/src/redux/reducers/inputs/initOption.ts +0 -16
  275. package/src/redux/reducers/inputs/initVariable.ts +0 -16
  276. package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
  277. package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
  278. package/src/redux/reducers/inputs.test.ts +0 -221
  279. package/src/redux/reducers/inputs.ts +0 -51
  280. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
  281. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
  282. package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
  283. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
  284. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
  285. package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
  286. package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
  287. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
  288. package/src/redux/reducers/mandatories.ts +0 -56
  289. package/src/redux/reducers/references/initReferences.ts +0 -37
  290. package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
  291. package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
  292. package/src/redux/reducers/references.ts +0 -59
  293. package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
  294. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
  295. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
  296. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
  297. package/src/redux/reducers/smartscript.ts +0 -47
  298. package/src/redux/reducers/user/initUser.ts +0 -15
  299. package/src/redux/reducers/user/setUserStatus.ts +0 -13
  300. package/src/redux/reducers/user/setUserValidToken.ts +0 -13
  301. package/src/redux/reducers/user.test.ts +0 -51
  302. package/src/redux/reducers/user.ts +0 -40
  303. package/src/redux/routerHistore.test.ts +0 -19
  304. package/src/redux/routerHistory.ts +0 -26
  305. package/src/redux/sagas/fetchModel.test.ts +0 -76
  306. package/src/redux/sagas/fetchModel.ts +0 -683
  307. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
  308. package/src/redux/sagas/initInputs.ts +0 -110
  309. package/src/redux/sagas/runner.test.ts +0 -12
  310. package/src/redux/sagas/runner.ts +0 -26
  311. package/src/redux/sagas/saveData.test.ts +0 -125
  312. package/src/redux/sagas/saveData.ts +0 -116
  313. package/src/redux/sagas/setDefaults.test.ts +0 -100
  314. package/src/redux/sagas/setDefaults.ts +0 -167
  315. package/src/redux/sagas/setUserEmail.ts +0 -221
  316. package/src/redux/selectors/app.test.ts +0 -162
  317. package/src/redux/selectors/app.ts +0 -331
  318. package/src/redux/selectors/conditions.test.ts +0 -92
  319. package/src/redux/selectors/conditions.ts +0 -293
  320. package/src/redux/selectors/inputs.test.ts +0 -72
  321. package/src/redux/selectors/inputs.ts +0 -76
  322. package/src/redux/selectors/library.ts +0 -17
  323. package/src/redux/selectors/mandatories.ts +0 -83
  324. package/src/redux/selectors/references.test.ts +0 -660
  325. package/src/redux/selectors/references.ts +0 -413
  326. package/src/redux/selectors/selectors.test.ts +0 -21
  327. package/src/redux/selectors/selectors.ts +0 -87
  328. package/src/redux/selectors/smartscript.ts +0 -30
  329. package/src/redux/selectors/user.test.ts +0 -39
  330. package/src/redux/selectors/user.ts +0 -45
  331. package/src/redux/store.test.ts +0 -22
  332. package/src/redux/store.ts +0 -100
  333. package/src/service/api.manager.ts +0 -261
  334. package/src/service/auth.service.ts +0 -5
  335. package/src/service/pardot.service.ts +0 -10
  336. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
  337. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
  338. package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
  339. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
  340. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
  341. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
  342. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
  343. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
  344. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
  345. package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
  346. package/src/types/Actions.type.ts +0 -612
  347. package/src/types/Components.type.ts +0 -181
  348. package/src/types/State.type.ts +0 -323
  349. package/src/types/Termsheet.type.ts +0 -28
  350. package/src/types/api.type.ts +0 -37
  351. package/src/types/config.type.ts +0 -55
  352. package/src/types/env.type.ts +0 -5
  353. package/src/types/getActions.type.ts +0 -3
  354. package/src/types/getConnectors.type.ts +0 -5
  355. package/src/types/getSelectors.type.ts +0 -3
  356. package/src/wizard-params.ts +0 -56
  357. package/tsconfig.json +0 -43
@@ -1,323 +0,0 @@
1
- import evaluationsWatcherMiddleware from './evaluationsWatcherMiddleware';
2
- import { updateVariableAction, updateOptionAction } from '../actions/inputs';
3
- import { StateType } from '../../types/State.type';
4
- import { fetchModelSucceededAction } from '../actions/app';
5
- import {
6
- updateOptionConditionsAction,
7
- updateVariableConditionsAction,
8
- } from '../actions/conditions';
9
-
10
- let mockState: {
11
- inputs: StateType.Inputs;
12
- references: {
13
- variables: StateType.References.Variables;
14
- relations: {
15
- options: StateType.References.Relations['options'];
16
- };
17
- evaluations: StateType.References['evaluations'];
18
- };
19
- } = {
20
- inputs: {
21
- variables: {
22
- 4: [32],
23
- 5: [67],
24
- 6: [''],
25
- 7: [22],
26
- },
27
- options: {
28
- 10: [false],
29
- },
30
- },
31
- references: {
32
- variables: {
33
- '6': {
34
- id: 6,
35
- label: 'A+B',
36
- type: 'eval',
37
- placeholderLength: 16,
38
- step: '*',
39
- eval: {
40
- formula: '[var:4]+[var:5]+[var:7]',
41
- decimals: 0,
42
- },
43
- },
44
- '8': {
45
- id: 8,
46
- label: 'TODAY',
47
- type: 'eval',
48
- placeholderLength: 16,
49
- step: '*',
50
- eval: {
51
- formula: 'AFFICHER_DATE(TODAY())',
52
- decimals: 0,
53
- },
54
- },
55
- },
56
- relations: {
57
- options: {
58
- '4': {
59
- options: [7, 8],
60
- variables: [2],
61
- sections: {},
62
- documents: [],
63
- prefillers: [3],
64
- validators: {
65
- options: [],
66
- variables: [],
67
- },
68
- parents: [2],
69
- children: {
70
- options: [],
71
- variables: [],
72
- },
73
- dependants: [],
74
- radioSiblings: [3],
75
- },
76
- '8': {
77
- options: [],
78
- variables: [],
79
- sections: {},
80
- documents: [],
81
- prefillers: [],
82
- validators: {
83
- options: [],
84
- variables: [],
85
- },
86
- parents: [6],
87
- children: {
88
- options: [],
89
- variables: [],
90
- },
91
- dependants: [],
92
- },
93
- '10': {
94
- options: [],
95
- variables: [],
96
- sections: {},
97
- documents: [],
98
- prefillers: [],
99
- validators: {
100
- options: [],
101
- variables: [],
102
- },
103
- parents: [9],
104
- children: {
105
- options: [],
106
- variables: [7],
107
- },
108
- dependants: [],
109
- radioSiblings: [11],
110
- },
111
- '11': {
112
- options: [],
113
- variables: [],
114
- sections: {},
115
- documents: [],
116
- prefillers: [],
117
- validators: {
118
- options: [],
119
- variables: [],
120
- },
121
- parents: [9],
122
- children: {
123
- options: [],
124
- variables: [],
125
- },
126
- dependants: [],
127
- radioSiblings: [10],
128
- },
129
- },
130
- },
131
- evaluations: {
132
- 4: [6],
133
- 5: [6],
134
- 7: [6],
135
- },
136
- },
137
- };
138
- const originalState = JSON.stringify(mockState);
139
-
140
- // Mocking MPI
141
- const mpi = {
142
- dispatch: jest.fn(),
143
- getState: () => mockState,
144
- };
145
-
146
- // Mocking Next
147
- const next = jest.fn();
148
-
149
- // Mocking reference selecteor
150
- // ../selectors/references.ts
151
- jest.mock('../selectors/references', () => ({
152
- __esModule: true,
153
- selectVariableReference: (id: number) => mockState.references.variables[id],
154
- selectOptionRelations: (id: number) =>
155
- mockState.references.relations.options[id],
156
- }));
157
-
158
- // Mocking reference selecteor
159
- // ../../libs/EvalVariable.ts
160
- jest.mock('../../libs/EvalVariable', () => {
161
- class EvalVariable {
162
- result: string | number;
163
-
164
- constructor(ref: any, index: any) {
165
- if (ref.id === 8 && ref.eval?.formula === 'AFFICHER_DATE(TODAY())')
166
- this.result = '01/01/1976';
167
- else if (ref.id === 6 && mockState.inputs.options[10][index] === true)
168
- this.result =
169
- // @ts-ignore: Done on purpose
170
- mockState.inputs.variables[4][index] +
171
- mockState.inputs.variables[5][index] +
172
- mockState.inputs.variables[7][index];
173
- else if (ref.id === 6 && mockState.inputs.options[10][index] === false)
174
- this.result =
175
- // @ts-ignore: Done on purpose
176
- mockState.inputs.variables[4][index] +
177
- mockState.inputs.variables[5][index];
178
- else this.result = 'UNDEFINED RESULT PLEASE CHECK MOCK';
179
- }
180
- }
181
- return {
182
- __esModule: true,
183
- EvalVariable,
184
- };
185
- });
186
-
187
- describe('Prefillers Watcher Middleware Test suit', () => {
188
- beforeEach(() => {
189
- jest.clearAllMocks();
190
- mockState = JSON.parse(originalState);
191
- });
192
-
193
- it('Completes FETCH_MODEL_SUCCEEDED action correctly', () => {
194
- // Running watcher
195
- evaluationsWatcherMiddleware(mpi)(next)(fetchModelSucceededAction());
196
-
197
- // Must recalculate all evals
198
- expect(mpi.dispatch.mock.calls.length).toBe(2);
199
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
200
- type: 'UPDATE_VARIABLE_INPUT',
201
- id: 6,
202
- index: 0,
203
- value: 99,
204
- });
205
- expect(mpi.dispatch.mock.calls[1][0]).toStrictEqual({
206
- type: 'UPDATE_VARIABLE_INPUT',
207
- id: 8,
208
- index: 0,
209
- value: '01/01/1976',
210
- });
211
- });
212
-
213
- it('Completes UPDATE_VARIABLE_INPUT action correctly', () => {
214
- // Running watcher
215
- evaluationsWatcherMiddleware(mpi)(next)(updateVariableAction(4, 3, 0));
216
-
217
- expect(mpi.dispatch.mock.calls.length).toBe(1);
218
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
219
- type: 'UPDATE_VARIABLE_INPUT',
220
- id: 6,
221
- index: 0,
222
- value: 99,
223
- })
224
- });
225
-
226
- it('Completes UPDATE_OPTION_INPUT action correctly', () => {
227
- mockState.inputs.options[10][0] = true;
228
-
229
- // Running watcher
230
- evaluationsWatcherMiddleware(mpi)(next)(updateOptionAction(10, true, 0));
231
-
232
- expect(mpi.dispatch.mock.calls.length).toBe(1);
233
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
234
- type: 'UPDATE_VARIABLE_INPUT',
235
- id: 6,
236
- index: 0,
237
- value: 121,
238
- });
239
- });
240
-
241
- it('Completes UPDATE_OPTION_CONDITION action correctly', () => {
242
- // Real condition updating is tested in EvalVariable library
243
- // Here we assume that the system works perfectly so we just
244
- // put 10 to true
245
-
246
- mockState.inputs.options[10][0] = true;
247
-
248
- // Running watcher
249
- evaluationsWatcherMiddleware(mpi)(next)(
250
- updateOptionConditionsAction(10, 0, true)
251
- );
252
-
253
- expect(mpi.dispatch.mock.calls.length).toBe(1);
254
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
255
- type: 'UPDATE_VARIABLE_INPUT',
256
- id: 6,
257
- index: 0,
258
- value: 121,
259
- });
260
- });
261
-
262
- it('Completes UPDATE_OPTION_CONDITION action correctly', () => {
263
- // Real condition updating is tested in EvalVariable library
264
- // Here we assume that the system works perfectly so we just
265
- // put 10 to false
266
-
267
- mockState.inputs.options[10][0] = false;
268
-
269
- // Running watcher
270
- evaluationsWatcherMiddleware(mpi)(next)(
271
- updateOptionConditionsAction(10, 0, true)
272
- );
273
-
274
- expect(mpi.dispatch.mock.calls.length).toBe(1);
275
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
276
- type: 'UPDATE_VARIABLE_INPUT',
277
- id: 6,
278
- index: 0,
279
- value: 99,
280
- });
281
- });
282
-
283
- it('Completes UPDATE_VARIABLE_CONDITION action correctly', () => {
284
- // Real condition updating is tested in EvalVariable library
285
- // Here we assume that the system works perfectly so we just
286
- // put 10 to false
287
-
288
- mockState.inputs.options[10][0] = true;
289
-
290
- // Running watcher
291
- evaluationsWatcherMiddleware(mpi)(next)(
292
- updateVariableConditionsAction(7, 0, true)
293
- );
294
-
295
- expect(mpi.dispatch.mock.calls.length).toBe(1);
296
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
297
- type: 'UPDATE_VARIABLE_INPUT',
298
- id: 6,
299
- index: 0,
300
- value: 121,
301
- });
302
- });
303
-
304
- it('Throws an error on UPDATE_VARIABLE_INPUT action if variable is undefined', () => {
305
- // @ts-ignore: Done on puprose
306
- mockState.references.variables[6] = undefined;
307
-
308
- // Running watcher
309
- expect(() =>
310
- evaluationsWatcherMiddleware(mpi)(next)(updateVariableAction(4, 3, 0))
311
- ).toThrowError('Variable 6 does not exist');
312
- });
313
-
314
- it('Throws an error on UPDATE_OPTION_INPUT action if variable is undefined', () => {
315
- // @ts-ignore: Done on purpose
316
- mockState.references.variables[6] = undefined;
317
-
318
- // Running watcher
319
- expect(() =>
320
- evaluationsWatcherMiddleware(mpi)(next)(updateOptionAction(10, true, 0))
321
- ).toThrowError('Variable 6 does not exist');
322
- });
323
- });
@@ -1,250 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { MiddlewareAPI, Dispatch } from "redux";
3
- import { ActionsType } from "../../types/Actions.type";
4
- import {
5
- selectVariableReference,
6
- selectOptionRelations,
7
- } from "../selectors/references";
8
- import { updateVariableAction } from "../actions/inputs";
9
- import {
10
- UPDATE_VARIABLE_INPUT,
11
- UPDATE_OPTION_INPUT,
12
- } from "../constants/inputs";
13
- import { StateType } from "../../types/State.type";
14
- import {
15
- UPDATE_VARIABLE_CONDITION,
16
- UPDATE_OPTION_CONDITION,
17
- UPDATE_SECTION_CONDITION,
18
- } from "../constants/conditions";
19
- import { FETCH_MODEL_SUCCEEDED } from "../constants/app";
20
- import { EvalVariable } from "../../libs/EvalVariable";
21
-
22
- /**
23
- * Watching UPDATE_VARIABLE_INPUT action
24
- * @param mpi MiddlewareAPI
25
- * @param next Dispatch function
26
- * @param action Actions
27
- */
28
- export const watchUpdateVariable = (
29
- mpi: MiddlewareAPI<Dispatch, StateType>,
30
- next: Dispatch,
31
- action:
32
- | ActionsType.Inputs.updateVariableInput
33
- | ActionsType.Conditions.updateVariableCondition
34
- ) => {
35
- const result = next(action);
36
-
37
- // Checking if variable is hooked to an eval
38
- const state: StateType = mpi.getState();
39
- if (
40
- Object.prototype.hasOwnProperty.call(
41
- state.references.evaluations,
42
- action.id
43
- )
44
- ) {
45
- // Executing evaluations
46
- const variables = state.references.evaluations[action.id];
47
-
48
- variables.forEach((variableId) => {
49
- // Evaluation operations
50
- state.inputs.variables[variableId].forEach((oldValue, index) => {
51
- const variableReference = selectVariableReference(variableId);
52
- if (variableReference === undefined)
53
- throw new Error(`Variable ${variableId} does not exist`);
54
-
55
- const varEval = new EvalVariable(variableReference, index);
56
- const newValue = varEval.result;
57
- if (newValue === null) return;
58
- if (newValue !== oldValue)
59
- mpi.dispatch(updateVariableAction(variableId, newValue, index));
60
- });
61
- });
62
- }
63
-
64
- return result;
65
- };
66
-
67
- /**
68
- * Watching UPDATE_OPTION_INPUT action
69
- * @param mpi MiddlewareAPI
70
- * @param next Dispatch function
71
- * @param action Actions
72
- */
73
- const watchUpdateOption = (
74
- mpi: MiddlewareAPI<Dispatch, StateType>,
75
- next: Dispatch,
76
- action:
77
- | ActionsType.Inputs.updateOptionInput
78
- | ActionsType.Conditions.updateOptionCondition
79
- ) => {
80
- const result = next(action);
81
-
82
- // Checking if variable is hooked to an eval
83
- const state: StateType = mpi.getState();
84
-
85
- // Calculating union between option's variable children &
86
- // eval variables
87
- const evalVariablesIds = Object.keys(state.references.evaluations).map((i) =>
88
- parseInt(i, 10)
89
- );
90
- const optionVariableChildren = selectOptionRelations(action.id).children
91
- .variables;
92
-
93
- // Union
94
- const impactedVariables = optionVariableChildren.filter((i) =>
95
- evalVariablesIds.includes(i)
96
- );
97
-
98
- impactedVariables.forEach((id) => {
99
- // Executing evaluations
100
- const variables = state.references.evaluations[id];
101
-
102
- variables.forEach((variableId) => {
103
- // Evaluation operations
104
- state.inputs.variables[variableId].forEach((oldValue, index) => {
105
- const variableReference = selectVariableReference(variableId);
106
- if (variableReference === undefined)
107
- throw new Error(`Variable ${variableId} does not exist`);
108
-
109
- const varEval = new EvalVariable(variableReference, index);
110
- const newValue = varEval.result;
111
- if (newValue === null) return;
112
- if (newValue !== oldValue)
113
- mpi.dispatch(updateVariableAction(variableId, newValue, index));
114
- });
115
- });
116
- });
117
-
118
- return result;
119
- };
120
-
121
- /**
122
- * Watching UPDATE_SECTION action
123
- * @param mpi MiddlewareAPI
124
- * @param next Dispatch function
125
- * @param action Actions
126
- */
127
- const watchUpdateSection = (
128
- mpi: MiddlewareAPI<Dispatch, StateType>,
129
- next: Dispatch,
130
- action: ActionsType.Conditions.updateSectionCondition
131
- ) => {
132
- const result = next(action);
133
-
134
- // Checking if variable is hooked to an eval
135
- const state: StateType = mpi.getState();
136
-
137
- // Getting child options
138
- if (state.references.sections.main[action.id])
139
- state.references.sections.main[action.id].options.forEach((optionId) => {
140
- // Calculating union between option's variable children &
141
- // eval variables
142
- const evalVariablesIds = Object.keys(state.references.evaluations).map(
143
- (i) => parseInt(i, 10)
144
- );
145
- const optionVariableChildren =
146
- selectOptionRelations(optionId).children.variables;
147
-
148
- // Union
149
- const impactedVariables = optionVariableChildren.filter((i) =>
150
- evalVariablesIds.includes(i)
151
- );
152
-
153
- impactedVariables.forEach((id) => {
154
- // Executing evaluations
155
- const variables = state.references.evaluations[id];
156
-
157
- variables.forEach((variableId) => {
158
- // Evaluation operations
159
- state.inputs.variables[variableId].forEach((oldValue, index) => {
160
- const variableReference = selectVariableReference(variableId);
161
- if (variableReference === undefined)
162
- throw new Error(`Variable ${variableId} does not exist`);
163
-
164
- const varEval = new EvalVariable(variableReference, index);
165
- const newValue = varEval.result;
166
- if (newValue === null) return;
167
- if (newValue !== oldValue)
168
- mpi.dispatch(updateVariableAction(variableId, newValue, index));
169
- });
170
- });
171
- });
172
-
173
- return result;
174
- });
175
- };
176
-
177
- /**
178
- * Watching MODEL_FETCH_SUCCEEDED action
179
- * @param mpi MiddlewareAPI
180
- * @param next Dispatch function
181
- * @param action Actions
182
- */
183
- const watchFetchModelSuceeded = (
184
- mpi: MiddlewareAPI<Dispatch, StateType>,
185
- next: Dispatch,
186
- action: ActionsType.App.fetchModelSucceeded
187
- ) => {
188
- const result = next(action);
189
-
190
- // Checking if variable is hooked to an eval
191
- const state: StateType = mpi.getState();
192
-
193
- // Executing eval undependant eval variables on init
194
- Object.keys(state.references.variables).forEach((variableId) => {
195
- const variableReference = state.references.variables[variableId];
196
- const variableInput = state.inputs.variables[variableId] || [""];
197
- if (
198
- variableReference.type === "eval" &&
199
- typeof variableReference.eval?.formula === "string" &&
200
- variableReference.eval?.formula.length > 0
201
- ) {
202
- variableInput.forEach((oldValue, index) => {
203
- const varEval = new EvalVariable(variableReference, index);
204
- const newValue = varEval.result;
205
- if (newValue === null) return;
206
- mpi.dispatch(
207
- updateVariableAction(parseInt(variableId, 10), newValue, index)
208
- );
209
- });
210
- }
211
- });
212
-
213
- return result;
214
- };
215
-
216
- export type WatcherActions =
217
- | ActionsType.Conditions.updateVariableCondition
218
- | ActionsType.Conditions.updateOptionCondition
219
- | ActionsType.Inputs.updateOptionInput
220
- | ActionsType.Inputs.updateVariableInput
221
- | ActionsType.App.fetchModelSucceeded;
222
-
223
- // Enumerating watchers
224
- const watchersEnum: Record<
225
- string,
226
- (mpi: MiddlewareAPI<Dispatch, StateType>, next: Dispatch, action: any) => void
227
- > = {
228
- [UPDATE_VARIABLE_INPUT]: watchUpdateVariable,
229
- [UPDATE_VARIABLE_CONDITION]: watchUpdateVariable,
230
- [UPDATE_OPTION_INPUT]: watchUpdateOption,
231
- [UPDATE_OPTION_CONDITION]: watchUpdateOption,
232
- [UPDATE_SECTION_CONDITION]: watchUpdateSection,
233
- [FETCH_MODEL_SUCCEEDED]: watchFetchModelSuceeded,
234
- };
235
-
236
- /**
237
- * Evaluations Watcher Middleware
238
- * @param mpi MiddlewareAPI
239
- * @param next Dispatch function
240
- * @param action Actions
241
- */
242
- const evaluationsWatcherMiddleware =
243
- (mpi: MiddlewareAPI) => (next: Dispatch) => (action: WatcherActions) => {
244
- if (Object.prototype.hasOwnProperty.call(watchersEnum, action.type)) {
245
- return watchersEnum[action.type].apply(null, [mpi, next, action]);
246
- }
247
- return next(action);
248
- };
249
-
250
- export default evaluationsWatcherMiddleware;