@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha

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 (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  5. package/dist/components/CollectionPage/CollectionPage.js +73 -63
  6. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
  9. package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
  11. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  12. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  13. package/dist/components/CollectionSummary/RenderListView.js +45 -51
  14. package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
  15. package/dist/components/CollectionSummary/SummaryCard.js +104 -135
  16. package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
  17. package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
  18. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
  19. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
  20. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
  21. package/dist/components/FormComponent/Collection.js +74 -108
  22. package/dist/components/FormComponent/Collection.test.js +909 -1081
  23. package/dist/components/FormComponent/Container.js +40 -38
  24. package/dist/components/FormComponent/Container.test.js +314 -345
  25. package/dist/components/FormComponent/FormComponent.js +69 -72
  26. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  27. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  28. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  29. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  30. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  31. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  32. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  33. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  34. package/dist/components/FormComponent/helpers/index.js +4 -4
  35. package/dist/components/FormPage/FormPage.js +65 -80
  36. package/dist/components/FormPage/FormPage.test.js +127 -163
  37. package/dist/components/FormRenderer/FormRenderer.js +143 -179
  38. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  39. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  40. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  41. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  42. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  43. package/dist/components/FormRenderer/handlers/index.js +1 -1
  44. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  45. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  46. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  47. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  48. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  49. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  50. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  51. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  52. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  53. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  54. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  55. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  56. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  57. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  58. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  59. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  60. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  61. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  62. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  63. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  64. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  65. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  66. package/dist/components/FormRenderer/helpers/index.js +2 -4
  67. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  68. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  69. package/dist/components/FormRenderer/onPageAction.js +44 -47
  70. package/dist/components/FormRenderer/onPageAction.test.js +223 -213
  71. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  72. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  73. package/dist/components/PageActions/ActionButton.js +12 -15
  74. package/dist/components/PageActions/ActionButton.test.js +56 -78
  75. package/dist/components/PageActions/PageActions.js +10 -10
  76. package/dist/components/PageActions/PageActions.test.js +86 -115
  77. package/dist/components/SummaryList/GroupAction.js +9 -17
  78. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  79. package/dist/components/SummaryList/RowAction.js +11 -16
  80. package/dist/components/SummaryList/RowAction.test.js +37 -33
  81. package/dist/components/SummaryList/SummaryList.js +21 -26
  82. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  83. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  84. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  85. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  86. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  87. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  88. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  89. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  90. package/dist/components/SummaryList/helpers/index.js +1 -1
  91. package/dist/components/TaskList/Task.js +19 -29
  92. package/dist/components/TaskList/Task.test.js +83 -76
  93. package/dist/components/TaskList/TaskList.js +45 -71
  94. package/dist/components/TaskList/TaskList.test.js +113 -111
  95. package/dist/components/TaskList/TaskState.js +7 -5
  96. package/dist/components/TaskList/TaskState.test.js +52 -45
  97. package/dist/components/index.js +7 -7
  98. package/dist/context/HooksContext/HooksContext.js +57 -80
  99. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  100. package/dist/context/HooksContext/index.js +3 -4
  101. package/dist/context/ValidationContext/ValidationContext.js +43 -94
  102. package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
  103. package/dist/context/ValidationContext/index.js +3 -4
  104. package/dist/context/index.js +2 -2
  105. package/dist/hooks/index.js +9 -10
  106. package/dist/hooks/useAxios.js +14 -40
  107. package/dist/hooks/useGetRequest.js +61 -97
  108. package/dist/hooks/useHooks.js +1 -3
  109. package/dist/hooks/useRefData.js +26 -39
  110. package/dist/hooks/useValidation.js +1 -3
  111. package/dist/index.js +13 -14
  112. package/dist/models/CollectionLabels.js +1 -1
  113. package/dist/models/ComponentTypes.js +25 -25
  114. package/dist/models/EventTypes.js +4 -4
  115. package/dist/models/FormPages.js +4 -4
  116. package/dist/models/FormTypes.js +8 -8
  117. package/dist/models/HubFormats.js +3 -3
  118. package/dist/models/PageAction.js +44 -38
  119. package/dist/models/TaskStates.js +29 -28
  120. package/dist/models/index.js +9 -9
  121. package/dist/setupTests.js +30 -31
  122. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  123. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  124. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  125. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  126. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  127. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  128. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  129. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  130. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  131. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  132. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  133. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  134. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  135. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  136. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  137. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  138. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  139. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  140. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  141. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  142. package/dist/utils/CheckYourAnswers/index.js +1 -1
  143. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  144. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  145. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  146. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  147. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  148. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  149. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
  150. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
  151. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  152. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  153. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  154. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  155. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  156. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  157. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  158. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
  159. package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
  160. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  161. package/dist/utils/CollectionPage/index.js +1 -1
  162. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  163. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  164. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  165. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  166. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  167. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  168. package/dist/utils/Component/addShowWhen.js +4 -8
  169. package/dist/utils/Component/addShowWhen.test.js +37 -37
  170. package/dist/utils/Component/applyToComponentTree.js +18 -18
  171. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  172. package/dist/utils/Component/cleanAttributes.js +10 -13
  173. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  174. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  175. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  176. package/dist/utils/Component/getComponent.js +88 -94
  177. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  178. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  179. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  180. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  181. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  182. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  183. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  184. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  185. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  186. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  187. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  188. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  189. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  190. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  191. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  192. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  193. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  196. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  197. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  198. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  199. package/dist/utils/Component/getDefaultValue.js +6 -8
  200. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  201. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  202. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  203. package/dist/utils/Component/index.js +1 -1
  204. package/dist/utils/Component/isEditable.js +2 -4
  205. package/dist/utils/Component/isEditable.test.js +14 -15
  206. package/dist/utils/Component/optionIsSelected.js +1 -1
  207. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  208. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  209. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  210. package/dist/utils/Component/showComponent.js +1 -1
  211. package/dist/utils/Component/showComponent.test.js +28 -28
  212. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  213. package/dist/utils/Condition/index.js +1 -1
  214. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  215. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  216. package/dist/utils/Condition/meetsCondition.js +16 -25
  217. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  218. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  219. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  220. package/dist/utils/Condition/setupConditions.js +13 -18
  221. package/dist/utils/Condition/setupConditions.test.js +7 -7
  222. package/dist/utils/Container/getEditableComponents.js +3 -5
  223. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  224. package/dist/utils/Container/index.js +1 -1
  225. package/dist/utils/Container/setupNesting.js +16 -20
  226. package/dist/utils/Container/setupNesting.test.js +27 -30
  227. package/dist/utils/Container/showContainer.js +3 -7
  228. package/dist/utils/Container/showContainer.test.js +30 -30
  229. package/dist/utils/Data/applyFormula.js +38 -48
  230. package/dist/utils/Data/applyFormula.test.js +20 -20
  231. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  232. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  233. package/dist/utils/Data/getDataPath.js +18 -28
  234. package/dist/utils/Data/getDataPath.test.js +12 -12
  235. package/dist/utils/Data/getOptions.js +24 -30
  236. package/dist/utils/Data/getOptions.test.js +27 -27
  237. package/dist/utils/Data/getSourceData.js +6 -19
  238. package/dist/utils/Data/getSourceData.test.js +84 -80
  239. package/dist/utils/Data/index.js +1 -1
  240. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  241. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  242. package/dist/utils/Data/refDataToOptions.js +10 -13
  243. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  244. package/dist/utils/Data/setDataItem.js +7 -8
  245. package/dist/utils/Data/setDataItem.test.js +37 -37
  246. package/dist/utils/Data/setupFormData.js +13 -21
  247. package/dist/utils/Data/setupFormData.test.js +51 -50
  248. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  249. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  250. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  251. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  252. package/dist/utils/FormPage/getConditionalText.js +3 -3
  253. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  254. package/dist/utils/FormPage/getFormPage.js +15 -16
  255. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  256. package/dist/utils/FormPage/getFormPages.js +7 -12
  257. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  258. package/dist/utils/FormPage/getPageActions.js +9 -15
  259. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  260. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  261. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  262. package/dist/utils/FormPage/index.js +2 -4
  263. package/dist/utils/FormPage/showFormPage.js +3 -7
  264. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  265. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  266. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  267. package/dist/utils/FormPage/useComponent.js +21 -28
  268. package/dist/utils/FormPage/useComponent.test.js +77 -79
  269. package/dist/utils/Format/formatData.js +1 -1
  270. package/dist/utils/Format/formatData.test.js +18 -18
  271. package/dist/utils/Format/formatDataForComponent.js +5 -6
  272. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  273. package/dist/utils/Format/formatDataForForm.js +6 -8
  274. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  275. package/dist/utils/Format/formatDataForPage.js +4 -5
  276. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  277. package/dist/utils/Format/index.js +1 -1
  278. package/dist/utils/Hub/getFormHub.js +1 -1
  279. package/dist/utils/Hub/getFormHub.test.js +28 -31
  280. package/dist/utils/Hub/index.js +1 -1
  281. package/dist/utils/Meta/constants.js +2 -2
  282. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  283. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  284. package/dist/utils/Meta/documents/index.js +1 -1
  285. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  286. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  287. package/dist/utils/Meta/index.js +1 -1
  288. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  289. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  290. package/dist/utils/Operate/getFirstOf.js +5 -5
  291. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  292. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  293. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  294. package/dist/utils/Operate/index.js +1 -1
  295. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  296. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  297. package/dist/utils/Operate/runPageOperations.js +7 -7
  298. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  299. package/dist/utils/Operate/setValueInFormData.js +2 -2
  300. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  301. package/dist/utils/Operate/shouldRun.js +6 -6
  302. package/dist/utils/Operate/shouldRun.test.js +21 -27
  303. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  304. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  305. package/dist/utils/Validate/additional/index.js +6 -6
  306. package/dist/utils/Validate/additional/index.test.js +12 -12
  307. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  308. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  309. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  310. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  311. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  312. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  313. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  314. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  315. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  317. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  318. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  319. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  320. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  321. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  322. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  323. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  325. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  326. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  327. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  328. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  329. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  330. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  331. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  332. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  334. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  335. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  336. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  337. package/dist/utils/Validate/additional/utils.js +9 -22
  338. package/dist/utils/Validate/index.js +1 -1
  339. package/dist/utils/Validate/validateCollection.js +19 -25
  340. package/dist/utils/Validate/validateCollection.test.js +74 -66
  341. package/dist/utils/Validate/validateComponent.js +17 -15
  342. package/dist/utils/Validate/validateComponent.test.js +167 -146
  343. package/dist/utils/Validate/validateContainer.js +15 -20
  344. package/dist/utils/Validate/validateContainer.test.js +58 -52
  345. package/dist/utils/Validate/validateDate.js +15 -21
  346. package/dist/utils/Validate/validateDate.test.js +31 -32
  347. package/dist/utils/Validate/validateEmail.js +6 -8
  348. package/dist/utils/Validate/validateEmail.test.js +25 -25
  349. package/dist/utils/Validate/validateMultifile.js +5 -7
  350. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  351. package/dist/utils/Validate/validatePage.js +19 -22
  352. package/dist/utils/Validate/validatePage.test.js +215 -203
  353. package/dist/utils/Validate/validateRegex.js +3 -5
  354. package/dist/utils/Validate/validateRegex.test.js +14 -14
  355. package/dist/utils/Validate/validateRequired.js +4 -6
  356. package/dist/utils/Validate/validateRequired.test.js +18 -18
  357. package/dist/utils/Validate/validateTextArea.js +4 -6
  358. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  359. package/dist/utils/Validate/validateTime.js +11 -18
  360. package/dist/utils/Validate/validateTime.test.js +16 -16
  361. package/dist/utils/index.js +7 -9
  362. package/package.json +2 -2
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -1,205 +0,0 @@
1
- {
2
- "id": "deb97e25-c4e4-11ee-8f7e-2e10af5884e4",
3
- "businessKey": "DEV-20240206-415",
4
- "modeOfTransport": {
5
- "id": 2,
6
- "mode": "Scheduled Air Passenger",
7
- "modecode": "airpass",
8
- "crossingtype": [
9
- "air"
10
- ],
11
- "value": "Scheduled Air Passenger",
12
- "label": "Scheduled Air Passenger"
13
- },
14
- "port": {
15
- "id": 3415,
16
- "name": "Luton",
17
- "sea": false,
18
- "air": true,
19
- "land": false,
20
- "rail": false,
21
- "countryid": 234,
22
- "iata": "LTN",
23
- "value": "3415",
24
- "label": "Luton"
25
- },
26
- "formStatus": {
27
- "tasks": {
28
- "undefined": {},
29
- "Enter event details": {
30
- "complete": true,
31
- "currentPage": "eventDetailsCya"
32
- },
33
- "Enter item and storage details": {
34
- "complete": true,
35
- "currentPage": "whatHappensNext"
36
- },
37
- "Journey-details-item-abandoned": {
38
- "complete": true,
39
- "currentPage": "journeyCya"
40
- },
41
- "Accept and submit": {
42
- "complete": false,
43
- "currentPage": "submitForm"
44
- }
45
- },
46
- "taskPage": "submitForm"
47
- },
48
- "formInstanceId": "bc81a157-cbd9-4c14-87fb-3b52d02bf71d",
49
- "links": [
50
- {
51
- "method": "GET",
52
- "href": "https://blue.dev.cop.homeoffice.gov.uk/camunda/engine-rest/process-instance/deb97e25-c4e4-11ee-8f7e-2e10af5884e4",
53
- "rel": "self"
54
- }
55
- ],
56
- "definitionId": "cop-addABorderEvent:9:113b6e67-b48d-11ee-8088-52b814b55f74",
57
- "caseInstanceId": null,
58
- "ended": false,
59
- "suspended": false,
60
- "tenantId": null,
61
- "whatHappened": "items",
62
- "eventDateTime": {
63
- "eventDate": "06-02-2024",
64
- "eventTime": "01:01"
65
- },
66
- "terminal": {
67
- "id": 9,
68
- "name": "Western Docks",
69
- "validfrom": "2019-01-01T00:01:00.000Z",
70
- "validto": null,
71
- "updatedby": null,
72
- "value": "9",
73
- "label": "Western Docks"
74
- },
75
- "subLocation": {
76
- "id": 10,
77
- "sublocation": "Warehouse",
78
- "description": null,
79
- "validfrom": "2021-05-07T00:00:03.000Z",
80
- "validto": null,
81
- "updatedby": "BethStephenson",
82
- "uoflocation": false,
83
- "value": "10",
84
- "label": "Warehouse"
85
- },
86
- "centaurReference": "E1234567",
87
- "leadOfficerEmail": {
88
- "email": "jyoti.shetty@digital.homeoffice.gov.uk",
89
- "label": "jyoti.shetty@digital.homeoffice.gov.uk",
90
- "value": "jyoti.shetty@digital.homeoffice.gov.uk",
91
- "defaultteamid": "de8053bf-8ce6-4e60-a4a1-de6862fe158f"
92
- },
93
- "officerEmails": [],
94
- "operationOrExercise": "no",
95
- "itemsActiveId": "1707219813475",
96
- "itemsNumberedIndex": 1,
97
- "items": [
98
- {
99
- "id": "1707219813475",
100
- "sealNumber": "876dsadadad",
101
- "exhibitReference": "Exh123",
102
- "itemCategory": {
103
- "id": 8,
104
- "category": "Firearms",
105
- "description": "Both lethal and non-lethal firearms.",
106
- "validfrom": "2023-01-10T00:00:01.000Z",
107
- "validto": null,
108
- "updatedby": "Mohammed Abdul Odud",
109
- "synonyms": [
110
- "'Guns'"
111
- ],
112
- "value": "8",
113
- "label": "Firearms"
114
- },
115
- "itemSubCategory": {
116
- "id": 1426,
117
- "name": "Military weapons component",
118
- "description": null,
119
- "itemcategoriesid": 8,
120
- "cites": false,
121
- "poao": false,
122
- "cbrn": false,
123
- "document": false,
124
- "tobacco": false,
125
- "alcohol": false,
126
- "weapons": false,
127
- "firearms": true,
128
- "ipr": true,
129
- "strategic": false,
130
- "avtc": false,
131
- "oils": false,
132
- "commodity": false,
133
- "good": false,
134
- "plant": false,
135
- "animal": false,
136
- "drugs": false,
137
- "financial": false,
138
- "indecent": false,
139
- "vehicle": false,
140
- "medical": false,
141
- "unitid": 5,
142
- "seizureqty": null,
143
- "ienqty": null,
144
- "validfrom": "2023-01-10T00:00:01.000Z",
145
- "validto": null,
146
- "updatedby": "Mohammed Abdul Odud",
147
- "uof": false,
148
- "epmscode": 1024,
149
- "epmscategory": "ARP",
150
- "unitarray": [
151
- 5
152
- ],
153
- "categoryarray": [
154
- 8,
155
- 9
156
- ],
157
- "lethalfirearm": null,
158
- "nonlethalfirearm": null,
159
- "value": "1426",
160
- "label": "Military weapons component"
161
- },
162
- "seizedOrDetained": "detained",
163
- "legalReasonForDetaining": {
164
- "id": 3,
165
- "epmsvalue": 18,
166
- "reason": "Immigration Act",
167
- "description": "Immigration Act",
168
- "validfrom": "2022-09-21T00:00:01.000Z",
169
- "validto": null,
170
- "updatedby": "Mohammed Abdul Odud",
171
- "value": "3",
172
- "label": "Immigration Act"
173
- },
174
- "whatIsTheInitialMovement?": {
175
- "id": 3,
176
- "epmscode": 5,
177
- "description": "Sent For Forensic Examination",
178
- "inuse": true,
179
- "validfrom": "2022-08-18T00:00:01.000Z",
180
- "validto": null,
181
- "updatedby": "Mohammed Abdul Odud",
182
- "value": "3",
183
- "label": "Sent For Forensic Examination"
184
- },
185
- "giveAReason": "sadad"
186
- }
187
- ],
188
- "lockup": {
189
- "value": "LTN",
190
- "label": "Luton Airport Lockup",
191
- "hidden": true
192
- },
193
- "epmsSubmitted": true,
194
- "doYouHaveTheirFlightNumber": "no",
195
- "form": {
196
- "formVersionId": "ed41c96b78388228eb887927e45dc8a150a8b333",
197
- "title": "Add a border event",
198
- "name": "cop-addABorderEvent",
199
- "submissionDate": "2024-02-06T11:53:56.499Z",
200
- "submittedBy": "jyoti.shetty@digital.homeoffice.gov.uk",
201
- "submittingUsersName": "Jyoti",
202
- "submissionTeam": "de8053bf-8ce6-4e60-a4a1-de6862fe158f",
203
- "formInstanceId": "bc81a157-cbd9-4c14-87fb-3b52d02bf71d"
204
- }
205
- }
@@ -1,206 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _mergeCollectionPages = _interopRequireDefault(require("../../../utils/CollectionPage/mergeCollectionPages"));
8
- var _deleteNodeByPath = _interopRequireDefault(require("./deleteNodeByPath"));
9
- var _optionIsSelected = _interopRequireDefault(require("../../../utils/Component/optionIsSelected"));
10
- var _Condition = _interopRequireDefault(require("../../../utils/Condition"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- /* eslint-disable no-param-reassign */
13
-
14
- var showComponentIncludeHiddenAndDisabled = function showComponentIncludeHiddenAndDisabled(component, data) {
15
- var _component$show_when;
16
- if (!component) {
17
- return false;
18
- }
19
- if (((_component$show_when = component.show_when) === null || _component$show_when === void 0 ? void 0 : _component$show_when.type) === "or") {
20
- return _Condition.default.meetsOne(component, data);
21
- }
22
- return _Condition.default.meetsAll(component, data);
23
- };
24
- var recurseCheckForHiddenComponents = function recurseCheckForHiddenComponents(component, formData, path, candidateComponentForDeletion) {
25
- path = path ? "".concat(path, ".").concat(component.fieldId) : component.fieldId;
26
- if (component) {
27
- if (component.components) {
28
- var _component$components;
29
- (_component$components = component.components) === null || _component$components === void 0 || _component$components.forEach(function (c) {
30
- recurseCheckForHiddenComponents(c, formData, path, candidateComponentForDeletion);
31
- });
32
- } else if (showComponentIncludeHiddenAndDisabled(component, formData)) {
33
- var _component$data;
34
- if (component !== null && component !== void 0 && (_component$data = component.data) !== null && _component$data !== void 0 && _component$data.options) {
35
- var _component$data2;
36
- component === null || component === void 0 || (_component$data2 = component.data) === null || _component$data2 === void 0 || (_component$data2 = _component$data2.options) === null || _component$data2 === void 0 || _component$data2.forEach(function (option) {
37
- if (!(0, _optionIsSelected.default)(formData[component.id], option) && option.nested) {
38
- option.nested.forEach(function (nested) {
39
- path = nested.fieldId;
40
- if (path) {
41
- candidateComponentForDeletion.set(path, component);
42
- }
43
- });
44
- }
45
- });
46
- }
47
- } else if (!showComponentIncludeHiddenAndDisabled(component, formData)) {
48
- if (path) {
49
- candidateComponentForDeletion.set(path, component);
50
- }
51
- }
52
- }
53
- };
54
- var buildListOfComponentsUsedInVisiblePages = function buildListOfComponentsUsedInVisiblePages(page, form, formData, componentsUsedInVisiblePagesIds) {
55
- var _page$components;
56
- (_page$components = page.components) === null || _page$components === void 0 || _page$components.forEach(function (component) {
57
- var _ref, _form$components$find;
58
- var componentObj = (_ref = (_form$components$find = form.components.find(function (c) {
59
- return c.fieldId === component.use;
60
- })) !== null && _form$components$find !== void 0 ? _form$components$find : form.components.find(function (c) {
61
- return c.id === component.use;
62
- })) !== null && _ref !== void 0 ? _ref : component;
63
- if (page && showComponentIncludeHiddenAndDisabled(page, formData)) {
64
- if (componentObj && showComponentIncludeHiddenAndDisabled(componentObj, formData)) {
65
- if (componentObj.fieldId) {
66
- componentsUsedInVisiblePagesIds.push(componentObj.fieldId);
67
- } else if (componentObj.id) {
68
- componentsUsedInVisiblePagesIds.push(componentObj.id);
69
- }
70
- }
71
- }
72
- });
73
- };
74
- var recursePopulateComponentPaths = function recursePopulateComponentPaths(component, formData, path, componentPaths, checkIfHidden) {
75
- path = path ? "".concat(path, ".").concat(component.fieldId) : component.fieldId;
76
- if (component) {
77
- if (component.components) {
78
- var _component$components2;
79
- (_component$components2 = component.components) === null || _component$components2 === void 0 || _component$components2.forEach(function (c) {
80
- recursePopulateComponentPaths(c, formData, path, componentPaths);
81
- });
82
- } else if (path) {
83
- if (checkIfHidden) {
84
- if (showComponentIncludeHiddenAndDisabled(component, formData)) {
85
- componentPaths.push(path);
86
- }
87
- } else {
88
- componentPaths.push(path);
89
- }
90
- }
91
- }
92
- };
93
- var markComponentsForDeletion = function markComponentsForDeletion(page, form, formData, candidateComponentForDeletion, componentsUsedInVisiblePages) {
94
- var _page$components2;
95
- if (page.disableClearWhenHidden) {
96
- return;
97
- }
98
- (_page$components2 = page.components) === null || _page$components2 === void 0 || _page$components2.forEach(function (component) {
99
- var _ref2, _form$components$find2;
100
- var componentObj = (_ref2 = (_form$components$find2 = form.components.find(function (c) {
101
- return c.fieldId === component.use;
102
- })) !== null && _form$components$find2 !== void 0 ? _form$components$find2 : form.components.find(function (c) {
103
- return c.id === component.use;
104
- })) !== null && _ref2 !== void 0 ? _ref2 : component;
105
- if (page && showComponentIncludeHiddenAndDisabled(page, formData)) {
106
- buildListOfComponentsUsedInVisiblePages(page, form, formData, componentsUsedInVisiblePages);
107
- recurseCheckForHiddenComponents(componentObj, formData, null, candidateComponentForDeletion);
108
- } else {
109
- if (componentObj.fieldId) {
110
- candidateComponentForDeletion.set(componentObj.fieldId, componentObj);
111
- }
112
- if (componentObj.id) {
113
- candidateComponentForDeletion.set(componentObj.id, componentObj);
114
- }
115
- }
116
- });
117
- };
118
- var populateComponentPaths = function populateComponentPaths(page, form, collectionData, formData, nonDeleteComponentPaths, allComponentPaths) {
119
- if (page) {
120
- var _page$components4;
121
- if (showComponentIncludeHiddenAndDisabled(page, formData) || showComponentIncludeHiddenAndDisabled(page, collectionData)) {
122
- var _page$components3;
123
- (_page$components3 = page.components) === null || _page$components3 === void 0 || _page$components3.forEach(function (component) {
124
- var _ref3, _form$components$find3;
125
- var componentObj = (_ref3 = (_form$components$find3 = form.components.find(function (c) {
126
- return c.fieldId === component.use;
127
- })) !== null && _form$components$find3 !== void 0 ? _form$components$find3 : form.components.find(function (c) {
128
- return c.id === component.use;
129
- })) !== null && _ref3 !== void 0 ? _ref3 : component;
130
- recursePopulateComponentPaths(componentObj, collectionData, null, nonDeleteComponentPaths, true);
131
- });
132
- }
133
- (_page$components4 = page.components) === null || _page$components4 === void 0 || _page$components4.forEach(function (component) {
134
- var _ref4, _form$components$find4;
135
- var componentObj = (_ref4 = (_form$components$find4 = form.components.find(function (c) {
136
- return c.fieldId === component.use;
137
- })) !== null && _form$components$find4 !== void 0 ? _form$components$find4 : form.components.find(function (c) {
138
- return c.id === component.use;
139
- })) !== null && _ref4 !== void 0 ? _ref4 : component;
140
- recursePopulateComponentPaths(componentObj, collectionData, null, allComponentPaths, false);
141
- });
142
- }
143
- };
144
- function clearUncompletedRoutesForCollections(formData, page, form) {
145
- var _page$collection;
146
- var nonDeleteComponentPaths = [];
147
- var allComponentPaths = [];
148
- var collectionDatas = formData[page === null || page === void 0 || (_page$collection = page.collection) === null || _page$collection === void 0 ? void 0 : _page$collection.name];
149
- if (collectionDatas) {
150
- collectionDatas.forEach(function (collectionData) {
151
- var _page$childPages;
152
- /* eslint-disable consistent-return */
153
- (_page$childPages = page.childPages) === null || _page$childPages === void 0 || _page$childPages.forEach(function (childPage) {
154
- if (childPage.disableClearWhenHidden) {
155
- return;
156
- }
157
- if (childPage.deleteCollectionWhenHidden) {
158
- if (!showComponentIncludeHiddenAndDisabled(childPage, formData)) {
159
- delete formData[childPage.collection.name];
160
- return false;
161
- }
162
- }
163
- populateComponentPaths(childPage, form, collectionData, formData, nonDeleteComponentPaths, allComponentPaths);
164
- });
165
- });
166
- nonDeleteComponentPaths = nonDeleteComponentPaths.filter(function (value, index, self) {
167
- return self.indexOf(value) === index;
168
- });
169
- allComponentPaths = allComponentPaths.filter(function (value, index, self) {
170
- return self.indexOf(value) === index;
171
- });
172
- // delete fields not visible
173
- allComponentPaths.forEach(function (key) {
174
- if (!nonDeleteComponentPaths.includes(key)) {
175
- (0, _deleteNodeByPath.default)(collectionDatas, key);
176
- }
177
- });
178
- }
179
- }
180
- var clearOutUncompletedRoutes = function clearOutUncompletedRoutes(form, formData) {
181
- if (form.disableClearWhenHidden) {
182
- return formData;
183
- }
184
- var condensedPages = (0, _mergeCollectionPages.default)(form.pages);
185
- var candidateComponentForDeletion = new Map();
186
- var componentsUsedInVisiblePagesIds = [];
187
- condensedPages === null || condensedPages === void 0 || condensedPages.forEach(function (page) {
188
- var _page$collection2;
189
- if (page !== null && page !== void 0 && (_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.name) {
190
- clearUncompletedRoutesForCollections(formData, page, form);
191
- } else {
192
- markComponentsForDeletion(page, form, formData, candidateComponentForDeletion, componentsUsedInVisiblePagesIds);
193
- }
194
- });
195
- componentsUsedInVisiblePagesIds = componentsUsedInVisiblePagesIds.filter(function (value, index, self) {
196
- return self.indexOf(value) === index;
197
- });
198
- componentsUsedInVisiblePagesIds.forEach(function (componentId) {
199
- return candidateComponentForDeletion.delete(componentId);
200
- });
201
- candidateComponentForDeletion.forEach(function (val, key) {
202
- (0, _deleteNodeByPath.default)(formData, key);
203
- });
204
- return formData;
205
- };
206
- var _default = exports.default = clearOutUncompletedRoutes;
@@ -1,143 +0,0 @@
1
- "use strict";
2
-
3
- var _index = _interopRequireDefault(require("./index"));
4
- var _componentUsedInMultiplePagesForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json"));
5
- var _componentUsedInMultiplePagesData = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json"));
6
- var _formWithCollections = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-collections.json"));
7
- var _formWithCollectionsDeleteEntire = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json"));
8
- var _dataWithCollections = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-collections.json"));
9
- var _dataWithEntireCollectionRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json"));
10
- var _dataWithCollectionDataRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-collection-data-removed.json"));
11
- var _formWithComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-components.json"));
12
- var _dataWithComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-components.json"));
13
- var _dataWithComponentsRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-components-removed.json"));
14
- var _formForNestedComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-for-nested-components.json"));
15
- var _dataWithNestedComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-nested-components.json"));
16
- var _dataWithNestedComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-nested-component-removed.json"));
17
- var _copEab2Form = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-eab2-form.json"));
18
- var _copEab2DataBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-eab-2-data-before.json"));
19
- var _copEab2DataAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-eab-2-data-after.json"));
20
- var _copMandecForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-mandec-form.json"));
21
- var _copMandecDataBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-mandec-data-before.json"));
22
- var _copMandecDataAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-mandec-data-after.json"));
23
- var _copAirpaxBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-airpax-before.json"));
24
- var _copAirpaxAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-airpax-after.json"));
25
- var _copAirpaxForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-airpax-form.json"));
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
- describe('FormRenderer', function () {
28
- describe('helpers', function () {
29
- describe('clearOutUncompletedRoutes', function () {
30
- it('should clear out for cop-eab 2 civil penalty', function () {
31
- var form = JSON.parse(JSON.stringify(_copEab2Form.default));
32
- var formData = JSON.parse(JSON.stringify(_copEab2DataBefore.default));
33
- var clearedFormData = JSON.parse(JSON.stringify(_copEab2DataAfter.default));
34
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
35
- expect(result).toEqual(clearedFormData);
36
- });
37
- it('should clear out for cop-eab 2 airpax', function () {
38
- var form = JSON.parse(JSON.stringify(_copAirpaxForm.default));
39
- var formData = JSON.parse(JSON.stringify(_copAirpaxBefore.default));
40
- var clearedFormData = JSON.parse(JSON.stringify(_copAirpaxAfter.default));
41
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
42
- expect(result).toEqual(clearedFormData);
43
- });
44
- it('should clear out for cop-mandec', function () {
45
- var form = JSON.parse(JSON.stringify(_copMandecForm.default));
46
- var formData = JSON.parse(JSON.stringify(_copMandecDataBefore.default));
47
- var clearedFormData = JSON.parse(JSON.stringify(_copMandecDataAfter.default));
48
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
49
- expect(result).toEqual(clearedFormData);
50
- });
51
- it('should not remove hidden component where it is visible in another page', function () {
52
- var form = JSON.parse(JSON.stringify(_componentUsedInMultiplePagesForm.default));
53
- var formData = JSON.parse(JSON.stringify(_componentUsedInMultiplePagesData.default));
54
- expect(_index.default.clearOutUncompletedRoutes(form, formData)).toEqual(_componentUsedInMultiplePagesData.default);
55
- });
56
- it('should remove collection data when page hidden', function () {
57
- var form = JSON.parse(JSON.stringify(_formWithCollections.default));
58
- var formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
59
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
60
- expect(result).toEqual(_dataWithCollectionDataRemoved.default);
61
- formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
62
- formData.componentA = true;
63
- result = _index.default.clearOutUncompletedRoutes(form, formData);
64
- var expected = JSON.parse(JSON.stringify(_dataWithCollections.default));
65
- expected.componentA = true;
66
- expect(result).toEqual(expected);
67
- });
68
- it('should remove entire collection data when page hidden', function () {
69
- var form = JSON.parse(JSON.stringify(_formWithCollectionsDeleteEntire.default));
70
- var formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
71
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
72
- expect(result).toEqual(_dataWithEntireCollectionRemoved.default);
73
- });
74
- it('should remove hidden component', function () {
75
- var form = JSON.parse(JSON.stringify(_formWithComponents.default));
76
- var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
77
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
78
- expect(result).toEqual(_dataWithComponents.default);
79
- formData.componentA = "hide";
80
- result = _index.default.clearOutUncompletedRoutes(form, formData);
81
- expect(result).toEqual(_dataWithComponentsRemoved.default);
82
- });
83
- it('should not remove hidden component when disableClearWhenHidden attribute is true on component', function () {
84
- var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
85
- formData.componentA = "hide";
86
- var form = JSON.parse(JSON.stringify(_formWithComponents.default));
87
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
88
- expect(result).toEqual(_dataWithComponentsRemoved.default);
89
- form.components[1].disableClearWhenHidden = true;
90
- form.components[2].disableClearWhenHidden = true;
91
- formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
92
- result = _index.default.clearOutUncompletedRoutes(form, formData);
93
- expect(result).toEqual(_dataWithComponents.default);
94
- });
95
- it('should not remove hidden component when disableClearWhenHidden attribute is true on page', function () {
96
- var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
97
- formData.componentA = "hide";
98
- var form = JSON.parse(JSON.stringify(_formWithComponents.default));
99
- var result = _index.default.clearOutUncompletedRoutes(form, formData);
100
- expect(result).toEqual(_dataWithComponentsRemoved.default);
101
- form.pages[0].disableClearWhenHidden = true;
102
- formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
103
- result = _index.default.clearOutUncompletedRoutes(form, formData);
104
- expect(result).toEqual(_dataWithComponents.default);
105
- });
106
- it('should not remove hidden component when disableClearWhenHidden attribute is true on form', function () {
107
- var submissionData = JSON.parse(JSON.stringify(_dataWithComponents.default));
108
- var form = JSON.parse(JSON.stringify(_formWithComponents.default));
109
- submissionData.componentA = "hide";
110
- var result = _index.default.clearOutUncompletedRoutes(form, submissionData);
111
- expect(result).toEqual(_dataWithComponentsRemoved.default);
112
- form.disableClearWhenHidden = true;
113
- submissionData = JSON.parse(JSON.stringify(_dataWithComponents.default));
114
- submissionData.componentA = "hide";
115
- result = _index.default.clearOutUncompletedRoutes(form, submissionData);
116
- var expected = JSON.parse(JSON.stringify(_dataWithComponents.default));
117
- expected.componentA = "hide";
118
- expect(result).toEqual(expected);
119
- });
120
- it('should remove nested hidden component', function () {
121
- var submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
122
- var form = JSON.parse(JSON.stringify(_formForNestedComponents.default));
123
- var result = _index.default.clearOutUncompletedRoutes(form, submissionData);
124
- expect(result).toEqual(_dataWithNestedComponentRemoved.default);
125
- submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
126
- submissionData.bravo = "another";
127
- result = _index.default.clearOutUncompletedRoutes(form, submissionData);
128
- var expected = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
129
- delete expected.person.charlie;
130
- expected.bravo = "another";
131
- expect(result).toEqual(expected);
132
- submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
133
- submissionData.bravo = "notMatchAnything";
134
- result = _index.default.clearOutUncompletedRoutes(form, submissionData);
135
- expected = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
136
- delete expected.person.charlie;
137
- delete expected.person.delta;
138
- expected.bravo = "notMatchAnything";
139
- expect(result).toEqual(expected);
140
- });
141
- });
142
- });
143
- });
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /* eslint-disable consistent-return */
8
- var deleteNodeByPath = function deleteNodeByPath(obj, path) {
9
- if (Array.isArray(obj)) {
10
- // If obj is an array, recursively call deleteNodeByPath on each element
11
- for (var i = 0; i < obj.length; i += 1) {
12
- deleteNodeByPath(obj[i], path);
13
- }
14
- }
15
- var keys = path.split('.');
16
- var current = obj;
17
- for (var _i = 0; _i < keys.length - 1; _i += 1) {
18
- current = current[keys[_i]];
19
- if (current === undefined) {
20
- return;
21
- }
22
- }
23
- delete current[keys[keys.length - 1]];
24
- return obj;
25
- };
26
- var _default = exports.default = deleteNodeByPath;
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- var _deleteNodeByPath = _interopRequireDefault(require("./deleteNodeByPath"));
4
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Delete node based on path', function () {
6
- it('delete where node is at parent level', function () {
7
- var nested = {
8
- type: "Example form",
9
- alpha: "alpha",
10
- bravo: "bravo",
11
- person: {
12
- charlie: "Smith",
13
- delta: "Acme Inc"
14
- },
15
- gamma: "gamma",
16
- epsilon: "epsilon"
17
- };
18
- var path = 'type';
19
- var result = (0, _deleteNodeByPath.default)(nested, path);
20
- expect(result).toEqual({
21
- alpha: "alpha",
22
- bravo: "bravo",
23
- person: {
24
- charlie: "Smith",
25
- delta: "Acme Inc"
26
- },
27
- gamma: "gamma",
28
- epsilon: "epsilon"
29
- });
30
- });
31
- it('delete where node is at child level', function () {
32
- var nested = {
33
- type: "Example form",
34
- alpha: "alpha",
35
- bravo: "bravo",
36
- person: {
37
- charlie: "Smith",
38
- delta: "Acme Inc"
39
- },
40
- gamma: "gamma",
41
- epsilon: "epsilon"
42
- };
43
- var path = 'person.charlie';
44
- var result = (0, _deleteNodeByPath.default)(nested, path);
45
- expect(result).toEqual({
46
- type: "Example form",
47
- alpha: "alpha",
48
- bravo: "bravo",
49
- person: {
50
- delta: "Acme Inc"
51
- },
52
- gamma: "gamma",
53
- epsilon: "epsilon"
54
- });
55
- });
56
- });