@legalplace/wizardx-core 2.6.4 → 2.7.1

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 (348) hide show
  1. package/CHANGELOG.md +49 -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/components/SmartScript.d.ts +2 -2
  7. package/dist/components/SmartScript.js +2 -0
  8. package/dist/componentsConnectors/connectBox.d.ts +3 -1
  9. package/dist/componentsConnectors/connectDocument.d.ts +3 -1
  10. package/dist/componentsConnectors/connectHeader.d.ts +3 -1
  11. package/dist/componentsConnectors/connectMetaTitle.d.ts +3 -1
  12. package/dist/componentsConnectors/connectOption.d.ts +6 -2
  13. package/dist/componentsConnectors/connectOption.js +1 -1
  14. package/dist/componentsConnectors/connectPagination.d.ts +3 -1
  15. package/dist/componentsConnectors/connectPreview.d.ts +3 -1
  16. package/dist/componentsConnectors/connectProgress.d.ts +3 -1
  17. package/dist/componentsConnectors/connectRootOption.d.ts +3 -1
  18. package/dist/componentsConnectors/connectSection.d.ts +3 -1
  19. package/dist/componentsConnectors/connectSection.js +7 -10
  20. package/dist/componentsConnectors/connectSummary.d.ts +3 -1
  21. package/dist/componentsConnectors/connectSummaryItem.d.ts +3 -1
  22. package/dist/componentsConnectors/connectVariable.d.ts +6 -2
  23. package/dist/componentsConnectors/connectVariable.js +1 -1
  24. package/dist/componentsConnectors/connectWizardWrapper.d.ts +3 -1
  25. package/dist/componentsConnectors/connector/componentConnector.d.ts +5 -1
  26. package/dist/componentsConnectors/connector/componentConnector.js +43 -4
  27. package/dist/componentsConnectors/connector/index.d.ts +1 -0
  28. package/dist/componentsConnectors/connector/index.js +1 -0
  29. package/dist/componentsConnectors/index.d.ts +17 -0
  30. package/dist/componentsConnectors/index.js +17 -0
  31. package/dist/componentsConnectors/library.d.ts +43 -15
  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 +10 -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/PathReader.d.ts +10 -6
  49. package/dist/libs/PathReader.js +47 -28
  50. package/dist/libs/index.d.ts +5 -0
  51. package/dist/libs/index.js +5 -0
  52. package/dist/redux/actions/index.d.ts +9 -0
  53. package/dist/redux/actions/index.js +9 -0
  54. package/dist/redux/actions/library.d.ts +59 -63
  55. package/dist/redux/actions/sagas/index.d.ts +3 -0
  56. package/dist/redux/actions/sagas/index.js +3 -0
  57. package/dist/redux/actions/sagas/model.d.ts +1 -5
  58. package/dist/redux/constants/app.d.ts +2 -0
  59. package/dist/redux/constants/app.js +2 -0
  60. package/dist/redux/constants/index.d.ts +8 -0
  61. package/dist/redux/constants/index.js +8 -0
  62. package/dist/redux/constants/sagas/index.d.ts +3 -0
  63. package/dist/redux/constants/sagas/index.js +3 -0
  64. package/dist/redux/index.d.ts +5 -0
  65. package/dist/redux/index.js +5 -0
  66. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
  67. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
  68. package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
  69. package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
  70. package/dist/redux/reducers/pluginsStore.d.ts +3 -0
  71. package/dist/redux/reducers/pluginsStore.js +12 -0
  72. package/dist/redux/routerHistory.js +2 -2
  73. package/dist/redux/sagas/fetchModel.js +22 -6
  74. package/dist/redux/sagas/initInputs.js +6 -7
  75. package/dist/redux/sagas/saveData.js +2 -0
  76. package/dist/redux/selectors/app.js +13 -18
  77. package/dist/redux/selectors/cache.d.ts +17 -0
  78. package/dist/redux/selectors/cache.js +35 -0
  79. package/dist/redux/selectors/conditions.js +7 -7
  80. package/dist/redux/selectors/index.d.ts +8 -0
  81. package/dist/redux/selectors/index.js +8 -0
  82. package/dist/redux/selectors/inputs.js +3 -3
  83. package/dist/redux/selectors/library.d.ts +2 -2
  84. package/dist/redux/selectors/references.js +26 -26
  85. package/dist/redux/selectors/selectors.d.ts +2 -2
  86. package/dist/redux/selectors/selectors.js +19 -8
  87. package/dist/redux/selectors/selectors.test.js +6 -6
  88. package/dist/redux/selectors/user.js +5 -5
  89. package/dist/redux/store.d.ts +1 -1
  90. package/dist/redux/store.js +12 -4
  91. package/dist/service/api.manager.d.ts +1 -6
  92. package/dist/service/index.d.ts +3 -0
  93. package/dist/service/index.js +3 -0
  94. package/dist/types/PluginConfig.type.d.ts +57 -0
  95. package/dist/types/PluginConfig.type.js +1 -0
  96. package/dist/types/State.type.d.ts +6 -0
  97. package/dist/types/config.type.d.ts +3 -1
  98. package/dist/types/index.d.ts +11 -0
  99. package/dist/types/index.js +11 -0
  100. package/package.json +13 -13
  101. package/.depcheckrc +0 -1
  102. package/.eslintignore +0 -2
  103. package/.eslintrc +0 -5
  104. package/__mocks__/fileMock.js +0 -1
  105. package/babel.config.json +0 -3
  106. package/jest.config.ts +0 -193
  107. package/setupJest.ts +0 -8
  108. package/src/App.test.tsx +0 -41
  109. package/src/App.tsx +0 -152
  110. package/src/Globals.ts +0 -69
  111. package/src/Loader.tsx +0 -8
  112. package/src/PluginLoader.test.tsx +0 -70
  113. package/src/PluginLoader.tsx +0 -407
  114. package/src/Shimmer.tsx +0 -108
  115. package/src/ThemeLoader.test.tsx +0 -82
  116. package/src/ThemeLoader.tsx +0 -95
  117. package/src/components/PluginRoute.tsx +0 -48
  118. package/src/components/SmartScript.tsx +0 -166
  119. package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
  120. package/src/components/View.test.tsx +0 -110
  121. package/src/components/View.tsx +0 -114
  122. package/src/componentsConnectors/connectBox.test.tsx +0 -226
  123. package/src/componentsConnectors/connectBox.tsx +0 -70
  124. package/src/componentsConnectors/connectDocument.test.tsx +0 -108
  125. package/src/componentsConnectors/connectDocument.tsx +0 -64
  126. package/src/componentsConnectors/connectHeader.tsx +0 -21
  127. package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
  128. package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
  129. package/src/componentsConnectors/connectOption.tsx +0 -222
  130. package/src/componentsConnectors/connectPagination.tsx +0 -102
  131. package/src/componentsConnectors/connectPreview.tsx +0 -5
  132. package/src/componentsConnectors/connectProgress.tsx +0 -59
  133. package/src/componentsConnectors/connectRootOption.tsx +0 -95
  134. package/src/componentsConnectors/connectSection.tsx +0 -79
  135. package/src/componentsConnectors/connectSummary.tsx +0 -21
  136. package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
  137. package/src/componentsConnectors/connectTermsheet.tsx +0 -359
  138. package/src/componentsConnectors/connectVariable.tsx +0 -191
  139. package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
  140. package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
  141. package/src/componentsConnectors/library.ts +0 -35
  142. package/src/config.test.ts +0 -63
  143. package/src/config.ts +0 -11
  144. package/src/constants/emailValidation.ts +0 -2
  145. package/src/constants/phoneValidation.ts +0 -4
  146. package/src/definitions/path.join.d.ts +0 -4
  147. package/src/helpers/outputsParsing.ts +0 -412
  148. package/src/helpers/preloadTheme.ts +0 -17
  149. package/src/helpers/scriptsLoader.ts +0 -20
  150. package/src/hooks/usePrevious.ts +0 -9
  151. package/src/libs/ConditionsInitiator.ts +0 -164
  152. package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
  153. package/src/libs/ConditionsRunner.ts +0 -454
  154. package/src/libs/DocumentsOutputs.ts +0 -171
  155. package/src/libs/Eval/EvalBase.ts +0 -116
  156. package/src/libs/Eval/EvalFunctions.ts +0 -724
  157. package/src/libs/Eval/NumbersToLetters.ts +0 -185
  158. package/src/libs/EvalVariable.ts +0 -265
  159. package/src/libs/EventsTracking.ts +0 -250
  160. package/src/libs/InputsInitiator.ts +0 -136
  161. package/src/libs/NumAuto.test.ts +0 -55
  162. package/src/libs/NumAuto.ts +0 -56
  163. package/src/libs/OvcConverter.ts +0 -285
  164. package/src/libs/PathReader.ts +0 -272
  165. package/src/libs/SectionValidity.test.ts +0 -146
  166. package/src/libs/SectionValidity.ts +0 -110
  167. package/src/libs/SmartScriptStore.ts +0 -492
  168. package/src/misc/test_model.ts +0 -14603
  169. package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
  170. package/src/misc/test_models/setDefaults.testmodel.json +0 -279
  171. package/src/misc/test_models/testmodel.json +0 -1
  172. package/src/polyfills/index.ts +0 -5
  173. package/src/polyfills/objectValues.ts +0 -4
  174. package/src/polyfills/prepend.ts +0 -31
  175. package/src/polyfills/stringRepeat.ts +0 -44
  176. package/src/redux/actions/app.test.ts +0 -123
  177. package/src/redux/actions/app.ts +0 -249
  178. package/src/redux/actions/conditions.test.ts +0 -84
  179. package/src/redux/actions/conditions.ts +0 -135
  180. package/src/redux/actions/inputs.test.ts +0 -85
  181. package/src/redux/actions/inputs.ts +0 -111
  182. package/src/redux/actions/library.ts +0 -23
  183. package/src/redux/actions/mandatories.ts +0 -98
  184. package/src/redux/actions/references.test.ts +0 -48
  185. package/src/redux/actions/references.ts +0 -37
  186. package/src/redux/actions/sagas/data.test.ts +0 -11
  187. package/src/redux/actions/sagas/data.ts +0 -18
  188. package/src/redux/actions/sagas/model.test.ts +0 -14
  189. package/src/redux/actions/sagas/model.ts +0 -48
  190. package/src/redux/actions/sagas/user.ts +0 -25
  191. package/src/redux/actions/smartscript.ts +0 -55
  192. package/src/redux/actions/user.test.ts +0 -18
  193. package/src/redux/actions/user.ts +0 -41
  194. package/src/redux/constants/app.ts +0 -36
  195. package/src/redux/constants/conditions.ts +0 -25
  196. package/src/redux/constants/inputs.ts +0 -15
  197. package/src/redux/constants/mandatories.ts +0 -11
  198. package/src/redux/constants/references.ts +0 -7
  199. package/src/redux/constants/sagas/data.ts +0 -1
  200. package/src/redux/constants/sagas/model.ts +0 -2
  201. package/src/redux/constants/sagas/user.ts +0 -2
  202. package/src/redux/constants/smartscript.ts +0 -9
  203. package/src/redux/constants/user.ts +0 -6
  204. package/src/redux/listeners/subscriber.test.ts +0 -45
  205. package/src/redux/listeners/subscriber.ts +0 -29
  206. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
  207. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
  208. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
  209. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
  210. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
  211. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
  212. package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
  213. package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
  214. package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
  215. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
  216. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
  217. package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
  218. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
  219. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
  220. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
  221. package/src/redux/reducers/app/instance/initInstance.ts +0 -29
  222. package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
  223. package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
  224. package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
  225. package/src/redux/reducers/app/instance.test.ts +0 -106
  226. package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
  227. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
  228. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
  229. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
  230. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
  231. package/src/redux/reducers/app/meta/initMeta.ts +0 -22
  232. package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
  233. package/src/redux/reducers/app/meta.test.ts +0 -90
  234. package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
  235. package/src/redux/reducers/app/pagination/goPage.ts +0 -81
  236. package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
  237. package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
  238. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
  239. package/src/redux/reducers/app/pagination.test.ts +0 -363
  240. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
  241. package/src/redux/reducers/app/wizard.test.ts +0 -84
  242. package/src/redux/reducers/app.test.ts +0 -336
  243. package/src/redux/reducers/app.ts +0 -150
  244. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
  245. package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
  246. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
  247. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
  248. package/src/redux/reducers/conditions/initConditions.ts +0 -18
  249. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
  250. package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
  251. package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
  252. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
  253. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
  254. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
  255. package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
  256. package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
  257. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
  258. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
  259. package/src/redux/reducers/conditions.test.ts +0 -241
  260. package/src/redux/reducers/conditions.ts +0 -68
  261. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
  262. package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
  263. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
  264. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
  265. package/src/redux/reducers/inputs/initOption.ts +0 -16
  266. package/src/redux/reducers/inputs/initVariable.ts +0 -16
  267. package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
  268. package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
  269. package/src/redux/reducers/inputs.test.ts +0 -221
  270. package/src/redux/reducers/inputs.ts +0 -51
  271. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
  272. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
  273. package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
  274. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
  275. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
  276. package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
  277. package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
  278. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
  279. package/src/redux/reducers/mandatories.ts +0 -56
  280. package/src/redux/reducers/references/initReferences.ts +0 -37
  281. package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
  282. package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
  283. package/src/redux/reducers/references.ts +0 -59
  284. package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
  285. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
  286. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
  287. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
  288. package/src/redux/reducers/smartscript.ts +0 -47
  289. package/src/redux/reducers/user/initUser.ts +0 -15
  290. package/src/redux/reducers/user/setUserStatus.ts +0 -13
  291. package/src/redux/reducers/user/setUserValidToken.ts +0 -13
  292. package/src/redux/reducers/user.test.ts +0 -51
  293. package/src/redux/reducers/user.ts +0 -40
  294. package/src/redux/routerHistore.test.ts +0 -19
  295. package/src/redux/routerHistory.ts +0 -26
  296. package/src/redux/sagas/fetchModel.test.ts +0 -76
  297. package/src/redux/sagas/fetchModel.ts +0 -683
  298. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
  299. package/src/redux/sagas/initInputs.ts +0 -110
  300. package/src/redux/sagas/runner.test.ts +0 -12
  301. package/src/redux/sagas/runner.ts +0 -26
  302. package/src/redux/sagas/saveData.test.ts +0 -125
  303. package/src/redux/sagas/saveData.ts +0 -55
  304. package/src/redux/sagas/setDefaults.test.ts +0 -100
  305. package/src/redux/sagas/setDefaults.ts +0 -167
  306. package/src/redux/sagas/setUserEmail.ts +0 -175
  307. package/src/redux/selectors/app.test.ts +0 -162
  308. package/src/redux/selectors/app.ts +0 -331
  309. package/src/redux/selectors/conditions.test.ts +0 -92
  310. package/src/redux/selectors/conditions.ts +0 -293
  311. package/src/redux/selectors/inputs.test.ts +0 -72
  312. package/src/redux/selectors/inputs.ts +0 -76
  313. package/src/redux/selectors/library.ts +0 -17
  314. package/src/redux/selectors/mandatories.ts +0 -83
  315. package/src/redux/selectors/references.test.ts +0 -660
  316. package/src/redux/selectors/references.ts +0 -413
  317. package/src/redux/selectors/selectors.test.ts +0 -21
  318. package/src/redux/selectors/selectors.ts +0 -87
  319. package/src/redux/selectors/smartscript.ts +0 -30
  320. package/src/redux/selectors/user.test.ts +0 -39
  321. package/src/redux/selectors/user.ts +0 -45
  322. package/src/redux/store.test.ts +0 -22
  323. package/src/redux/store.ts +0 -100
  324. package/src/service/api.manager.ts +0 -261
  325. package/src/service/auth.service.ts +0 -5
  326. package/src/service/pardot.service.ts +0 -10
  327. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
  328. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
  329. package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
  330. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
  331. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
  332. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
  333. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
  334. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
  335. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
  336. package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
  337. package/src/types/Actions.type.ts +0 -612
  338. package/src/types/Components.type.ts +0 -181
  339. package/src/types/State.type.ts +0 -323
  340. package/src/types/Termsheet.type.ts +0 -28
  341. package/src/types/api.type.ts +0 -37
  342. package/src/types/config.type.ts +0 -55
  343. package/src/types/env.type.ts +0 -5
  344. package/src/types/getActions.type.ts +0 -3
  345. package/src/types/getConnectors.type.ts +0 -5
  346. package/src/types/getSelectors.type.ts +0 -3
  347. package/src/wizard-params.ts +0 -56
  348. package/tsconfig.json +0 -43
