@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,46 +0,0 @@
1
- import { ActionsType } from "../../../../types/Actions.type";
2
- import { StateType } from "../../../../types/State.type";
3
- import { registerPluginsAppStates } from "../../../../PluginLoader";
4
-
5
- export const initPaginationReducer = (
6
- state: StateType.App,
7
- action: ActionsType.App.initPagination
8
- ): StateType.App => {
9
- const {
10
- currentPage,
11
- currentSectionId,
12
- availableSections,
13
- greatestPage,
14
- currentAppState,
15
- } = action;
16
-
17
- const availableAppStates = registerPluginsAppStates(
18
- action.availableAppStates
19
- );
20
-
21
- // Calculating total pages
22
- const totalPages = availableAppStates.length + availableSections.length - 1;
23
-
24
- // Checking first/last page
25
- const isFirstPage = currentPage === 1;
26
- const isLastPage = currentPage === totalPages;
27
-
28
- return {
29
- ...state,
30
- pagination: {
31
- ...state.pagination,
32
- currentPage,
33
- greatestPage,
34
- availableAppStates,
35
- currentAppState,
36
- totalPages,
37
- isFirstPage,
38
- isLastPage,
39
- },
40
- wizard: {
41
- ...state.wizard,
42
- currentSectionId,
43
- availableSections,
44
- },
45
- };
46
- };
@@ -1,77 +0,0 @@
1
- import { StateType } from "../../../../types/State.type";
2
- import { ActionsType } from "../../../../types/Actions.type";
3
- import { registerPluginsAppStates } from "../../../../PluginLoader";
4
-
5
- // eslint-disable-next-line max-len
6
- export const updateAvailableAppStatesReducer = (
7
- state: StateType.App,
8
- action: ActionsType.App.updateAvailableAppStates
9
- ): StateType.App => {
10
- let availableAppStates;
11
- if (!action.ingorePluginAppStateReset) {
12
- availableAppStates = registerPluginsAppStates(action.availableAppStates);
13
- } else {
14
- availableAppStates = action.availableAppStates;
15
- }
16
-
17
- if (
18
- state.pagination.availableAppStates.reduce((p, c) => p + c, "") ===
19
- availableAppStates.reduce((p, c) => p + c, "")
20
- )
21
- return state;
22
-
23
- // Making sure value has changed before changing the state
24
-
25
- // Calculating total pages
26
- const totalPages =
27
- availableAppStates.length + state.wizard.availableSections.length - 1;
28
-
29
- /**
30
- * Recalculating currentPage
31
- */
32
- let appStates: string[] = [];
33
- availableAppStates.forEach((currentAppState) => {
34
- if (currentAppState === "wizard")
35
- state.wizard.availableSections.forEach(() => {
36
- appStates = [...appStates, "wizard"];
37
- });
38
- else {
39
- appStates = [...appStates, currentAppState];
40
- }
41
- });
42
-
43
- // If currentAppState is still available
44
- // we put its page, otherwise we leave
45
- // the logic to the pagination middleware
46
- // to handle this case
47
- let { currentPage } = state.pagination;
48
- const { currentAppState } = state.pagination;
49
- if (
50
- appStates[currentPage - 1] !== currentAppState &&
51
- appStates.indexOf(state.pagination.currentAppState) > -1
52
- ) {
53
- currentPage = appStates.indexOf(state.pagination.currentAppState) + 1;
54
- } else {
55
- // Making sure currentPage is not superior to totalPages
56
- currentPage =
57
- state.pagination.currentPage <= totalPages
58
- ? state.pagination.currentPage
59
- : totalPages;
60
- }
61
-
62
- // Checking first/last page
63
- const isFirstPage = currentPage === 1;
64
- const isLastPage = currentPage === totalPages;
65
-
66
- return {
67
- ...state,
68
- pagination: {
69
- ...state.pagination,
70
- totalPages,
71
- isFirstPage,
72
- isLastPage,
73
- currentPage,
74
- availableAppStates,
75
- },
76
- };
77
- };
@@ -1,363 +0,0 @@
1
- import { initPaginationReducer } from './pagination/initPagination';
2
- import { goPageReducer } from './pagination/goPage';
3
- import { goNextPageReducer } from './pagination/goNextPage';
4
- import { goPreviousPageReducer } from './pagination/goPreviousPage';
5
- import { StateType } from '../../../types/State.type';
6
-
7
- const appStateMock: StateType.App = {
8
- meta: {
9
- fetchStatus: 'succeeded',
10
- id: 0,
11
- prefix: '',
12
- permalink: 'permalink',
13
- title: 'title',
14
- modelVersion: 1,
15
- productType: 'demarche',
16
- },
17
- wizard: {
18
- availableSections: [1, 2, 3],
19
- currentSectionId: 1,
20
- },
21
- pagination: {
22
- currentPage: 1,
23
- greatestPage: 1,
24
- currentAppState: 'one',
25
- availableAppStates: ['one', 'wizard', 'three', 'four'],
26
- isFirstPage: true,
27
- isLastPage: false,
28
- totalPages: 6,
29
- },
30
- instance: {
31
- dataStatus: 'saved',
32
- uniqid: '3jHD42343sDE',
33
- isPaid: false,
34
- steps: '*',
35
- },
36
- customization: {},
37
- };
38
-
39
- describe('Pagination reducers test suit', () => {
40
- // initPaginationReducer
41
- it('initPaginationReducer', () => {
42
- const state: StateType.App = {
43
- ...appStateMock,
44
- pagination: {
45
- ...appStateMock.pagination,
46
- currentPage: 2,
47
- greatestPage: 2,
48
- },
49
- wizard: {
50
- currentSectionId: 2,
51
- availableSections: [1, 2, 5],
52
- },
53
- };
54
-
55
- const reducer = initPaginationReducer(state, {
56
- type: 'INIT_PAGINATION',
57
- currentSectionId: 1,
58
- currentPage: 3,
59
- greatestPage: 3,
60
- availableSections: [1, 2, 3],
61
- availableAppStates: ['one', 'wizard', 'three', 'four'],
62
- currentAppState: 'one',
63
- });
64
-
65
- return expect(reducer).toStrictEqual({
66
- ...state,
67
- pagination: {
68
- ...state.pagination,
69
- currentPage: 3,
70
- greatestPage: 3,
71
- isFirstPage: false,
72
- isLastPage: false,
73
- },
74
- wizard: {
75
- currentSectionId: 1,
76
- availableSections: [1, 2, 3],
77
- },
78
- });
79
- });
80
-
81
- // goPageReducer
82
- it('goPageReducer move to wizard', () => {
83
- const state: StateType.App = {
84
- ...appStateMock,
85
- pagination: {
86
- ...appStateMock.pagination,
87
- currentPage: 2,
88
- greatestPage: 2,
89
- },
90
- wizard: {
91
- currentSectionId: 2,
92
- availableSections: [1, 2, 5],
93
- },
94
- };
95
-
96
- const reducer = goPageReducer(state, {
97
- type: 'GO_PAGE',
98
- currentPage: 3,
99
- pushHistory: false,
100
- });
101
-
102
- return expect(reducer).toStrictEqual({
103
- ...appStateMock,
104
- pagination: {
105
- ...appStateMock.pagination,
106
- currentPage: 3,
107
- greatestPage: 3,
108
- isFirstPage: false,
109
- isLastPage: false,
110
- currentAppState: 'wizard',
111
- },
112
- wizard: {
113
- ...appStateMock.wizard,
114
- currentSectionId: 2,
115
- availableSections: [1, 2, 5],
116
- },
117
- });
118
- });
119
-
120
- // goPageReducer
121
- it('goPageReducer go to "one"', () => {
122
- const state: StateType.App = {
123
- ...appStateMock,
124
- pagination: {
125
- ...appStateMock.pagination,
126
- currentPage: 2,
127
- greatestPage: 4,
128
- },
129
- };
130
- const reducer = goPageReducer(state, {
131
- type: 'GO_PAGE',
132
- currentPage: 1,
133
- pushHistory: false,
134
- });
135
-
136
- return expect(reducer).toStrictEqual({
137
- ...appStateMock,
138
- pagination: {
139
- ...appStateMock.pagination,
140
- currentPage: 1,
141
- greatestPage: 4,
142
- isFirstPage: true,
143
- isLastPage: false,
144
- currentAppState: 'one',
145
- },
146
- });
147
- });
148
-
149
- // goPageReducer
150
- it('goPageReducer go to "three"', () => {
151
- const state: StateType.App = {
152
- ...appStateMock,
153
- pagination: {
154
- ...appStateMock.pagination,
155
- currentPage: 2,
156
- greatestPage: 3,
157
- },
158
- };
159
- const reducer = goPageReducer(state, {
160
- type: 'GO_PAGE',
161
- currentPage: 5,
162
- pushHistory: false,
163
- });
164
-
165
- return expect(reducer).toStrictEqual({
166
- ...appStateMock,
167
- pagination: {
168
- ...appStateMock.pagination,
169
- currentPage: 5,
170
- greatestPage: 5,
171
- isFirstPage: false,
172
- isLastPage: false,
173
- currentAppState: 'three',
174
- },
175
- wizard: {
176
- ...state.wizard,
177
- currentSectionId: 3,
178
- },
179
- });
180
- });
181
-
182
- // goNextPageReducer
183
- it('goNextPageReducer from 0 to "one"', () => {
184
- const state: StateType.App = {
185
- ...appStateMock,
186
- pagination: {
187
- ...appStateMock.pagination,
188
- currentPage: 0,
189
- greatestPage: 5,
190
- },
191
- wizard: {
192
- currentSectionId: 1,
193
- availableSections: [1, 4, 3],
194
- },
195
- };
196
-
197
- const reducer = goNextPageReducer(state);
198
-
199
- return expect(reducer).toStrictEqual({
200
- ...state,
201
- pagination: {
202
- ...state.pagination,
203
- currentPage: 1,
204
- greatestPage: 5,
205
- isFirstPage: false,
206
- currentAppState: 'one',
207
- },
208
- wizard: {
209
- ...state.wizard,
210
- currentSectionId: 1,
211
- },
212
- });
213
- });
214
-
215
- // goNextPageReducer
216
- it('goNextPageReducer from "wizard to "three"', () => {
217
- const state: StateType.App = {
218
- ...appStateMock,
219
- pagination: {
220
- ...appStateMock.pagination,
221
- currentPage: 4,
222
- greatestPage: 5,
223
- currentAppState: 'wizard',
224
- },
225
- wizard: {
226
- currentSectionId: 3,
227
- availableSections: [1, 4, 3],
228
- },
229
- };
230
-
231
- const reducer = goNextPageReducer(state);
232
-
233
- return expect(reducer).toStrictEqual({
234
- ...state,
235
- pagination: {
236
- ...state.pagination,
237
- currentPage: 5,
238
- greatestPage: 5,
239
- isFirstPage: false,
240
- currentAppState: 'three',
241
- },
242
- wizard: {
243
- ...state.wizard,
244
- currentSectionId: 3,
245
- },
246
- });
247
- });
248
-
249
- // goNextPageReducer
250
- it('goNextPageReducer should not change state on last page', () => {
251
- const state: StateType.App = {
252
- ...appStateMock,
253
- pagination: {
254
- ...appStateMock.pagination,
255
- currentPage: 6,
256
- greatestPage: 6,
257
- currentAppState: 'four',
258
- },
259
- wizard: {
260
- currentSectionId: 3,
261
- availableSections: [1, 4, 3],
262
- },
263
- };
264
-
265
- const reducer = goNextPageReducer(state);
266
-
267
- return expect(reducer).toEqual(state);
268
- });
269
-
270
- // goPreviousPageReducer
271
- it('goPreviousPageReducer when page > 1', () => {
272
- const state: StateType.App = {
273
- ...appStateMock,
274
- pagination: {
275
- ...appStateMock.pagination,
276
- currentPage: 2,
277
- greatestPage: 5,
278
- },
279
- wizard: {
280
- currentSectionId: 2,
281
- availableSections: [1, 2, 3],
282
- },
283
- };
284
-
285
- const reducer = goPreviousPageReducer(state);
286
-
287
- return expect(reducer).toStrictEqual({
288
- ...state,
289
- pagination: {
290
- ...state.pagination,
291
- currentPage: 1,
292
- greatestPage: 5,
293
- },
294
- wizard: {
295
- ...state.wizard,
296
- currentSectionId: 1,
297
- },
298
- });
299
- });
300
-
301
- // goPreviousPageReducer
302
- it('goPreviousPageReducer when page =< 1', () => {
303
- const currentState: StateType.App = {
304
- ...appStateMock,
305
- pagination: {
306
- ...appStateMock.pagination,
307
- currentPage: 1,
308
- greatestPage: 2,
309
- },
310
- wizard: {
311
- currentSectionId: 1,
312
- availableSections: [1, 2, 3],
313
- },
314
- };
315
-
316
- const reducer = goPreviousPageReducer(currentState);
317
-
318
- return expect(reducer).toStrictEqual({
319
- ...currentState,
320
- pagination: {
321
- ...currentState.pagination,
322
- currentPage: 1,
323
- greatestPage: 2,
324
- },
325
- wizard: {
326
- ...currentState.wizard,
327
- currentSectionId: 1,
328
- },
329
- });
330
- });
331
-
332
- // goPreviousPageReducer
333
- it('goPreviousPageReducer from "four" to "three"', () => {
334
- const currentState: StateType.App = {
335
- ...appStateMock,
336
- pagination: {
337
- ...appStateMock.pagination,
338
- currentPage: 6,
339
- greatestPage: 6,
340
- currentAppState: 'four',
341
- isFirstPage: false,
342
- isLastPage: true,
343
- },
344
- wizard: {
345
- currentSectionId: 3,
346
- availableSections: [1, 2, 3],
347
- },
348
- };
349
-
350
- const reducer = goPreviousPageReducer(currentState);
351
-
352
- return expect(reducer).toStrictEqual({
353
- ...currentState,
354
- pagination: {
355
- ...currentState.pagination,
356
- currentPage: 5,
357
- greatestPage: 6,
358
- currentAppState: 'three',
359
- isLastPage: false,
360
- },
361
- });
362
- });
363
- });
@@ -1,40 +0,0 @@
1
- import { StateType } from "../../../../types/State.type";
2
- import { ActionsType } from "../../../../types/Actions.type";
3
-
4
- // eslint-disable-next-line max-len
5
- export const updateAvailableSectionsReducer = (
6
- state: StateType.App,
7
- action: ActionsType.App.updateAvailableSections
8
- ): StateType.App => {
9
- const { availableSections } = action;
10
-
11
- // Making sure value has changed before changing the state
12
- if (
13
- state.wizard.availableSections.reduce((p, c) => p + c, "") ===
14
- availableSections.reduce((p, c) => p + c, "")
15
- )
16
- return state;
17
-
18
- // Calculating total pages
19
- const totalPages =
20
- state.pagination.availableAppStates.length + availableSections.length - 1;
21
-
22
- // Checking first/last page
23
- const isFirstPage = state.pagination.currentPage === 1;
24
- const isLastPage =
25
- state.pagination.currentPage === state.pagination.totalPages;
26
-
27
- return {
28
- ...state,
29
- pagination: {
30
- ...state.pagination,
31
- totalPages,
32
- isFirstPage,
33
- isLastPage,
34
- },
35
- wizard: {
36
- ...state.wizard,
37
- availableSections,
38
- },
39
- };
40
- };
@@ -1,84 +0,0 @@
1
- import { updateAvailableSectionsReducer } from './wizard/updateAvailableSections';
2
- import { StateType } from '../../../types/State.type';
3
-
4
- const appStateMock: StateType.App = {
5
- meta: {
6
- fetchStatus: 'succeeded',
7
- id: 0,
8
- prefix: '',
9
- permalink: 'permalink',
10
- title: 'title',
11
- modelVersion: 1,
12
- productType: 'demarche',
13
- },
14
- wizard: {
15
- availableSections: [1, 2, 3],
16
- currentSectionId: 1,
17
- },
18
- pagination: {
19
- currentPage: 1,
20
- greatestPage: 1,
21
- currentAppState: 'wizard',
22
- availableAppStates: ['wizard', 'termsheet'],
23
- isFirstPage: true,
24
- isLastPage: false,
25
- totalPages: 4,
26
- },
27
- instance: {
28
- dataStatus: 'saved',
29
- uniqid: '3jHD42343sDE',
30
- isPaid: false,
31
- steps: '*',
32
- },
33
- customization: {},
34
- };
35
-
36
- describe('Wizard reducers test suit', () => {
37
- // updateAvailableSectionsReducer
38
- it('updateAvailableSectionsReducer', () => {
39
- const state = {
40
- ...appStateMock,
41
- wizard: {
42
- ...appStateMock.wizard,
43
- availableSections: [1, 2, 3],
44
- currentSectionId: 1,
45
- },
46
- };
47
-
48
- const reducer = updateAvailableSectionsReducer(state, {
49
- type: 'UPDATE_AVAILABLE_SECTIONS',
50
- availableSections: [1, 4, 5, 6],
51
- });
52
-
53
- return expect(reducer).toStrictEqual({
54
- ...appStateMock,
55
- pagination: {
56
- ...appStateMock.pagination,
57
- totalPages: 5,
58
- },
59
- wizard: {
60
- currentSectionId: 1,
61
- availableSections: [1, 4, 5, 6],
62
- },
63
- });
64
- });
65
-
66
- // updateAvailableSectionsReducer
67
- it('updateAvailableSectionsReducer should not update state if sections did not change', () => {
68
- const state = {
69
- ...appStateMock,
70
- wizard: {
71
- ...appStateMock.wizard,
72
- availableSections: [1, 2, 3],
73
- currentSectionId: 1,
74
- },
75
- };
76
-
77
- const reducer = updateAvailableSectionsReducer(state, {
78
- type: 'UPDATE_AVAILABLE_SECTIONS',
79
- availableSections: [1, 2, 3],
80
- });
81
-
82
- return expect(reducer).toEqual(state);
83
- });
84
- });