@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,50 +0,0 @@
1
- import { updateVariableValidatorConditionReducer } from './updateVariableValidatorCondition';
2
- import { StateType } from '../../../types/State.type';
3
- import { UPDATE_VARIABLE_VALIDATOR_CONDITION } from '../../constants/conditions';
4
-
5
- const state: StateType.Conditions = {
6
- options: {},
7
- variables: {},
8
- validators: {
9
- options: {},
10
- variables: {
11
- 5: [false, true, false],
12
- },
13
- },
14
- documents: {},
15
- sections: {},
16
- prefillers: {},
17
- };
18
-
19
- describe('updateVariableValidatorConditionReducer test suit', () => {
20
- it('Updates variable validator condition properly', () => {
21
- const reducerResult = updateVariableValidatorConditionReducer(state, {
22
- type: UPDATE_VARIABLE_VALIDATOR_CONDITION,
23
- id: 5,
24
- index: 1,
25
- value: false,
26
- });
27
-
28
- expect(reducerResult).toStrictEqual({
29
- ...state,
30
- validators: {
31
- ...state.validators,
32
- variables: {
33
- ...state.validators.variables,
34
- 5: [false, false, false],
35
- },
36
- },
37
- });
38
- });
39
-
40
- it('Returns same state without touching references if condition did not change', () => {
41
- const reducerResult = updateVariableValidatorConditionReducer(state, {
42
- type: UPDATE_VARIABLE_VALIDATOR_CONDITION,
43
- id: 5,
44
- index: 1,
45
- value: true,
46
- });
47
-
48
- expect(reducerResult).toEqual(state);
49
- });
50
- });
@@ -1,28 +0,0 @@
1
- import { ActionsType } from "../../../types/Actions.type";
2
- import { StateType } from "../../../types/State.type";
3
-
4
- // eslint-disable-next-line max-len
5
- export const updateVariableValidatorConditionReducer = (
6
- state: StateType.Conditions,
7
- action: ActionsType.Conditions.updateVariableValidatorCondition
8
- ): StateType.Conditions => {
9
- const { id, value, index } = action;
10
-
11
- // Making sure value has changed before changing the state
12
- if (state.validators.variables[id][index] === value) return state;
13
-
14
- return {
15
- ...state,
16
- validators: {
17
- ...state.validators,
18
- variables: {
19
- ...state.validators.variables,
20
- [id]: [
21
- ...state.validators.variables[id].slice(0, index),
22
- value,
23
- ...state.validators.variables[id].slice(index + 1),
24
- ],
25
- },
26
- },
27
- };
28
- };
@@ -1,241 +0,0 @@
1
- import { initConditionsReducer } from './conditions/initConditions';
2
- import { INIT_CONDITIONS } from '../constants/conditions';
3
- import { updateOptionConditionReducer } from './conditions/updateOptionConditions';
4
- import { updateSectionConditionReducer } from './conditions/updateSectionConditions';
5
- import { updateVariableConditionReducer } from './conditions/updateVariableConditions';
6
- import { updatePrefillerConditionReducer } from './conditions/updatePrefillerConditions';
7
- import { conditionsReducer } from './conditions';
8
-
9
- const initialState = {
10
- type: INIT_CONDITIONS,
11
- options: {
12
- 1: [true, false],
13
- },
14
- variables: {
15
- 1: [false, true],
16
- },
17
- prefillers: {
18
- 1: [
19
- [true, false],
20
- [false, true],
21
- ],
22
- },
23
- validators: {
24
- options: {},
25
- variables: {},
26
- },
27
- sections: {
28
- main: {},
29
- },
30
- documents: {},
31
- };
32
-
33
- describe('Conditions reducer test suit', () => {
34
- it('initConditions reducer', () => {
35
- const reducer = initConditionsReducer(initialState, {
36
- type: INIT_CONDITIONS,
37
- options: {},
38
- variables: {},
39
- prefillers: {},
40
- validators: {
41
- options: {},
42
- variables: {},
43
- },
44
- sections: {
45
- main: {
46
- 1: true,
47
- },
48
- },
49
- documents: {},
50
- });
51
-
52
- expect(reducer).toEqual({
53
- options: {},
54
- variables: {},
55
- prefillers: {},
56
- validators: {
57
- options: {},
58
- variables: {},
59
- },
60
- sections: {
61
- main: {
62
- 1: true,
63
- },
64
- },
65
- documents: {},
66
- });
67
- });
68
-
69
- it('updateOptionConditions reducer', () => {
70
- const reducer = updateOptionConditionReducer(initialState, {
71
- type: 'UPDATE_OPTION_CONDITION',
72
- value: false,
73
- index: 0,
74
- id: 1,
75
- });
76
-
77
- expect(reducer).toEqual({
78
- ...initialState,
79
- options: {
80
- 1: [false, false],
81
- },
82
- });
83
- });
84
-
85
- it('updateSectionConditions reducer', () => {
86
- const reducer = updateSectionConditionReducer(initialState, {
87
- type: 'UPDATE_SECTION_CONDITION',
88
- value: false,
89
- document: 'main',
90
- id: 1,
91
- });
92
-
93
- expect(reducer).toEqual({
94
- ...initialState,
95
- sections: {
96
- main: {
97
- 1: false,
98
- },
99
- },
100
- });
101
- });
102
-
103
- it('updateVariableCondition reducer', () => {
104
- const reducer = updateVariableConditionReducer(initialState, {
105
- type: 'UPDATE_VARIABLE_CONDITION',
106
- value: true,
107
- id: 1,
108
- index: 0,
109
- });
110
-
111
- expect(reducer).toEqual({
112
- ...initialState,
113
- variables: {
114
- 1: [true, true],
115
- },
116
- });
117
- });
118
-
119
- it('updatePrefillerCondition reducer', () => {
120
- const reducer = updatePrefillerConditionReducer(initialState, {
121
- type: 'UPDATE_PREFILLER_CONDITION',
122
- value: [false, true],
123
- id: 1,
124
- index: 0,
125
- });
126
-
127
- expect(reducer).toEqual({
128
- ...initialState,
129
- prefillers: {
130
- 1: [
131
- [false, true],
132
- [false, true],
133
- ],
134
- },
135
- });
136
- });
137
-
138
- it('Conditions reducer INIT_CONDITIONS', () => {
139
- const reducer = conditionsReducer(initialState, {
140
- type: INIT_CONDITIONS,
141
- options: {},
142
- variables: {},
143
- prefillers: {},
144
- validators: {
145
- options: {},
146
- variables: {},
147
- },
148
- sections: {
149
- main: {
150
- 1: true,
151
- },
152
- },
153
- documents: {},
154
- });
155
-
156
- expect(reducer).toEqual({
157
- options: {},
158
- variables: {},
159
- prefillers: {},
160
- validators: {
161
- options: {},
162
- variables: {},
163
- },
164
- sections: {
165
- main: {
166
- 1: true,
167
- },
168
- },
169
- documents: {},
170
- });
171
- });
172
-
173
- it('Conditions reducer UPDATE_OPTION_CONDITION', () => {
174
- const reducer = conditionsReducer(initialState, {
175
- type: 'UPDATE_OPTION_CONDITION',
176
- value: false,
177
- index: 0,
178
- id: 1,
179
- });
180
-
181
- expect(reducer).toEqual({
182
- ...initialState,
183
- options: {
184
- 1: [false, false],
185
- },
186
- });
187
- });
188
-
189
- it('Conditions reducer UPDATE_SECTION_CONDITION', () => {
190
- const reducer = conditionsReducer(initialState, {
191
- type: 'UPDATE_SECTION_CONDITION',
192
- document: 'main',
193
- value: false,
194
- id: 1,
195
- });
196
-
197
- expect(reducer).toEqual({
198
- ...initialState,
199
- sections: {
200
- main: {
201
- 1: false,
202
- },
203
- },
204
- });
205
- });
206
-
207
- it('Conditions reducer UPDATE_VARIABLE_CONDITION', () => {
208
- const reducer = conditionsReducer(initialState, {
209
- type: 'UPDATE_VARIABLE_CONDITION',
210
- value: true,
211
- id: 1,
212
- index: 0,
213
- });
214
-
215
- expect(reducer).toEqual({
216
- ...initialState,
217
- variables: {
218
- 1: [true, true],
219
- },
220
- });
221
- });
222
-
223
- it('Conditions reducer UPDATE_PREFILLER_CONDITION', () => {
224
- const reducer = conditionsReducer(initialState, {
225
- type: 'UPDATE_PREFILLER_CONDITION',
226
- value: [false, true],
227
- id: 1,
228
- index: 0,
229
- });
230
-
231
- expect(reducer).toEqual({
232
- ...initialState,
233
- prefillers: {
234
- 1: [
235
- [false, true],
236
- [false, true],
237
- ],
238
- },
239
- });
240
- });
241
- });
@@ -1,68 +0,0 @@
1
- import { StateType } from "../../types/State.type";
2
- import { ConditionsActions } from "../../types/Actions.type";
3
- import {
4
- INIT_CONDITIONS,
5
- UPDATE_OPTION_CONDITION,
6
- UPDATE_VARIABLE_CONDITION,
7
- UPDATE_SECTION_CONDITION,
8
- UPDATE_PREFILLER_CONDITION,
9
- UPDATE_OPTION_VALIDATOR_CONDITION,
10
- UPDATE_VARIABLE_VALIDATOR_CONDITION,
11
- UPDATE_DOCUMENT_CONDITION,
12
- } from "../constants/conditions";
13
- import { updateOptionConditionReducer } from "./conditions/updateOptionConditions";
14
- import { updateVariableConditionReducer } from "./conditions/updateVariableConditions";
15
- import { initConditionsReducer } from "./conditions/initConditions";
16
- import { updateSectionConditionReducer } from "./conditions/updateSectionConditions";
17
- import { updateDocumentConditionReducer } from "./conditions/updateDocumentConditions";
18
- import { updatePrefillerConditionReducer } from "./conditions/updatePrefillerConditions";
19
- import {
20
- ADD_MULTIPLE_OCCURENCY,
21
- DELETE_MULTIPLE_OCCURENCY,
22
- } from "../constants/inputs";
23
- import { addMultipleOccurencyReducer } from "./conditions/addMultipleOccurency";
24
- import { updateOptionValidatorConditionReducer } from "./conditions/updateOptionValidatorCondition";
25
- import { updateVariableValidatorConditionReducer } from "./conditions/updateVariableValidatorCondition";
26
- import { deleteMultipleOccurencyReducer } from "./conditions/deleteMultipleOccurency";
27
-
28
- const initialState: StateType.Conditions = {
29
- options: {},
30
- variables: {},
31
- sections: {},
32
- documents: {},
33
- validators: {
34
- options: {},
35
- variables: {},
36
- },
37
- prefillers: {},
38
- };
39
-
40
- const reducersEnum: Record<
41
- string,
42
- (state: StateType.Conditions, action: any) => StateType.Conditions
43
- > = {
44
- [INIT_CONDITIONS]: initConditionsReducer,
45
- [UPDATE_OPTION_CONDITION]: updateOptionConditionReducer,
46
- [UPDATE_VARIABLE_CONDITION]: updateVariableConditionReducer,
47
- [UPDATE_SECTION_CONDITION]: updateSectionConditionReducer,
48
- [UPDATE_DOCUMENT_CONDITION]: updateDocumentConditionReducer,
49
- [UPDATE_PREFILLER_CONDITION]: updatePrefillerConditionReducer,
50
- [UPDATE_OPTION_VALIDATOR_CONDITION]: updateOptionValidatorConditionReducer,
51
- [UPDATE_VARIABLE_VALIDATOR_CONDITION]:
52
- updateVariableValidatorConditionReducer,
53
- [DELETE_MULTIPLE_OCCURENCY]: deleteMultipleOccurencyReducer,
54
- [ADD_MULTIPLE_OCCURENCY]: addMultipleOccurencyReducer,
55
- };
56
-
57
- // eslint-disable-next-line import/prefer-default-export
58
- export const conditionsReducer = (
59
- state: StateType.Conditions = initialState,
60
- action: ConditionsActions
61
- ): StateType.Conditions => {
62
- const reducer = reducersEnum[action.type];
63
-
64
- if (typeof reducer === "function")
65
- return reducer.apply(null, [state, action]);
66
-
67
- return state;
68
- };
@@ -1,117 +0,0 @@
1
- import { OptionV3 } from '@legalplace/models-v3-types';
2
- import { addMultipleOccurencyReducer } from './addMultipleOccurency';
3
- import { StateType } from '../../../types/State.type';
4
-
5
- const state: StateType.Inputs = {
6
- options: {
7
- 2: [true],
8
- 3: [false],
9
- 4: [true],
10
- },
11
- variables: {
12
- 2: [''],
13
- 3: [''],
14
- },
15
- };
16
-
17
- describe('addMultipleOccurencyReducer test suit', () => {
18
- it('Throws an error if optionRelations or optionsReferences are undefined', () => {
19
- expect(() => {
20
- // @ts-ignore: Done on puprose to make sure function validates input
21
- addMultipleOccurencyReducer(state, {
22
- id: 3,
23
- optionRelations: undefined,
24
- optionsReferences: undefined,
25
- });
26
- }).toThrowError(
27
- 'ADD_MULTIPLE_OCCURENCY reducer did not recieve complete data when adding ' +
28
- `occurency for 3, please make sure "multiplesActions" middleware is ` +
29
- 'plugged and working properly'
30
- );
31
- });
32
-
33
- it('Adds a multiple occurency conditions correctly', () => {
34
- const optionRelations = {
35
- options: [],
36
- variables: [],
37
- sections: {},
38
- documents: [],
39
- prefillers: [],
40
- validators: {
41
- options: [],
42
- variables: [],
43
- },
44
- parents: [],
45
- children: {
46
- options: [3, 4],
47
- variables: [2, 3],
48
- },
49
- dependants: [7, 8],
50
- };
51
-
52
- const optionsReferences: Record<string, OptionV3> = {
53
- '2': {
54
- meta: {
55
- id: 2,
56
- type: 'static',
57
- label: 'Multiple question',
58
- step: '*',
59
- tags: [],
60
- defaultRadio: 4,
61
- multiple: {
62
- enabled: true,
63
- },
64
- validator: {},
65
- },
66
- options: [3, 4],
67
- variables: [2, 3],
68
- },
69
- '3': {
70
- meta: {
71
- id: 3,
72
- type: 'radio',
73
- label: 'Option 1',
74
- step: '*',
75
- tags: [],
76
- defaultRadio: 0,
77
- validator: {},
78
- },
79
- options: [],
80
- variables: [],
81
- },
82
- '4': {
83
- meta: {
84
- id: 4,
85
- type: 'radio',
86
- label: 'Option 2',
87
- step: '*',
88
- tags: [],
89
- defaultRadio: 0,
90
- validator: {},
91
- },
92
- options: [],
93
- variables: [],
94
- },
95
- };
96
-
97
- const reducerResult = addMultipleOccurencyReducer(state, {
98
- id: 2,
99
- optionRelations,
100
- optionsReferences,
101
- type: 'ADD_MULTIPLE_OCCURENCY',
102
- });
103
-
104
- expect(reducerResult).toStrictEqual({
105
- options: {
106
- ...state.options,
107
- 2: [true, true],
108
- 3: [false, false],
109
- 4: [true, false],
110
- },
111
- variables: {
112
- 2: ['', ''],
113
- 3: ['', ''],
114
- },
115
- });
116
- });
117
- });
@@ -1,50 +0,0 @@
1
- /* eslint-disable import/prefer-default-export */
2
- import { ActionsType } from "../../../types/Actions.type";
3
- import { StateType } from "../../../types/State.type";
4
-
5
- export const addMultipleOccurencyReducer = (
6
- state: StateType.Inputs,
7
- action: ActionsType.Inputs.addMultipleOccurency
8
- ): StateType.Inputs => {
9
- const { id, optionRelations, optionsReferences } = action;
10
-
11
- if (optionRelations === undefined || optionsReferences === undefined)
12
- throw new Error(
13
- "ADD_MULTIPLE_OCCURENCY reducer did not recieve complete data when adding " +
14
- `occurency for ${id}, please make sure "multiplesActions" middleware is ` +
15
- "plugged and working properly"
16
- );
17
-
18
- // Adding values to input's arrays
19
- const optionsIds: number[] = [id, ...optionRelations.children.options];
20
- const variablesIds: number[] = optionRelations.children.variables;
21
-
22
- // Options list
23
- const options: StateType.Inputs.Options = {};
24
- optionsIds.forEach((currentOptionId) => {
25
- const currentOptionReference = optionsReferences[currentOptionId];
26
- const optionType = currentOptionReference.meta.type;
27
- const defaultValue = !["radio", "checkbox"].includes(optionType);
28
- options[currentOptionId] = [
29
- ...state.options[currentOptionId],
30
- defaultValue,
31
- ];
32
- });
33
-
34
- // Variables list
35
- const variables: StateType.Inputs.Variables = {};
36
- variablesIds.forEach((currentVariableId) => {
37
- variables[currentVariableId] = [...state.variables[currentVariableId], ""];
38
- });
39
-
40
- return {
41
- variables: {
42
- ...state.variables,
43
- ...variables,
44
- },
45
- options: {
46
- ...state.options,
47
- ...options,
48
- },
49
- };
50
- };
@@ -1,70 +0,0 @@
1
- import { deleteMultipleOccurencyReducer } from './deleteMultipleOccurency';
2
- import { StateType } from '../../../types/State.type';
3
-
4
- const state: StateType.Inputs = {
5
- options: {
6
- 2: [true, true, true],
7
- 3: [false, true, true],
8
- 4: [true, true, false],
9
- },
10
- variables: {
11
- 2: ['21', '22', '23'],
12
- 3: ['31', '32', '33'],
13
- },
14
- };
15
-
16
- describe('deleteMultipleOccurencyReducer test suit', () => {
17
- it('Throws an error if optionRelations are undefined', () => {
18
- expect(() => {
19
- // @ts-ignore: Done on purpose to make sure function validates input
20
- deleteMultipleOccurencyReducer(state, {
21
- id: 3,
22
- optionRelations: undefined,
23
- });
24
- }).toThrowError(
25
- 'DELETE_MULTIPLE_OCCURENCY reducer did not recieve complete data when removing ' +
26
- `occurency for 3, please make sure "multiplesActions" middleware is ` +
27
- 'plugged and working properly'
28
- );
29
- });
30
-
31
- it('Deletes a multiple occurency conditions correctly', () => {
32
- const optionRelations = {
33
- options: [],
34
- variables: [],
35
- sections: {},
36
- documents: [],
37
- prefillers: [],
38
- validators: {
39
- options: [],
40
- variables: [],
41
- },
42
- parents: [],
43
- children: {
44
- options: [3, 4],
45
- variables: [2, 3],
46
- },
47
- dependants: [7, 8],
48
- };
49
-
50
- const reducerResult = deleteMultipleOccurencyReducer(state, {
51
- id: 2,
52
- index: 1,
53
- optionRelations,
54
- type: 'DELETE_MULTIPLE_OCCURENCY',
55
- });
56
-
57
- expect(reducerResult).toStrictEqual({
58
- options: {
59
- ...state.options,
60
- 2: [true, true],
61
- 3: [false, true],
62
- 4: [true, false],
63
- },
64
- variables: {
65
- 2: ['21', '23'],
66
- 3: ['31', '33'],
67
- },
68
- });
69
- });
70
- });
@@ -1,50 +0,0 @@
1
- /* eslint-disable import/prefer-default-export */
2
- import { ActionsType } from "../../../types/Actions.type";
3
- import { StateType } from "../../../types/State.type";
4
-
5
- export const deleteMultipleOccurencyReducer = (
6
- state: StateType.Inputs,
7
- action: ActionsType.Inputs.deleteMultipleOccurency
8
- ): StateType.Inputs => {
9
- const { id, index, optionRelations } = action;
10
-
11
- if (optionRelations === undefined)
12
- throw new Error(
13
- "DELETE_MULTIPLE_OCCURENCY reducer did not recieve complete data when removing " +
14
- `occurency for ${id}, please make sure "multiplesActions" middleware is ` +
15
- "plugged and working properly"
16
- );
17
-
18
- // Adding values to input's arrays
19
- const optionsIds: number[] = [id, ...optionRelations.children.options];
20
- const variablesIds: number[] = optionRelations.children.variables;
21
-
22
- // Options list
23
- const options: StateType.Inputs.Options = {};
24
- optionsIds.forEach((currentOptionId) => {
25
- options[currentOptionId] = [
26
- ...state.options[currentOptionId].slice(0, index),
27
- ...state.options[currentOptionId].slice(index + 1),
28
- ];
29
- });
30
-
31
- // Variables list
32
- const variables: StateType.Inputs.Variables = {};
33
- variablesIds.forEach((currentVariableId) => {
34
- variables[currentVariableId] = [
35
- ...state.variables[currentVariableId].slice(0, index),
36
- ...state.variables[currentVariableId].slice(index + 1),
37
- ];
38
- });
39
-
40
- return {
41
- variables: {
42
- ...state.variables,
43
- ...variables,
44
- },
45
- options: {
46
- ...state.options,
47
- ...options,
48
- },
49
- };
50
- };
@@ -1,16 +0,0 @@
1
- import { ActionsType } from "../../../types/Actions.type";
2
- import { StateType } from "../../../types/State.type";
3
-
4
- export const initOptionReducer = (
5
- state: StateType.Inputs,
6
- action: ActionsType.Inputs.initOption
7
- ): StateType.Inputs => {
8
- const { id, values } = action;
9
- return {
10
- ...state,
11
- options: {
12
- ...state.options,
13
- [id]: values,
14
- },
15
- };
16
- };