@@ -1,222 +0,0 @@
1
- import type { OptionV3 } from "@legalplace/models-v3-types";
2
- import {
3
- parseOptionLabel,
4
- parseRawWithVariables,
5
- } from "../helpers/outputsParsing";
6
- import {
7
- componentConnector,
8
- ConnectorStateToProps,
9
- ConnectorDispatchProps,
10
- ConnectorMapSelectors,
11
- } from "./connector/componentConnector";
12
- import { isStepAvailable } from "../redux/selectors/app";
13
-
14
- export type ConnectOptionOwnProps = {
15
- id: number;
16
- index: number;
17
- isLast?: boolean;
18
- isMultiple?: boolean;
19
- hasMany?: boolean;
20
- };
21
- export type ConnectOptionMapProps = {
22
- label: string;
23
- type: string;
24
- value: boolean;
25
- condition?: boolean;
26
- validator?: boolean;
27
- mandatoryValidated: boolean;
28
- mandatoryIgnore: boolean;
29
- display: boolean;
30
- meta: OptionV3["meta"];
31
- selectedRadioChild: number;
32
- childOptions: number[];
33
- childVariables: number[];
34
- };
35
- export type ConnectOptionDispatchProps = {
36
- updateOption: (value: boolean, id?: number, index?: number) => void;
37
- addMultipleOccurency: () => void;
38
- deleteMultipleOccurency: () => void;
39
- };
40
-
41
- /**
42
- * canOptionDisplay
43
- * ----------------
44
- * This helper function checks whether an option
45
- * can be displayed. It currently handle this cases:
46
- * - Checks stepTwo options
47
- * - Checks special grants options
48
- * @param id Option's ID
49
- * @param selectors StateToProps selectors
50
- * @returns (boolean)
51
- */
52
- const canOptionDisplay = (
53
- id: number,
54
- index: number,
55
- selectors: ConnectorMapSelectors
56
- ) => {
57
- const option = selectors.selectOptionReference(id);
58
-
59
- // Checking steps
60
- let display = isStepAvailable(option.meta.step);
61
-
62
- // Checking if option is hidden by model or smartscript on all indexes
63
- display = display && !(option.meta.hidden === true);
64
-
65
- // Checking if option's index is hidden by smartscript
66
- display =
67
- display && !selectors.selectIsSmartscriptOptionIndexHidden(id, index);
68
-
69
- // Checking if current user is granted access to this option
70
- const grantLevel =
71
- typeof option.meta.grantLevel === "string"
72
- ? option.meta.grantLevel
73
- : "GUEST";
74
- display = display && selectors.isLevelAccessibleForUser(grantLevel);
75
-
76
- // Returning result
77
- return display;
78
- };
79
-
80
- /**
81
- * selectedRadioChilds
82
- * -------------------
83
- * This helper functions returns the selected
84
- * radio children of a given option at a specific
85
- * index if there's any
86
- * @param id Option's id
87
- * @param index Option's index
88
- * @param selectors StateToProps selectors
89
- */
90
- const selectedRadioChilds = (
91
- id: number,
92
- index: number,
93
- selectors: ConnectorMapSelectors
94
- ) => {
95
- const option = selectors.selectOptionReference(id);
96
- return option.options.filter((childId) => {
97
- const childReference = selectors.selectOptionReference(childId);
98
-
99
- return (
100
- childReference.meta.type === "radio" &&
101
- selectors.selectOptionInputByIndex(childId, index)
102
- );
103
- })[0];
104
- };
105
-
106
- /**
107
- * stateToProps
108
- * ------------
109
- * State to props function maps state to connected
110
- * component's props
111
- * @param selectors StateToProps selectors
112
- */
113
- const stateToProps: ConnectorStateToProps<
114
- ConnectOptionOwnProps,
115
- ConnectOptionMapProps
116
- > = (selectors) => (state, ownProps) => {
117
- const { id, index } = ownProps;
118
- const option = selectors.selectOptionReference(id);
119
-
120
- // Checking if option can display (this is not related to conditions)
121
- const display = canOptionDisplay(id, index, selectors);
122
-
123
- // Getting option's selected radio children
124
- const selectedRadioChild = selectedRadioChilds(id, index, selectors);
125
-
126
- // Getting & parsing label (if needed)
127
- const label = parseOptionLabel(id, index);
128
-
129
- // Getting value
130
- let value = selectors.selectOptionInputByIndex(id, index);
131
- value = value || false;
132
-
133
- // Getting condition
134
- const condition = selectors.selectOptionConditionValue(id, index);
135
-
136
- // Getting valudator
137
- const validator = selectors.selectOptionValidatorConditionValue(id, index);
138
-
139
- // Getting mandatoryValidated
140
- const mandatoryValidated = selectors.selectMandatoryOptionByIndex(id, index);
141
-
142
- // Getting MandartoryIgnore
143
- const mandatoryIgnore = selectors.selectMandatoryIgnore();
144
-
145
- // Extracting props from option reference
146
- const { meta, options: childOptions, variables: childVariables } = option;
147
-
148
- // Parsing helper's variables
149
- const helper = meta.helper
150
- ? parseRawWithVariables(meta.helper, undefined, "________________")
151
- : undefined;
152
-
153
- // Parsing warning's variables
154
- const warning = meta.warning
155
- ? parseRawWithVariables(meta.warning, undefined, "________________")
156
- : undefined;
157
-
158
- const { type } = meta;
159
- return {
160
- label,
161
- type,
162
- meta: {
163
- ...meta,
164
- warning,
165
- helper,
166
- },
167
- value,
168
- mandatoryValidated,
169
- mandatoryIgnore,
170
- condition,
171
- validator,
172
- display,
173
- selectedRadioChild,
174
- childOptions,
175
- childVariables,
176
- };
177
- };
178
-
179
- /**
180
- * dispatchToProps
181
- * ------------
182
- * Dispatch to props function maps dispatch to connected
183
- * component's props
184
- * @param actions DispatchToProps actions
185
- */
186
- const dispatchToProps: ConnectorDispatchProps<
187
- ConnectOptionOwnProps,
188
- ConnectOptionDispatchProps
189
- > = (actions) => (dispatch, ownProps) => ({
190
- updateOption: (
191
- value: boolean,
192
- id: number = ownProps.id,
193
- index: number = ownProps.index
194
- ) => dispatch(actions.updateOptionAction(id, value, index)),
195
- addMultipleOccurency: () => {
196
- dispatch(actions.addMultipleOccurencyAction(ownProps.id));
197
- },
198
- deleteMultipleOccurency: () => {
199
- dispatch(
200
- actions.deleteMultipleOccurencyAction(ownProps.id, ownProps.index)
201
- );
202
- },
203
- });
204
-
205
- /**
206
- * Creating our component connector
207
- */
208
- export const connectOption = componentConnector({
209
- componentName: "Option",
210
- stateToProps,
211
- dispatchToProps,
212
- additionnalHooks: (props, hookType) => {
213
- const { tags, type } = props.meta;
214
- const hooks: string[] = [`${hookType}OptionOfType(${type})`];
215
- if (Array.isArray(tags)) {
216
- tags.forEach((currentTag) => {
217
- hooks.push(`${hookType}Tag{${currentTag}}`);
218
- });
219
- }
220
- return hooks;
221
- },
222
- });
@@ -1,102 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- ConnectorDispatchProps,
5
- } from "./connector/componentConnector";
6
-
7
- export type ConnectPaginationOwnProps = {};
8
- export type ConnectPaginationMapProps = {
9
- totalPages: number;
10
- isFirstPage: boolean;
11
- isLastPage: boolean;
12
- isLastWizardPage: boolean;
13
- isUserAuthenticated: boolean;
14
- isCurrentSectionMandatoryValidated: boolean;
15
- mandatoryIgnore: boolean;
16
- firstUnfinishedSectionId: number;
17
- currentSection: number;
18
- currentPage: number;
19
- };
20
- export type ConnectPaginationDispatchProps = {
21
- goNextPage: () => void;
22
- goPreviousPage: () => void;
23
- };
24
-
25
- /**
26
- * stateToProps
27
- * ------------
28
- * State to props function maps state to connected
29
- * component's props
30
- * @param selectors StateToProps selectors
31
- */
32
- const stateToProps: ConnectorStateToProps<
33
- ConnectPaginationOwnProps,
34
- ConnectPaginationMapProps
35
- > = (selectors) => () => {
36
- const {
37
- selectIsFirstPage,
38
- selectCurrentPage,
39
- selectIsLastPage,
40
- selectIsLastWizardPage,
41
- selectAvailableSections,
42
- selectUserStatus,
43
- selectMandatorySection,
44
- selectCurrentSectionId,
45
- selectFirstUnfinishedSectionId,
46
- selectMandatoryIgnore,
47
- } = selectors;
48
- const isFirstPage = selectIsFirstPage();
49
- const currentPage = selectCurrentPage();
50
- const isLastPage = selectIsLastPage();
51
- const isLastWizardPage = selectIsLastWizardPage();
52
- const totalPages = selectAvailableSections().length;
53
- const userStatus = selectUserStatus();
54
-
55
- const currentSection = selectCurrentSectionId();
56
-
57
- // Getting MandatoryIgnore
58
- const mandatoryIgnore = selectMandatoryIgnore();
59
-
60
- const isCurrentSectionMandatoryValidated =
61
- selectMandatorySection(currentSection);
62
-
63
- const firstUnfinishedSectionId =
64
- selectFirstUnfinishedSectionId(currentSection);
65
-
66
- return {
67
- isFirstPage,
68
- isLastPage,
69
- totalPages,
70
- isLastWizardPage,
71
- isCurrentSectionMandatoryValidated,
72
- firstUnfinishedSectionId,
73
- currentSection,
74
- mandatoryIgnore,
75
- isUserAuthenticated: userStatus === "authenticated",
76
- currentPage,
77
- };
78
- };
79
-
80
- /**
81
- * dispatchToProps
82
- * ------------
83
- * Dispatch to props function maps dispatch to connected
84
- * component's props
85
- * @param actions DispatchToProps actions
86
- */
87
- const dispatchToProps: ConnectorDispatchProps<
88
- ConnectPaginationOwnProps,
89
- ConnectPaginationDispatchProps
90
- > = (actions) => (dispatch) => ({
91
- goNextPage: () => dispatch(actions.goNextPageAction()),
92
- goPreviousPage: () => dispatch(actions.goPreviousPageAction()),
93
- });
94
-
95
- /**
96
- * Creating our component connector
97
- */
98
- export const connectPagination = componentConnector({
99
- componentName: "Pagination",
100
- stateToProps,
101
- dispatchToProps,
102
- });
@@ -1,5 +0,0 @@
1
- import { componentConnector } from "./connector/componentConnector";
2
-
3
- export const connectPreview = componentConnector({
4
- componentName: "PreviewComponent",
5
- });
@@ -1,59 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- } from "./connector/componentConnector";
5
-
6
- export type ConnectPreviewOwnProps = {
7
- id?: number;
8
- };
9
- export type ConnectPreviewMapProps = {
10
- currentSectionTitle: string;
11
- currentSectionId: number;
12
- currentSection: number;
13
- currentPage: number;
14
- greatestPage: number;
15
- totalPages: number;
16
- };
17
-
18
- /**
19
- * stateToProps
20
- * ------------
21
- * State to props function maps state to connected
22
- * component's props
23
- * @param selectors StateToProps selectors
24
- */
25
- const stateToProps: ConnectorStateToProps<
26
- ConnectPreviewOwnProps,
27
- ConnectPreviewMapProps
28
- > = (selectors) => (state, ownProps) => {
29
- const {
30
- selectCurrentSectionId,
31
- selectAvailableSections,
32
- selectSectionReference,
33
- selectCurrentPage,
34
- } = selectors;
35
-
36
- const currentSectionId =
37
- typeof ownProps.id === "number" ? ownProps.id : selectCurrentSectionId();
38
- const sectionReference = selectSectionReference(currentSectionId);
39
- const currentSectionTitle = sectionReference.label;
40
- const availableSections = selectAvailableSections();
41
- const totalPages = availableSections.length;
42
-
43
- return {
44
- currentSectionTitle,
45
- currentSectionId,
46
- totalPages,
47
- currentSection: availableSections.indexOf(currentSectionId) + 1,
48
- currentPage: selectCurrentPage(),
49
- greatestPage: state.app.pagination.greatestPage,
50
- };
51
- };
52
-
53
- /**
54
- * Creating our component connector
55
- */
56
- export const connectProgress = componentConnector({
57
- componentName: "Progress",
58
- stateToProps,
59
- });
@@ -1,95 +0,0 @@
1
- import type { OptionV3 } from "@legalplace/models-v3-types";
2
- import {
3
- componentConnector,
4
- ConnectorStateToProps,
5
- ConnectorDispatchProps,
6
- } from "./connector/componentConnector";
7
-
8
- export type ConnectRootOptionOwnProps = {
9
- id: number;
10
- };
11
- export type ConnectRootOptionMapProps = {
12
- id: number;
13
- multiple: boolean;
14
- values: boolean[];
15
- isMultiple: boolean;
16
- hasMany: boolean;
17
- lastIndex: number;
18
- meta: OptionV3["meta"];
19
- };
20
- export type ConnectRootOptionDispatchProps = {
21
- addMultipleOccurency: () => void;
22
- deleteMultipleOccurency: (index: number) => void;
23
- };
24
-
25
- /**
26
- * stateToProps
27
- * ------------
28
- * State to props function maps state to connected
29
- * component's props
30
- * @param selectors StateToProps selectors
31
- */
32
- const stateToProps: ConnectorStateToProps<
33
- ConnectRootOptionOwnProps,
34
- ConnectRootOptionMapProps
35
- > = (selectors) => (state, ownProps) => {
36
- const { selectOptionReference } = selectors;
37
-
38
- const option = selectOptionReference(ownProps.id);
39
-
40
- // Checking wether option can be displayed
41
- const multiple = option.meta.multiple?.enabled || false;
42
-
43
- const values = state.inputs.options[ownProps.id];
44
-
45
- return {
46
- id: ownProps.id,
47
- multiple,
48
- meta: option.meta,
49
- values,
50
- hasMany: values.length > 1,
51
- isMultiple: option.meta.multiple?.enabled === true,
52
- lastIndex: values.length - 1,
53
- };
54
- };
55
-
56
- /**
57
- * dispatchToProps
58
- * ------------
59
- * Dispatch to props function maps dispatch to connected
60
- * component's props
61
- * @param actions DispatchToProps actions
62
- */
63
- const dispatchToProps: ConnectorDispatchProps<
64
- ConnectRootOptionOwnProps,
65
- ConnectRootOptionDispatchProps
66
- > = (actions) => (dispatch, ownProps) => ({
67
- addMultipleOccurency: () => {
68
- dispatch(actions.addMultipleOccurencyAction(ownProps.id));
69
- },
70
- deleteMultipleOccurency: (index: number) => {
71
- dispatch(actions.deleteMultipleOccurencyAction(ownProps.id, index));
72
- },
73
- });
74
-
75
- /**
76
- * Creating our component connector
77
- */
78
- export const connectRootOption = componentConnector({
79
- componentName: "RootOption",
80
- stateToProps,
81
- dispatchToProps,
82
- additionnalHooks: (props, hookType) => {
83
- const { tags, type } = props.meta;
84
- const hooks: string[] = [`${hookType}RootOptionOfType(${type})`];
85
- if (props.meta.multiple) {
86
- hooks.push(`${hookType}RootOptionMultiple`);
87
- }
88
- if (Array.isArray(tags)) {
89
- tags.forEach((currentTag) => {
90
- hooks.push(`${hookType}Tag{${currentTag}}`);
91
- });
92
- }
93
- return hooks;
94
- },
95
- });
@@ -1,79 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- } from "./connector/componentConnector";
5
-
6
- export type ConnectSectionOwnProps = {
7
- id?: number;
8
- };
9
- export type ConnectSectionMapProps = {
10
- id: number;
11
- title: string;
12
- mandatoryValidated: boolean;
13
- childOptions: number[];
14
- tags?: string[];
15
- };
16
-
17
- /**
18
- * stateToProps
19
- * ------------
20
- * State to props function maps state to connected
21
- * component's props
22
- * @param selectors StateToProps selectors
23
- */
24
- const childOptionsCache: Record<string, number[]> = {};
25
- const stateToProps: ConnectorStateToProps<
26
- ConnectSectionOwnProps,
27
- ConnectSectionMapProps
28
- > = (selectors) => (state, ownProps) => {
29
- const {
30
- selectCurrentSectionId,
31
- selectSectionReference,
32
- selectOptionReference,
33
- } = selectors;
34
-
35
- // If we recieve id in props we use it at the section's id
36
- const id =
37
- typeof ownProps.id !== "undefined" ? ownProps.id : selectCurrentSectionId();
38
-
39
- const section = selectSectionReference(id);
40
- if (section === undefined) throw new Error(`Section ${id} does not exist`);
41
-
42
- if (!(id in childOptionsCache)) {
43
- childOptionsCache[id] = section.options.filter((optionId) => {
44
- const optionReference = selectOptionReference(optionId);
45
- if (optionReference === undefined)
46
- throw new Error(`Option ${optionId} does not exist`);
47
- return !["hidden", "repeated"].includes(optionReference.meta.type);
48
- });
49
- }
50
-
51
- // Getting mandatory validation
52
- const mandatoryValidated = selectors.selectMandatorySection(id);
53
-
54
- return {
55
- id,
56
- mandatoryValidated,
57
- childOptions: childOptionsCache[id],
58
- title: section.label,
59
- tags: section.tags,
60
- };
61
- };
62
-
63
- /**
64
- * Creating our component connector
65
- */
66
- export const connectSection = componentConnector({
67
- componentName: "Section",
68
- stateToProps,
69
- additionnalHooks: (props, hookType) => {
70
- const { tags } = props;
71
- const hooks: string[] = [];
72
- if (Array.isArray(tags)) {
73
- tags.forEach((currentTag) => {
74
- hooks.push(`${hookType}Tag{${currentTag}}`);
75
- });
76
- }
77
- return hooks;
78
- },
79
- });
@@ -1,21 +0,0 @@
1
- import {
2
- componentConnector,
3
- ConnectorStateToProps,
4
- } from "./connector/componentConnector";
5
-
6
- export type ConnectSummaryOwnProps = {};
7
- export type ConnectSummaryMapProps = {
8
- sections: Readonly<number[]>;
9
- };
10
-
11
- const stateToProps: ConnectorStateToProps<
12
- ConnectSummaryOwnProps,
13
- ConnectSummaryMapProps
14
- > = (selectors) => () => ({
15
- sections: selectors.selectAvailableSections(),
16
- });
17
-
18
- export const connectSummary = componentConnector({
19
- componentName: "Summary",
20
- stateToProps,
21
- });
@@ -1,102 +0,0 @@
1
- import queryString from "query-string";
2
- import {
3
- componentConnector,
4
- ConnectorStateToProps,
5
- } from "./connector/componentConnector";
6
- import { PathReader } from "../libs/PathReader";
7
- import { SectionValidity } from "../libs/SectionValidity";
8
-
9
- export type ConnectSummaryItemOwnProps = {
10
- id: number;
11
- };
12
- export type ConnectSummaryItemMapProps = {
13
- link: string;
14
- label: string;
15
- validity: boolean;
16
- preLabel: string;
17
- active: boolean;
18
- pageNumber: number;
19
- disableClick?: boolean;
20
- };
21
-
22
- const stateToProps: ConnectorStateToProps<
23
- ConnectSummaryItemOwnProps,
24
- ConnectSummaryItemMapProps
25
- > = (selectors) => (state, ownProps) => {
26
- const {
27
- selectSectionReference,
28
- selectAvailableSections,
29
- selectCurrentSectionId,
30
- selectMandatorySection,
31
- selectMandatoryIgnore,
32
- } = selectors;
33
-
34
- const currentSection = selectCurrentSectionId();
35
-
36
- // Getting MandatoryIgnore
37
- const mandatoryIgnore = selectMandatoryIgnore();
38
-
39
- const isCurrentSectionMandatoryValidated =
40
- selectMandatorySection(currentSection);
41
-
42
- // Getting list of sections
43
- const sectionReference = selectSectionReference(ownProps.id);
44
- const { label, id } = sectionReference;
45
-
46
- // Initiating PathReader
47
- const pathReader = new PathReader(state);
48
-
49
- // Generating section's path
50
- const pageNumber = selectAvailableSections().indexOf(ownProps.id) + 1;
51
- const link = pathReader.parsePath(pageNumber);
52
- // Is section active?
53
- const active = id === currentSection;
54
-
55
- let disableClick = false;
56
- // disableClick Conditions
57
- if (
58
- queryString.parse(window.location.search).ignore !== "true" &&
59
- id > currentSection &&
60
- mandatoryIgnore === false
61
- ) {
62
- const mandatoriesSections = selectAvailableSections().map((sectionId) =>
63
- selectMandatorySection(sectionId)
64
- );
65
- // All sections True : enableClick
66
- if (mandatoriesSections.every((sectionValue) => sectionValue === true)) {
67
- disableClick = false;
68
- }
69
- // enable click only for nextCurrentSection if isCurrentSectionMandatoryValidated = true
70
- else if (
71
- id === currentSection + 1 &&
72
- isCurrentSectionMandatoryValidated === true
73
- ) {
74
- disableClick = false;
75
- }
76
- // disable click for all next sections
77
- else {
78
- disableClick = true;
79
- }
80
- }
81
-
82
- // Is section valid
83
- const { validity } = new SectionValidity(ownProps.id);
84
-
85
- // Calculating preLabel
86
- const preLabel = pageNumber < 10 ? `0${pageNumber}` : pageNumber.toString();
87
-
88
- return {
89
- link,
90
- validity,
91
- preLabel,
92
- label,
93
- active,
94
- pageNumber,
95
- disableClick,
96
- };
97
- };
98
-
99
- export const connectSummaryItem = componentConnector({
100
- componentName: "SummaryItem",
101
- stateToProps,
102
- });