@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +22 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
  5. package/dist/components/CollectionPage/CollectionPage.js +63 -73
  6. package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
  9. package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/RenderListView.js +52 -46
  14. package/dist/components/CollectionSummary/RenderListView.scss +1 -1
  15. package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
  16. package/dist/components/CollectionSummary/SummaryCard.js +152 -110
  17. package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
  18. package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
  19. package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
  23. package/dist/components/FormComponent/Collection.js +108 -74
  24. package/dist/components/FormComponent/Collection.test.js +1081 -909
  25. package/dist/components/FormComponent/Container.js +39 -40
  26. package/dist/components/FormComponent/Container.test.js +412 -312
  27. package/dist/components/FormComponent/FormComponent.js +72 -69
  28. package/dist/components/FormComponent/FormComponent.test.js +414 -353
  29. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  30. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  32. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  33. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  34. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  36. package/dist/components/FormComponent/helpers/index.js +4 -4
  37. package/dist/components/FormPage/FormPage.js +80 -65
  38. package/dist/components/FormPage/FormPage.test.js +163 -127
  39. package/dist/components/FormRenderer/FormRenderer.js +180 -143
  40. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  41. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  42. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  43. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  44. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  45. package/dist/components/FormRenderer/handlers/index.js +1 -1
  46. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  47. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  48. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  49. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  50. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  51. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  52. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  53. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  54. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  55. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  57. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  58. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  59. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  60. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  61. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  62. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  63. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  64. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  65. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
  66. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  67. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
  68. package/dist/components/FormRenderer/helpers/index.js +1 -1
  69. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  70. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  71. package/dist/components/FormRenderer/onPageAction.js +39 -43
  72. package/dist/components/FormRenderer/onPageAction.test.js +208 -223
  73. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  74. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  75. package/dist/components/PageActions/ActionButton.js +15 -12
  76. package/dist/components/PageActions/ActionButton.test.js +78 -56
  77. package/dist/components/PageActions/PageActions.js +10 -10
  78. package/dist/components/PageActions/PageActions.test.js +115 -86
  79. package/dist/components/SummaryList/GroupAction.js +17 -9
  80. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  81. package/dist/components/SummaryList/RowAction.js +16 -11
  82. package/dist/components/SummaryList/RowAction.test.js +33 -37
  83. package/dist/components/SummaryList/SummaryList.js +34 -21
  84. package/dist/components/SummaryList/SummaryList.scss +15 -0
  85. package/dist/components/SummaryList/SummaryList.test.js +226 -143
  86. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  87. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
  88. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
  89. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  90. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  91. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  92. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  93. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  94. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  95. package/dist/components/SummaryList/helpers/index.js +1 -1
  96. package/dist/components/TaskList/Task.js +29 -19
  97. package/dist/components/TaskList/Task.test.js +76 -83
  98. package/dist/components/TaskList/TaskList.js +92 -49
  99. package/dist/components/TaskList/TaskList.scss +24 -0
  100. package/dist/components/TaskList/TaskList.test.js +255 -113
  101. package/dist/components/TaskList/TaskState.js +5 -7
  102. package/dist/components/TaskList/TaskState.test.js +45 -52
  103. package/dist/components/index.js +7 -7
  104. package/dist/context/HooksContext/HooksContext.js +80 -57
  105. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  106. package/dist/context/HooksContext/index.js +4 -3
  107. package/dist/context/ValidationContext/ValidationContext.js +94 -43
  108. package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
  109. package/dist/context/ValidationContext/index.js +4 -3
  110. package/dist/context/index.js +2 -2
  111. package/dist/hooks/index.js +10 -9
  112. package/dist/hooks/useAxios.js +40 -14
  113. package/dist/hooks/useGetRequest.js +97 -61
  114. package/dist/hooks/useHooks.js +3 -1
  115. package/dist/hooks/useRefData.js +39 -26
  116. package/dist/hooks/useValidation.js +3 -1
  117. package/dist/index.js +14 -13
  118. package/dist/models/CollectionLabels.js +1 -1
  119. package/dist/models/ComponentTypes.js +25 -25
  120. package/dist/models/EventTypes.js +4 -4
  121. package/dist/models/FormPages.js +4 -4
  122. package/dist/models/FormTypes.js +8 -8
  123. package/dist/models/HubFormats.js +3 -3
  124. package/dist/models/PageAction.js +38 -44
  125. package/dist/models/TaskStates.js +28 -29
  126. package/dist/models/index.js +9 -9
  127. package/dist/setupTests.js +31 -30
  128. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  129. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  130. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  131. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  132. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  133. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  134. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  135. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  136. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  137. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  138. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  139. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
  140. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
  141. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
  142. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  144. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  145. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  146. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
  147. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
  148. package/dist/utils/CheckYourAnswers/index.js +1 -1
  149. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  150. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  151. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  152. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  153. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  154. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
  155. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
  156. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
  157. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  158. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  159. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  160. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  161. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  162. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  163. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  164. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
  165. package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
  166. package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
  167. package/dist/utils/CollectionPage/index.js +1 -1
  168. package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
  169. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
  170. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  171. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  172. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
  173. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  174. package/dist/utils/Component/addShowWhen.js +8 -4
  175. package/dist/utils/Component/addShowWhen.test.js +37 -37
  176. package/dist/utils/Component/applyToComponentTree.js +18 -18
  177. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  178. package/dist/utils/Component/cleanAttributes.js +13 -10
  179. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  180. package/dist/utils/Component/elevateNestedComponents.js +7 -6
  181. package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
  182. package/dist/utils/Component/getComponent.js +94 -88
  183. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  184. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  185. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  186. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  187. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  188. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  191. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  192. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  193. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  194. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  196. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  197. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  198. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
  199. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  200. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  201. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  202. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  203. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  204. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  205. package/dist/utils/Component/getDefaultValue.js +8 -6
  206. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  207. package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
  208. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  209. package/dist/utils/Component/index.js +1 -1
  210. package/dist/utils/Component/isEditable.js +4 -2
  211. package/dist/utils/Component/isEditable.test.js +15 -14
  212. package/dist/utils/Component/optionIsSelected.js +6 -1
  213. package/dist/utils/Component/optionIsSelected.test.js +35 -9
  214. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  215. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  216. package/dist/utils/Component/showComponent.js +1 -1
  217. package/dist/utils/Component/showComponent.test.js +28 -28
  218. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  219. package/dist/utils/Condition/index.js +1 -1
  220. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  221. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  222. package/dist/utils/Condition/meetsCondition.js +25 -16
  223. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  224. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  225. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  226. package/dist/utils/Condition/setupConditions.js +18 -13
  227. package/dist/utils/Condition/setupConditions.test.js +7 -7
  228. package/dist/utils/Container/getEditableComponents.js +5 -3
  229. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  230. package/dist/utils/Container/index.js +1 -1
  231. package/dist/utils/Container/setupNesting.js +20 -16
  232. package/dist/utils/Container/setupNesting.test.js +30 -27
  233. package/dist/utils/Container/showContainer.js +7 -3
  234. package/dist/utils/Container/showContainer.test.js +30 -30
  235. package/dist/utils/Data/applyFormula.js +48 -38
  236. package/dist/utils/Data/applyFormula.test.js +20 -20
  237. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  238. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  239. package/dist/utils/Data/getDataPath.js +28 -18
  240. package/dist/utils/Data/getDataPath.test.js +12 -12
  241. package/dist/utils/Data/getOptions.js +30 -24
  242. package/dist/utils/Data/getOptions.test.js +27 -27
  243. package/dist/utils/Data/getSourceData.js +19 -6
  244. package/dist/utils/Data/getSourceData.test.js +80 -84
  245. package/dist/utils/Data/index.js +1 -1
  246. package/dist/utils/Data/nestInRefdataOptions.js +16 -9
  247. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  248. package/dist/utils/Data/refDataToOptions.js +13 -10
  249. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  250. package/dist/utils/Data/setDataItem.js +8 -7
  251. package/dist/utils/Data/setDataItem.test.js +37 -37
  252. package/dist/utils/Data/setupFormData.js +21 -13
  253. package/dist/utils/Data/setupFormData.test.js +50 -51
  254. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  255. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  256. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  257. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  258. package/dist/utils/FormPage/getConditionalText.js +3 -3
  259. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  260. package/dist/utils/FormPage/getFormPage.js +16 -15
  261. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  262. package/dist/utils/FormPage/getFormPages.js +12 -7
  263. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  264. package/dist/utils/FormPage/getPageActions.js +15 -9
  265. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  266. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  267. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  268. package/dist/utils/FormPage/index.js +4 -2
  269. package/dist/utils/FormPage/showFormPage.js +7 -3
  270. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  271. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  272. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  273. package/dist/utils/FormPage/useComponent.js +28 -21
  274. package/dist/utils/FormPage/useComponent.test.js +79 -77
  275. package/dist/utils/Format/formatData.js +1 -1
  276. package/dist/utils/Format/formatData.test.js +18 -18
  277. package/dist/utils/Format/formatDataForComponent.js +6 -5
  278. package/dist/utils/Format/formatDataForComponent.test.js +78 -50
  279. package/dist/utils/Format/formatDataForForm.js +8 -6
  280. package/dist/utils/Format/formatDataForForm.test.js +16 -13
  281. package/dist/utils/Format/formatDataForPage.js +5 -4
  282. package/dist/utils/Format/formatDataForPage.test.js +25 -20
  283. package/dist/utils/Format/index.js +1 -1
  284. package/dist/utils/Hub/getFormHub.js +1 -1
  285. package/dist/utils/Hub/getFormHub.test.js +31 -28
  286. package/dist/utils/Hub/index.js +1 -1
  287. package/dist/utils/Meta/constants.js +2 -2
  288. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  289. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  290. package/dist/utils/Meta/documents/index.js +1 -1
  291. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  292. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  293. package/dist/utils/Meta/index.js +1 -1
  294. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  295. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  296. package/dist/utils/Operate/getFirstOf.js +5 -5
  297. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  298. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  299. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
  300. package/dist/utils/Operate/getLength.js +50 -0
  301. package/dist/utils/Operate/getLength.test.js +89 -0
  302. package/dist/utils/Operate/index.js +1 -1
  303. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  304. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  305. package/dist/utils/Operate/runPageOperations.js +9 -7
  306. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  307. package/dist/utils/Operate/setValueInFormData.js +2 -2
  308. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  309. package/dist/utils/Operate/shouldRun.js +6 -6
  310. package/dist/utils/Operate/shouldRun.test.js +27 -21
  311. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  312. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  313. package/dist/utils/Validate/additional/index.js +6 -6
  314. package/dist/utils/Validate/additional/index.test.js +12 -12
  315. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  317. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  318. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  319. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  320. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  321. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  322. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  323. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  325. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  327. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  328. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  329. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  330. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  331. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  333. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  334. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  335. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
  337. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  338. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  339. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  340. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  341. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  342. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  343. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  344. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  345. package/dist/utils/Validate/additional/utils.js +22 -9
  346. package/dist/utils/Validate/index.js +1 -1
  347. package/dist/utils/Validate/validateCollection.js +25 -19
  348. package/dist/utils/Validate/validateCollection.test.js +66 -74
  349. package/dist/utils/Validate/validateComponent.js +21 -18
  350. package/dist/utils/Validate/validateComponent.test.js +176 -166
  351. package/dist/utils/Validate/validateContainer.js +20 -15
  352. package/dist/utils/Validate/validateContainer.test.js +52 -58
  353. package/dist/utils/Validate/validateDate.js +21 -15
  354. package/dist/utils/Validate/validateDate.test.js +32 -31
  355. package/dist/utils/Validate/validateEmail.js +8 -6
  356. package/dist/utils/Validate/validateEmail.test.js +25 -25
  357. package/dist/utils/Validate/validateMultifile.js +7 -5
  358. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  359. package/dist/utils/Validate/validatePage.js +22 -19
  360. package/dist/utils/Validate/validatePage.test.js +203 -215
  361. package/dist/utils/Validate/validateRegex.js +5 -3
  362. package/dist/utils/Validate/validateRegex.test.js +14 -14
  363. package/dist/utils/Validate/validateRequired.js +6 -4
  364. package/dist/utils/Validate/validateRequired.test.js +18 -18
  365. package/dist/utils/Validate/validateTextArea.js +6 -4
  366. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  367. package/dist/utils/Validate/validateTime.js +26 -11
  368. package/dist/utils/Validate/validateTime.test.js +62 -16
  369. package/dist/utils/index.js +9 -7
  370. package/package.json +2 -2
  371. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
  372. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
