@legalplace/wizardx-core 2.6.4 → 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 (346) hide show
  1. package/CHANGELOG.md +35 -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/helpers/apiEndpoint.d.ts +1 -0
  31. package/dist/helpers/apiEndpoint.js +4 -0
  32. package/dist/helpers/index.d.ts +4 -0
  33. package/dist/helpers/index.js +4 -0
  34. package/dist/helpers/propsEqualityCheck.d.ts +1 -0
  35. package/dist/helpers/propsEqualityCheck.js +9 -0
  36. package/dist/hooks/index.d.ts +4 -0
  37. package/dist/hooks/index.js +4 -0
  38. package/dist/hooks/useActions.d.ts +2 -0
  39. package/dist/hooks/useActions.js +4 -0
  40. package/dist/hooks/useDispatch.d.ts +1 -0
  41. package/dist/hooks/useDispatch.js +4 -0
  42. package/dist/hooks/useSelectors.d.ts +2 -0
  43. package/dist/hooks/useSelectors.js +4 -0
  44. package/dist/index.d.ts +13 -0
  45. package/dist/index.js +13 -0
  46. package/dist/libs/PathReader.d.ts +10 -6
  47. package/dist/libs/PathReader.js +47 -28
  48. package/dist/libs/index.d.ts +5 -0
  49. package/dist/libs/index.js +5 -0
  50. package/dist/redux/actions/index.d.ts +9 -0
  51. package/dist/redux/actions/index.js +9 -0
  52. package/dist/redux/actions/library.d.ts +59 -63
  53. package/dist/redux/actions/sagas/index.d.ts +3 -0
  54. package/dist/redux/actions/sagas/index.js +3 -0
  55. package/dist/redux/actions/sagas/model.d.ts +1 -5
  56. package/dist/redux/constants/app.d.ts +2 -0
  57. package/dist/redux/constants/app.js +2 -0
  58. package/dist/redux/constants/index.d.ts +8 -0
  59. package/dist/redux/constants/index.js +8 -0
  60. package/dist/redux/constants/sagas/index.d.ts +3 -0
  61. package/dist/redux/constants/sagas/index.js +3 -0
  62. package/dist/redux/index.d.ts +5 -0
  63. package/dist/redux/index.js +5 -0
  64. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
  65. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
  66. package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
  67. package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
  68. package/dist/redux/reducers/pluginsStore.d.ts +3 -0
  69. package/dist/redux/reducers/pluginsStore.js +12 -0
  70. package/dist/redux/routerHistory.js +2 -2
  71. package/dist/redux/sagas/fetchModel.js +22 -6
  72. package/dist/redux/sagas/initInputs.js +6 -7
  73. package/dist/redux/sagas/saveData.js +2 -0
  74. package/dist/redux/selectors/app.js +13 -18
  75. package/dist/redux/selectors/cache.d.ts +17 -0
  76. package/dist/redux/selectors/cache.js +35 -0
  77. package/dist/redux/selectors/conditions.js +7 -7
  78. package/dist/redux/selectors/index.d.ts +8 -0
  79. package/dist/redux/selectors/index.js +8 -0
  80. package/dist/redux/selectors/inputs.js +3 -3
  81. package/dist/redux/selectors/library.d.ts +2 -2
  82. package/dist/redux/selectors/references.js +26 -26
  83. package/dist/redux/selectors/selectors.d.ts +2 -2
  84. package/dist/redux/selectors/selectors.js +19 -8
  85. package/dist/redux/selectors/selectors.test.js +6 -6
  86. package/dist/redux/selectors/user.js +5 -5
  87. package/dist/redux/store.d.ts +1 -1
  88. package/dist/redux/store.js +12 -4
  89. package/dist/service/api.manager.d.ts +1 -6
  90. package/dist/service/index.d.ts +3 -0
  91. package/dist/service/index.js +3 -0
  92. package/dist/types/PluginConfig.type.d.ts +57 -0
  93. package/dist/types/PluginConfig.type.js +1 -0
  94. package/dist/types/State.type.d.ts +6 -0
  95. package/dist/types/config.type.d.ts +3 -1
  96. package/dist/types/index.d.ts +11 -0
  97. package/dist/types/index.js +11 -0
  98. package/package.json +11 -11
  99. package/.depcheckrc +0 -1
  100. package/.eslintignore +0 -2
  101. package/.eslintrc +0 -5
  102. package/__mocks__/fileMock.js +0 -1
  103. package/babel.config.json +0 -3
  104. package/jest.config.ts +0 -193
  105. package/setupJest.ts +0 -8
  106. package/src/App.test.tsx +0 -41
  107. package/src/App.tsx +0 -152
  108. package/src/Globals.ts +0 -69
  109. package/src/Loader.tsx +0 -8
  110. package/src/PluginLoader.test.tsx +0 -70
  111. package/src/PluginLoader.tsx +0 -407
  112. package/src/Shimmer.tsx +0 -108
  113. package/src/ThemeLoader.test.tsx +0 -82
  114. package/src/ThemeLoader.tsx +0 -95
  115. package/src/components/PluginRoute.tsx +0 -48
  116. package/src/components/SmartScript.tsx +0 -166
  117. package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
  118. package/src/components/View.test.tsx +0 -110
  119. package/src/components/View.tsx +0 -114
  120. package/src/componentsConnectors/connectBox.test.tsx +0 -226
  121. package/src/componentsConnectors/connectBox.tsx +0 -70
  122. package/src/componentsConnectors/connectDocument.test.tsx +0 -108
  123. package/src/componentsConnectors/connectDocument.tsx +0 -64
  124. package/src/componentsConnectors/connectHeader.tsx +0 -21
  125. package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
  126. package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
  127. package/src/componentsConnectors/connectOption.tsx +0 -222
  128. package/src/componentsConnectors/connectPagination.tsx +0 -102
  129. package/src/componentsConnectors/connectPreview.tsx +0 -5
  130. package/src/componentsConnectors/connectProgress.tsx +0 -59
  131. package/src/componentsConnectors/connectRootOption.tsx +0 -95
  132. package/src/componentsConnectors/connectSection.tsx +0 -79
  133. package/src/componentsConnectors/connectSummary.tsx +0 -21
  134. package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
  135. package/src/componentsConnectors/connectTermsheet.tsx +0 -359
  136. package/src/componentsConnectors/connectVariable.tsx +0 -191
  137. package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
  138. package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
  139. package/src/componentsConnectors/library.ts +0 -35
  140. package/src/config.test.ts +0 -63
  141. package/src/config.ts +0 -11
  142. package/src/constants/emailValidation.ts +0 -2
  143. package/src/constants/phoneValidation.ts +0 -4
  144. package/src/definitions/path.join.d.ts +0 -4
  145. package/src/helpers/outputsParsing.ts +0 -412
  146. package/src/helpers/preloadTheme.ts +0 -17
  147. package/src/helpers/scriptsLoader.ts +0 -20
  148. package/src/hooks/usePrevious.ts +0 -9
  149. package/src/libs/ConditionsInitiator.ts +0 -164
  150. package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
  151. package/src/libs/ConditionsRunner.ts +0 -454
  152. package/src/libs/DocumentsOutputs.ts +0 -171
  153. package/src/libs/Eval/EvalBase.ts +0 -116
  154. package/src/libs/Eval/EvalFunctions.ts +0 -724
  155. package/src/libs/Eval/NumbersToLetters.ts +0 -185
  156. package/src/libs/EvalVariable.ts +0 -265
  157. package/src/libs/EventsTracking.ts +0 -250
  158. package/src/libs/InputsInitiator.ts +0 -136
  159. package/src/libs/NumAuto.test.ts +0 -55
  160. package/src/libs/NumAuto.ts +0 -56
  161. package/src/libs/OvcConverter.ts +0 -285
  162. package/src/libs/PathReader.ts +0 -272
  163. package/src/libs/SectionValidity.test.ts +0 -146
  164. package/src/libs/SectionValidity.ts +0 -110
  165. package/src/libs/SmartScriptStore.ts +0 -492
  166. package/src/misc/test_model.ts +0 -14603
  167. package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
  168. package/src/misc/test_models/setDefaults.testmodel.json +0 -279
  169. package/src/misc/test_models/testmodel.json +0 -1
  170. package/src/polyfills/index.ts +0 -5
  171. package/src/polyfills/objectValues.ts +0 -4
  172. package/src/polyfills/prepend.ts +0 -31
  173. package/src/polyfills/stringRepeat.ts +0 -44
  174. package/src/redux/actions/app.test.ts +0 -123
  175. package/src/redux/actions/app.ts +0 -249
  176. package/src/redux/actions/conditions.test.ts +0 -84
  177. package/src/redux/actions/conditions.ts +0 -135
  178. package/src/redux/actions/inputs.test.ts +0 -85
  179. package/src/redux/actions/inputs.ts +0 -111
  180. package/src/redux/actions/library.ts +0 -23
  181. package/src/redux/actions/mandatories.ts +0 -98
  182. package/src/redux/actions/references.test.ts +0 -48
  183. package/src/redux/actions/references.ts +0 -37
  184. package/src/redux/actions/sagas/data.test.ts +0 -11
  185. package/src/redux/actions/sagas/data.ts +0 -18
  186. package/src/redux/actions/sagas/model.test.ts +0 -14
  187. package/src/redux/actions/sagas/model.ts +0 -48
  188. package/src/redux/actions/sagas/user.ts +0 -25
  189. package/src/redux/actions/smartscript.ts +0 -55
  190. package/src/redux/actions/user.test.ts +0 -18
  191. package/src/redux/actions/user.ts +0 -41
  192. package/src/redux/constants/app.ts +0 -36
  193. package/src/redux/constants/conditions.ts +0 -25
  194. package/src/redux/constants/inputs.ts +0 -15
  195. package/src/redux/constants/mandatories.ts +0 -11
  196. package/src/redux/constants/references.ts +0 -7
  197. package/src/redux/constants/sagas/data.ts +0 -1
  198. package/src/redux/constants/sagas/model.ts +0 -2
  199. package/src/redux/constants/sagas/user.ts +0 -2
  200. package/src/redux/constants/smartscript.ts +0 -9
  201. package/src/redux/constants/user.ts +0 -6
  202. package/src/redux/listeners/subscriber.test.ts +0 -45
  203. package/src/redux/listeners/subscriber.ts +0 -29
  204. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
  205. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
  206. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
  207. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
  208. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
  209. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
  210. package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
  211. package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
  212. package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
  213. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
  214. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
  215. package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
  216. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
  217. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
  218. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
  219. package/src/redux/reducers/app/instance/initInstance.ts +0 -29
  220. package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
  221. package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
  222. package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
  223. package/src/redux/reducers/app/instance.test.ts +0 -106
  224. package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
  225. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
  226. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
  227. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
  228. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
  229. package/src/redux/reducers/app/meta/initMeta.ts +0 -22
  230. package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
  231. package/src/redux/reducers/app/meta.test.ts +0 -90
  232. package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
  233. package/src/redux/reducers/app/pagination/goPage.ts +0 -81
  234. package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
  235. package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
  236. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
  237. package/src/redux/reducers/app/pagination.test.ts +0 -363
  238. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
  239. package/src/redux/reducers/app/wizard.test.ts +0 -84
  240. package/src/redux/reducers/app.test.ts +0 -336
  241. package/src/redux/reducers/app.ts +0 -150
  242. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
  243. package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
  244. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
  245. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
  246. package/src/redux/reducers/conditions/initConditions.ts +0 -18
  247. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
  248. package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
  249. package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
  250. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
  251. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
  252. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
  253. package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
  254. package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
  255. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
  256. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
  257. package/src/redux/reducers/conditions.test.ts +0 -241
  258. package/src/redux/reducers/conditions.ts +0 -68
  259. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
  260. package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
  261. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
  262. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
  263. package/src/redux/reducers/inputs/initOption.ts +0 -16
  264. package/src/redux/reducers/inputs/initVariable.ts +0 -16
  265. package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
  266. package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
  267. package/src/redux/reducers/inputs.test.ts +0 -221
  268. package/src/redux/reducers/inputs.ts +0 -51
  269. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
  270. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
  271. package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
  272. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
  273. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
  274. package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
  275. package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
  276. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
  277. package/src/redux/reducers/mandatories.ts +0 -56
  278. package/src/redux/reducers/references/initReferences.ts +0 -37
  279. package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
  280. package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
  281. package/src/redux/reducers/references.ts +0 -59
  282. package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
  283. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
  284. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
  285. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
  286. package/src/redux/reducers/smartscript.ts +0 -47
  287. package/src/redux/reducers/user/initUser.ts +0 -15
  288. package/src/redux/reducers/user/setUserStatus.ts +0 -13
  289. package/src/redux/reducers/user/setUserValidToken.ts +0 -13
  290. package/src/redux/reducers/user.test.ts +0 -51
  291. package/src/redux/reducers/user.ts +0 -40
  292. package/src/redux/routerHistore.test.ts +0 -19
  293. package/src/redux/routerHistory.ts +0 -26
  294. package/src/redux/sagas/fetchModel.test.ts +0 -76
  295. package/src/redux/sagas/fetchModel.ts +0 -683
  296. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
  297. package/src/redux/sagas/initInputs.ts +0 -110
  298. package/src/redux/sagas/runner.test.ts +0 -12
  299. package/src/redux/sagas/runner.ts +0 -26
  300. package/src/redux/sagas/saveData.test.ts +0 -125
  301. package/src/redux/sagas/saveData.ts +0 -55
  302. package/src/redux/sagas/setDefaults.test.ts +0 -100
  303. package/src/redux/sagas/setDefaults.ts +0 -167
  304. package/src/redux/sagas/setUserEmail.ts +0 -175
  305. package/src/redux/selectors/app.test.ts +0 -162
  306. package/src/redux/selectors/app.ts +0 -331
  307. package/src/redux/selectors/conditions.test.ts +0 -92
  308. package/src/redux/selectors/conditions.ts +0 -293
  309. package/src/redux/selectors/inputs.test.ts +0 -72
  310. package/src/redux/selectors/inputs.ts +0 -76
  311. package/src/redux/selectors/library.ts +0 -17
  312. package/src/redux/selectors/mandatories.ts +0 -83
  313. package/src/redux/selectors/references.test.ts +0 -660
  314. package/src/redux/selectors/references.ts +0 -413
  315. package/src/redux/selectors/selectors.test.ts +0 -21
  316. package/src/redux/selectors/selectors.ts +0 -87
  317. package/src/redux/selectors/smartscript.ts +0 -30
  318. package/src/redux/selectors/user.test.ts +0 -39
  319. package/src/redux/selectors/user.ts +0 -45
  320. package/src/redux/store.test.ts +0 -22
  321. package/src/redux/store.ts +0 -100
  322. package/src/service/api.manager.ts +0 -261
  323. package/src/service/auth.service.ts +0 -5
  324. package/src/service/pardot.service.ts +0 -10
  325. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
  326. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
  327. package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
  328. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
  329. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
  330. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
  331. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
  332. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
  333. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
  334. package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
  335. package/src/types/Actions.type.ts +0 -612
  336. package/src/types/Components.type.ts +0 -181
  337. package/src/types/State.type.ts +0 -323
  338. package/src/types/Termsheet.type.ts +0 -28
  339. package/src/types/api.type.ts +0 -37
  340. package/src/types/config.type.ts +0 -55
  341. package/src/types/env.type.ts +0 -5
  342. package/src/types/getActions.type.ts +0 -3
  343. package/src/types/getConnectors.type.ts +0 -5
  344. package/src/types/getSelectors.type.ts +0 -3
  345. package/src/wizard-params.ts +0 -56
  346. 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
- });