@@ -4,22 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const isValidIndex = value => typeof value === 'number' && value >= 0;
8
- const getLastDataInChain = (collectionNames, data, formData) => {
7
+ var isValidIndex = function isValidIndex(value) {
8
+ return typeof value === 'number' && value >= 0;
9
+ };
10
+ var getLastDataInChain = function getLastDataInChain(collectionNames, data, formData) {
9
11
  var _data$currentName;
10
- const currentName = collectionNames[0];
12
+ var currentName = collectionNames[0];
11
13
  // If we're at the last collection in the chain, then just
12
14
  // try and grab its data.
13
15
  if (collectionNames.length === 1) {
14
16
  return data[currentName] || null;
15
17
  }
16
- const activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
18
+ var activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
17
19
  // No active ID for the current collection - the chain
18
20
  // has been broken!
19
21
  if (!activeId) {
20
22
  return null;
21
23
  }
22
- const activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(item => item.id === activeId);
24
+ var activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(function (item) {
25
+ return item.id === activeId;
26
+ });
23
27
  // No entry that matches the active ID - the chain
24
28
  // has been broken!
25
29
  if (!isValidIndex(activeIndex)) {
@@ -44,9 +48,9 @@ const getLastDataInChain = (collectionNames, data, formData) => {
44
48
  * @param {object} data The top level formData object.
45
49
  * @returns The active index for the collection, or null if it doesn't exist.
46
50
  */
47
- const getCollectionPageData = (collectionName, formData) => {
48
- const nameParts = collectionName.split('.');
49
- const result = getLastDataInChain(nameParts, formData, formData);
51
+ var getCollectionPageData = function getCollectionPageData(collectionName, formData) {
52
+ var nameParts = collectionName.split('.');
53
+ var result = getLastDataInChain(nameParts, formData, formData);
50
54
  return result;
51
55
  };
52
56
  var _default = exports.default = getCollectionPageData;
@@ -2,14 +2,14 @@
2
2
 
3
3
  var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('utils.CollectionPage.getCollectionPageData', () => {
6
- it('should return null if the collection does not exist', () => {
7
- const data = (0, _getCollectionPageData.default)('testCollection', {});
5
+ describe('utils.CollectionPage.getCollectionPageData', function () {
6
+ it('should return null if the collection does not exist', function () {
7
+ var data = (0, _getCollectionPageData.default)('testCollection', {});
8
8
  expect(data).toEqual(null);
9
9
  });
10
- describe('when failing to retrieve a nested collection', () => {
11
- it('should return null if a parent collection does not exist', () => {
12
- const FORM_DATA = {
10
+ describe('when failing to retrieve a nested collection', function () {
11
+ it('should return null if a parent collection does not exist', function () {
12
+ var FORM_DATA = {
13
13
  parentsActiveId: '1',
14
14
  childrenActiveId: '1',
15
15
  grandchildrenActiveId: '1',
@@ -24,11 +24,11 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
24
24
  }]
25
25
  }]
26
26
  };
27
- const data = (0, _getCollectionPageData.default)('parents.chainbreak.grandchildren', FORM_DATA);
27
+ var data = (0, _getCollectionPageData.default)('parents.chainbreak.grandchildren', FORM_DATA);
28
28
  expect(data).toEqual(null);
29
29
  });
30
- it('should return null if there is no active entry in a parent collection', () => {
31
- const FORM_DATA = {
30
+ it('should return null if there is no active entry in a parent collection', function () {
31
+ var FORM_DATA = {
32
32
  parentsActiveId: '1',
33
33
  grandchildrenActiveId: '1',
34
34
  parents: [{
@@ -42,11 +42,11 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
42
42
  }]
43
43
  }]
44
44
  };
45
- const data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
45
+ var data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
46
46
  expect(data).toEqual(null);
47
47
  });
48
- it('should return null if the target collection does not exist', () => {
49
- const FORM_DATA = {
48
+ it('should return null if the target collection does not exist', function () {
49
+ var FORM_DATA = {
50
50
  parentsActiveId: '1',
51
51
  grandchildrenActiveId: '1',
52
52
  parents: [{
@@ -56,18 +56,18 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
56
56
  }]
57
57
  }]
58
58
  };
59
- const data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
59
+ var data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
60
60
  expect(data).toEqual(null);
61
61
  });
62
62
  });
63
- it('should get data for top-level collections correctly', () => {
64
- const FORM_DATA = {
63
+ it('should get data for top-level collections correctly', function () {
64
+ var FORM_DATA = {
65
65
  testCollection: [{
66
66
  id: '1',
67
67
  value: 'Alpha'
68
68
  }]
69
69
  };
70
- const data = (0, _getCollectionPageData.default)('testCollection', FORM_DATA);
70
+ var data = (0, _getCollectionPageData.default)('testCollection', FORM_DATA);
71
71
  expect(Array.isArray(data)).toBeTruthy();
72
72
  expect(data.length).toEqual(1);
73
73
  expect(data[0]).toMatchObject({
@@ -75,8 +75,8 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
75
75
  value: 'Alpha'
76
76
  });
77
77
  });
78
- it('should get data for nested collections correctly', () => {
79
- const FORM_DATA = {
78
+ it('should get data for nested collections correctly', function () {
79
+ var FORM_DATA = {
80
80
  parentsActiveId: '1',
81
81
  childrenActiveId: '1',
82
82
  grandchildrenActiveId: '1',
@@ -91,7 +91,7 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
91
91
  }]
92
92
  }]
93
93
  };
94
- const data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
94
+ var data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
95
95
  expect(Array.isArray(data)).toBeTruthy();
96
96
  expect(data.length).toEqual(1);
97
97
  expect(data[0]).toMatchObject({
@@ -6,49 +6,49 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _ = _interopRequireDefault(require(".."));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- const getErrorsForCollection = function (config, masterPage, formData, hooks) {
10
- let activeIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ var getErrorsForCollection = function getErrorsForCollection(config, masterPage, formData, hooks) {
16
+ var activeIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
11
17
  if (!masterPage) {
12
18
  return [];
13
19
  }
14
20
  // Get data for current collection
15
- const collectionData = _.default.CollectionPage.getData(masterPage.collection.name, masterPage.formData) || [];
16
- let allErrors = [];
21
+ var collectionData = _.default.CollectionPage.getData(masterPage.collection.name, masterPage.formData) || [];
22
+ var allErrors = [];
17
23
 
18
24
  // Loop over each entry in the collection data
19
- collectionData.forEach(entry => {
25
+ collectionData.forEach(function (entry) {
20
26
  var _masterPage$childPage;
21
27
  // eslint-disable-next-line no-param-reassign
22
- activeIds = {
23
- ...activeIds,
24
- ["".concat(masterPage.collection.name.split('.').pop(), "ActiveId")]: entry.id
25
- };
28
+ activeIds = _objectSpread(_objectSpread({}, activeIds), {}, _defineProperty({}, "".concat(masterPage.collection.name.split('.').pop(), "ActiveId"), entry.id));
26
29
 
27
30
  // Loop over child pages and validate each one
28
- const allPagesErrors = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(page => {
29
- const pageWithIds = {
30
- ...page,
31
- formData: {
32
- ...formData,
33
- ...activeIds
34
- }
35
- };
31
+ var allPagesErrors = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(function (page) {
32
+ var pageWithIds = _objectSpread(_objectSpread({}, page), {}, {
33
+ formData: _objectSpread(_objectSpread({}, formData), activeIds)
34
+ });
36
35
 
37
36
  // Handle nested collections
38
37
  if (page.childPages) {
39
38
  return getErrorsForCollection(config, pageWithIds, formData, hooks, activeIds);
40
39
  }
41
- const pageErrors = _.default.Validate.page(pageWithIds);
40
+ var pageErrors = _.default.Validate.page(pageWithIds);
42
41
  return hooks.onValidate(pageWithIds, pageErrors);
43
42
  });
44
43
 
45
44
  // For each error add the entryId so we know what Summary Card we have to pass it to.
46
- allErrors = allErrors.concat(allPagesErrors.map(e => ({
47
- ...e,
48
- entryId: entry.id,
49
- showFor: config.id,
50
- raisedBy: config.id
51
- })));
45
+ allErrors = allErrors.concat(allPagesErrors.map(function (e) {
46
+ return _objectSpread(_objectSpread({}, e), {}, {
47
+ entryId: entry.id,
48
+ showFor: config.id,
49
+ raisedBy: config.id
50
+ });
51
+ }));
52
52
  });
53
53
  return allErrors;
54
54
  };
@@ -3,14 +3,16 @@
3
3
  var _getErrorsForCollection = _interopRequireDefault(require("./getErrorsForCollection"));
4
4
  var _models = require("../../models");
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- describe('Utils.CollectionPage.getErrorsForCollection', () => {
7
- const HOOKS = {
8
- onValidate: (_, errors) => errors
6
+ describe('Utils.CollectionPage.getErrorsForCollection', function () {
7
+ var HOOKS = {
8
+ onValidate: function onValidate(_, errors) {
9
+ return errors;
10
+ }
9
11
  };
10
- const CONFIG = {
12
+ var CONFIG = {
11
13
  id: 'testId'
12
14
  };
13
- const FORM_DATA = {
15
+ var FORM_DATA = {
14
16
  collection: [{
15
17
  id: 22,
16
18
  item1: 'blue',
@@ -20,7 +22,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
20
22
  }]
21
23
  }]
22
24
  };
23
- const FORM_DATA_MISSING_TOP = {
25
+ var FORM_DATA_MISSING_TOP = {
24
26
  collection: [{
25
27
  id: 22,
26
28
  item2: 'blue',
@@ -30,7 +32,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
30
32
  }]
31
33
  }]
32
34
  };
33
- const FORM_DATA_MISSING_NESTED = {
35
+ var FORM_DATA_MISSING_NESTED = {
34
36
  collection: [{
35
37
  id: 22,
36
38
  item1: 'blue',
@@ -40,7 +42,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
40
42
  }]
41
43
  }]
42
44
  };
43
- const FORM_DATA_MISSING_BOTH = {
45
+ var FORM_DATA_MISSING_BOTH = {
44
46
  collection: [{
45
47
  id: 22,
46
48
  item9: 'blue',
@@ -50,7 +52,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
50
52
  }]
51
53
  }]
52
54
  };
53
- const MASTER_PAGE = {
55
+ var MASTER_PAGE = {
54
56
  id: 'masterPage',
55
57
  collection: {
56
58
  name: 'collection',
@@ -77,7 +79,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
77
79
  }]
78
80
  }]
79
81
  };
80
- const MASTER_PAGE_WITH_NESTED = {
82
+ var MASTER_PAGE_WITH_NESTED = {
81
83
  id: 'masterPage',
82
84
  collection: {
83
85
  name: 'collection',
@@ -130,24 +132,24 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
130
132
  }]
131
133
  }]
132
134
  };
133
- it('should return nothing for a master page without errors', () => {
134
- const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA, HOOKS);
135
+ it('should return nothing for a master page without errors', function () {
136
+ var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA, HOOKS);
135
137
  expect(errors.length).toEqual(0);
136
138
  });
137
- it('should return erorrs for a master page with errors', () => {
138
- const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA_MISSING_TOP, HOOKS);
139
+ it('should return erorrs for a master page with errors', function () {
140
+ var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA_MISSING_TOP, HOOKS);
139
141
  expect(errors.length).toEqual(1);
140
142
  });
141
- it('should return nothing for a master page with a nested master page without errors', () => {
142
- const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA, HOOKS);
143
+ it('should return nothing for a master page with a nested master page without errors', function () {
144
+ var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA, HOOKS);
143
145
  expect(errors.length).toEqual(0);
144
146
  });
145
- it('should return errors for a master page with a nested master page without errors', () => {
146
- const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_NESTED, HOOKS);
147
+ it('should return errors for a master page with a nested master page without errors', function () {
148
+ var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_NESTED, HOOKS);
147
149
  expect(errors.length).toEqual(1);
148
150
  });
149
- it('should return errors for a master page with errors with a nested master page with errors', () => {
150
- const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_BOTH, HOOKS);
151
+ it('should return errors for a master page with errors with a nested master page with errors', function () {
152
+ var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_BOTH, HOOKS);
151
153
  expect(errors.length).toEqual(2);
152
154
  });
153
155
  });
@@ -6,7 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _meetsAllConditions = _interopRequireDefault(require("../Condition/meetsAllConditions"));
8
8
  var _showFormPage = _interopRequireDefault(require("../FormPage/showFormPage"));
9
+ var _excluded = ["id"];
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
13
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
19
  /**
11
20
  * Generates a new page to be used in a SumaryCard's quick edit section.
12
21
  * The page is a standard form page that has all the components that are
@@ -45,46 +54,39 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
45
54
  * @param {object} entryData The data for the current collection entry.
46
55
  * @returns Page suitble for rendering in a QuickEdit
47
56
  */
48
- const getQuickEditPage = (masterPage, formData, entryData) => {
57
+ var getQuickEditPage = function getQuickEditPage(masterPage, formData, entryData) {
58
+ var _masterPage$collectio;
49
59
  if (!masterPage) {
50
60
  return null;
51
61
  }
52
- const fullComponents = [];
53
- masterPage.childPages.forEach(page => {
54
- if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, {
55
- ...formData,
56
- ...entryData
57
- })) {
62
+ var fullComponents = [];
63
+ masterPage.childPages.forEach(function (page) {
64
+ if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, _objectSpread(_objectSpread({}, formData), entryData))) {
58
65
  return;
59
66
  }
60
- page.summaryQuickEdit.forEach(quickEditComponent => {
67
+ page.summaryQuickEdit.forEach(function (quickEditComponent) {
61
68
  if (typeof quickEditComponent === 'string') {
62
- fullComponents.push({
63
- ...page.components.find(c => c.id === quickEditComponent)
64
- });
69
+ fullComponents.push(_objectSpread({}, page.components.find(function (c) {
70
+ return c.id === quickEditComponent;
71
+ })));
65
72
  return;
66
73
  }
67
- const originalComponent = page.components.find(c => c.id === quickEditComponent.use);
74
+ var originalComponent = page.components.find(function (c) {
75
+ return c.id === quickEditComponent.use;
76
+ });
68
77
  if (!originalComponent) {
69
78
  return;
70
79
  }
71
- const mergedComponent = {
72
- ...originalComponent,
73
- ...quickEditComponent
74
- };
80
+ var mergedComponent = _objectSpread(_objectSpread({}, originalComponent), quickEditComponent);
75
81
 
76
82
  // If there's a show_when in the quick edit config, then we treat
77
83
  // that as a specific test for when the component should be quick
78
84
  // editable - it doesn't get spread to the merged object.
79
85
  if (quickEditComponent.show_when) {
80
- if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, {
81
- ...formData,
82
- ...entryData
83
- })) {
84
- fullComponents.push({
85
- ...mergedComponent,
86
+ if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, _objectSpread(_objectSpread({}, formData), entryData))) {
87
+ fullComponents.push(_objectSpread(_objectSpread({}, mergedComponent), {}, {
86
88
  show_when: originalComponent.show_when || []
87
- });
89
+ }));
88
90
  }
89
91
  return;
90
92
  }
@@ -93,10 +95,9 @@ const getQuickEditPage = (masterPage, formData, entryData) => {
93
95
  });
94
96
 
95
97
  // Put components and actions onto page object
96
- const pageToReturn = {
97
- ...masterPage.childPages[0],
98
- formData
99
- };
98
+ var pageToReturn = _objectSpread(_objectSpread({}, masterPage.childPages[0]), {}, {
99
+ formData: formData
100
+ });
100
101
  pageToReturn.components = fullComponents;
101
102
  pageToReturn.actions = [{
102
103
  type: 'save',
@@ -111,14 +112,9 @@ const getQuickEditPage = (masterPage, formData, entryData) => {
111
112
 
112
113
  // Need to have the collection data at the top level
113
114
  // Remove ID to stop overwriting top-level form ID.
114
- const {
115
- id,
116
- ...entryWithNoId
117
- } = entryData;
118
- pageToReturn.formData = {
119
- ...pageToReturn.formData,
120
- ...entryWithNoId
121
- };
115
+ var id = entryData.id,
116
+ entryWithNoId = _objectWithoutProperties(entryData, _excluded);
117
+ pageToReturn.formData = _objectSpread(_objectSpread(_objectSpread({}, pageToReturn.formData), entryWithNoId), {}, _defineProperty({}, "".concat((_masterPage$collectio = masterPage.collection) === null || _masterPage$collectio === void 0 || (_masterPage$collectio = _masterPage$collectio.name) === null || _masterPage$collectio === void 0 ? void 0 : _masterPage$collectio.split('.').pop(), "ActiveId"), entryData.id));
122
118
  delete pageToReturn.title;
123
119
  delete pageToReturn.collection;
124
120
  return pageToReturn;
@@ -2,8 +2,14 @@
2
2
 
3
3
  var _getQuickEditPage = _interopRequireDefault(require("./getQuickEditPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.CollectionPage.getQuickEditPage', () => {
6
- const FORM_DATA = {
5
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
+ describe('Utils.CollectionPage.getQuickEditPage', function () {
12
+ var FORM_DATA = {
7
13
  items: [{
8
14
  id: '123',
9
15
  testText1: 'value 1',
@@ -12,7 +18,10 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
12
18
  testText3: 'value 3'
13
19
  }]
14
20
  };
15
- const MASTER_PAGE = {
21
+ var MASTER_PAGE = {
22
+ collection: {
23
+ name: 'entries'
24
+ },
16
25
  childPages: [{
17
26
  id: 'firstPage',
18
27
  name: 'firstPage',
@@ -68,7 +77,7 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
68
77
  summaryQuickEdit: ["testText3"]
69
78
  }]
70
79
  };
71
- const EXPECTED_OUTPUT = {
80
+ var EXPECTED_OUTPUT = {
72
81
  id: 'firstPage',
73
82
  name: 'firstPage',
74
83
  components: [{
@@ -102,30 +111,33 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
102
111
  classModifiers: 'secondary'
103
112
  }]
104
113
  };
105
- const ENTRY_DATA = {
114
+ var ENTRY_DATA = {
106
115
  id: '123',
107
116
  testText1: 'value 1',
108
117
  testText2: 'value 2',
109
118
  conditionText: 'true',
110
119
  testText3: 'value 3'
111
120
  };
112
- it('should return a quick edit page', () => {
113
- const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
121
+ it('should return a quick edit page', function () {
122
+ var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
114
123
  expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
115
124
  });
116
- it('should return a quick edit page without components that fail the quick edit show_when', () => {
117
- const CUSTOM_OUTPUT = {
118
- ...EXPECTED_OUTPUT,
125
+ it('should return a quick edit page without components that fail the quick edit show_when', function () {
126
+ var CUSTOM_OUTPUT = _objectSpread(_objectSpread({}, EXPECTED_OUTPUT), {}, {
119
127
  components: [EXPECTED_OUTPUT.components[0],
120
128
  // The second component should fail the show when
121
129
  // and not be included in the quick edit page.
122
130
  EXPECTED_OUTPUT.components[2]]
123
- };
124
- const CUSTOM_ENTRY_DATA = {
125
- ...ENTRY_DATA,
131
+ });
132
+ var CUSTOM_ENTRY_DATA = _objectSpread(_objectSpread({}, ENTRY_DATA), {}, {
126
133
  conditionText: 'false'
127
- };
128
- const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
134
+ });
135
+ var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
129
136
  expect(createdPage).toMatchObject(CUSTOM_OUTPUT);
130
137
  });
138
+ it('should return a quick edit page with the activeId for the current collection correctly set', function () {
139
+ var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
140
+ expect(createdPage.formData.entriesActiveId).toEqual('123');
141
+ expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
142
+ });
131
143
  });
@@ -17,7 +17,7 @@ var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPage
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  // Local imports
19
19
 
20
- const CollectionPage = {
20
+ var CollectionPage = {
21
21
  addEntry: _addCollectionPageEntry.default,
22
22
  duplicateActiveEntry: _duplicateCollectionPageActiveEntry.default,
23
23
  duplicateEntry: _duplicateCollectionPageEntry.default,