@ukhomeoffice/cop-react-form-renderer 6.0.6-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.scss +2 -2
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  6. package/dist/components/CollectionPage/CollectionPage.js +75 -59
  7. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  8. package/dist/components/CollectionSummary/BannerStrip.js +15 -14
  9. package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
  11. package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
  12. package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
  14. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  15. package/dist/components/CollectionSummary/Confirmation.scss +1 -1
  16. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  17. package/dist/components/CollectionSummary/RenderListView.js +54 -56
  18. package/dist/components/CollectionSummary/RenderListView.scss +10 -1
  19. package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
  20. package/dist/components/CollectionSummary/SummaryCard.js +135 -145
  21. package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
  22. package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
  23. package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
  24. package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
  25. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
  26. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
  27. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
  28. package/dist/components/FormComponent/Collection.js +81 -108
  29. package/dist/components/FormComponent/Collection.test.js +909 -943
  30. package/dist/components/FormComponent/Container.js +40 -38
  31. package/dist/components/FormComponent/Container.test.js +314 -345
  32. package/dist/components/FormComponent/FormComponent.js +80 -71
  33. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  34. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  36. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  38. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  40. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  41. package/dist/components/FormComponent/helpers/index.js +4 -4
  42. package/dist/components/FormPage/FormPage.js +65 -80
  43. package/dist/components/FormPage/FormPage.scss +1 -1
  44. package/dist/components/FormPage/FormPage.test.js +127 -163
  45. package/dist/components/FormRenderer/FormRenderer.js +150 -183
  46. package/dist/components/FormRenderer/FormRenderer.scss +1 -1
  47. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  48. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  49. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  50. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  51. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  52. package/dist/components/FormRenderer/handlers/index.js +1 -1
  53. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  54. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  56. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  58. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  60. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  61. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  62. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  64. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  65. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  66. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  67. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  68. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  70. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  72. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  74. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  75. package/dist/components/FormRenderer/helpers/index.js +2 -4
  76. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  77. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  78. package/dist/components/FormRenderer/onPageAction.js +50 -48
  79. package/dist/components/FormRenderer/onPageAction.test.js +241 -217
  80. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  81. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  82. package/dist/components/PageActions/ActionButton.js +12 -15
  83. package/dist/components/PageActions/ActionButton.test.js +56 -78
  84. package/dist/components/PageActions/PageActions.js +10 -10
  85. package/dist/components/PageActions/PageActions.test.js +86 -115
  86. package/dist/components/SummaryList/GroupAction.js +9 -17
  87. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  88. package/dist/components/SummaryList/RowAction.js +11 -16
  89. package/dist/components/SummaryList/RowAction.test.js +37 -33
  90. package/dist/components/SummaryList/SummaryList.js +21 -26
  91. package/dist/components/SummaryList/SummaryList.scss +2 -2
  92. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  94. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  100. package/dist/components/SummaryList/helpers/index.js +1 -1
  101. package/dist/components/TaskList/Task.js +19 -29
  102. package/dist/components/TaskList/Task.test.js +83 -76
  103. package/dist/components/TaskList/TaskList.js +45 -71
  104. package/dist/components/TaskList/TaskList.scss +1 -1
  105. package/dist/components/TaskList/TaskList.test.js +113 -111
  106. package/dist/components/TaskList/TaskState.js +7 -5
  107. package/dist/components/TaskList/TaskState.test.js +52 -45
  108. package/dist/components/index.js +7 -7
  109. package/dist/context/HooksContext/HooksContext.js +57 -80
  110. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  111. package/dist/context/HooksContext/index.js +3 -4
  112. package/dist/context/ValidationContext/ValidationContext.js +65 -72
  113. package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
  114. package/dist/context/ValidationContext/index.js +3 -4
  115. package/dist/context/index.js +2 -2
  116. package/dist/hooks/index.js +9 -10
  117. package/dist/hooks/useAxios.js +14 -40
  118. package/dist/hooks/useGetRequest.js +61 -97
  119. package/dist/hooks/useHooks.js +1 -3
  120. package/dist/hooks/useRefData.js +27 -40
  121. package/dist/hooks/useValidation.js +1 -3
  122. package/dist/index.js +13 -14
  123. package/dist/models/CollectionLabels.js +1 -1
  124. package/dist/models/ComponentTypes.js +25 -25
  125. package/dist/models/EventTypes.js +4 -4
  126. package/dist/models/FormPages.js +4 -4
  127. package/dist/models/FormTypes.js +8 -8
  128. package/dist/models/HubFormats.js +3 -3
  129. package/dist/models/PageAction.js +44 -38
  130. package/dist/models/TaskStates.js +29 -28
  131. package/dist/models/index.js +9 -9
  132. package/dist/setupTests.js +30 -31
  133. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  134. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  139. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  140. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  151. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  152. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  153. package/dist/utils/CheckYourAnswers/index.js +1 -1
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  166. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  167. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  168. package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
  169. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
  170. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  172. package/dist/utils/CollectionPage/index.js +3 -1
  173. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  174. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  177. package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
  178. package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
  179. package/dist/utils/Component/addShowWhen.js +4 -8
  180. package/dist/utils/Component/addShowWhen.test.js +37 -37
  181. package/dist/utils/Component/applyToComponentTree.js +18 -18
  182. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  183. package/dist/utils/Component/cleanAttributes.js +10 -13
  184. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  185. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  186. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  187. package/dist/utils/Component/getComponent.js +88 -94
  188. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  189. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  190. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  191. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  192. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  193. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  195. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  196. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  197. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  198. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  199. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  200. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  201. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  202. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  203. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  204. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  205. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  206. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  207. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  208. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  209. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  210. package/dist/utils/Component/getDefaultValue.js +6 -8
  211. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  212. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  213. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  214. package/dist/utils/Component/index.js +1 -1
  215. package/dist/utils/Component/isEditable.js +2 -4
  216. package/dist/utils/Component/isEditable.test.js +14 -15
  217. package/dist/utils/Component/optionIsSelected.js +1 -1
  218. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  219. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  220. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  221. package/dist/utils/Component/showComponent.js +1 -1
  222. package/dist/utils/Component/showComponent.test.js +28 -28
  223. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  224. package/dist/utils/Condition/index.js +1 -1
  225. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  226. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  227. package/dist/utils/Condition/meetsCondition.js +28 -19
  228. package/dist/utils/Condition/meetsCondition.test.js +476 -376
  229. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  230. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  231. package/dist/utils/Condition/setupConditions.js +13 -18
  232. package/dist/utils/Condition/setupConditions.test.js +7 -7
  233. package/dist/utils/Container/getEditableComponents.js +3 -5
  234. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  235. package/dist/utils/Container/index.js +1 -1
  236. package/dist/utils/Container/setupNesting.js +16 -20
  237. package/dist/utils/Container/setupNesting.test.js +27 -30
  238. package/dist/utils/Container/showContainer.js +3 -7
  239. package/dist/utils/Container/showContainer.test.js +30 -30
  240. package/dist/utils/Data/applyFormula.js +38 -48
  241. package/dist/utils/Data/applyFormula.test.js +20 -20
  242. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  243. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  244. package/dist/utils/Data/getDataPath.js +18 -28
  245. package/dist/utils/Data/getDataPath.test.js +12 -12
  246. package/dist/utils/Data/getOptions.js +29 -25
  247. package/dist/utils/Data/getOptions.test.js +93 -20
  248. package/dist/utils/Data/getSourceData.js +6 -19
  249. package/dist/utils/Data/getSourceData.test.js +84 -80
  250. package/dist/utils/Data/index.js +1 -1
  251. package/dist/utils/Data/nestInRefdataOptions.js +42 -0
  252. package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
  253. package/dist/utils/Data/refDataToOptions.js +10 -13
  254. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  255. package/dist/utils/Data/setDataItem.js +7 -8
  256. package/dist/utils/Data/setDataItem.test.js +37 -37
  257. package/dist/utils/Data/setupFormData.js +13 -21
  258. package/dist/utils/Data/setupFormData.test.js +51 -50
  259. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  260. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  261. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  262. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  263. package/dist/utils/FormPage/getConditionalText.js +3 -3
  264. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  265. package/dist/utils/FormPage/getFormPage.js +15 -16
  266. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  267. package/dist/utils/FormPage/getFormPages.js +7 -12
  268. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  269. package/dist/utils/FormPage/getPageActions.js +9 -15
  270. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  271. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  272. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  273. package/dist/utils/FormPage/index.js +2 -4
  274. package/dist/utils/FormPage/showFormPage.js +3 -7
  275. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  276. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  277. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  278. package/dist/utils/FormPage/useComponent.js +21 -28
  279. package/dist/utils/FormPage/useComponent.test.js +77 -79
  280. package/dist/utils/Format/formatData.js +1 -1
  281. package/dist/utils/Format/formatData.test.js +18 -18
  282. package/dist/utils/Format/formatDataForComponent.js +5 -6
  283. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  284. package/dist/utils/Format/formatDataForForm.js +6 -8
  285. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  286. package/dist/utils/Format/formatDataForPage.js +4 -5
  287. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  288. package/dist/utils/Format/index.js +1 -1
  289. package/dist/utils/Hub/getFormHub.js +1 -1
  290. package/dist/utils/Hub/getFormHub.test.js +28 -31
  291. package/dist/utils/Hub/index.js +1 -1
  292. package/dist/utils/Meta/constants.js +2 -2
  293. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  294. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  295. package/dist/utils/Meta/documents/index.js +1 -1
  296. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  297. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  298. package/dist/utils/Meta/index.js +1 -1
  299. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  301. package/dist/utils/Operate/getFirstOf.js +5 -5
  302. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  303. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  304. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  305. package/dist/utils/Operate/index.js +1 -1
  306. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  307. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  308. package/dist/utils/Operate/runPageOperations.js +7 -7
  309. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  310. package/dist/utils/Operate/setValueInFormData.js +2 -2
  311. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  312. package/dist/utils/Operate/shouldRun.js +6 -6
  313. package/dist/utils/Operate/shouldRun.test.js +21 -27
  314. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  315. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  316. package/dist/utils/Validate/additional/index.js +6 -6
  317. package/dist/utils/Validate/additional/index.test.js +12 -12
  318. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  319. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  320. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  321. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  322. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  323. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  324. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  325. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  326. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  327. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  328. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  330. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  331. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  332. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  333. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  334. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  336. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  337. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  338. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  339. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  340. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  341. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  342. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  343. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  344. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  345. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  346. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  347. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  348. package/dist/utils/Validate/additional/utils.js +9 -22
  349. package/dist/utils/Validate/index.js +1 -1
  350. package/dist/utils/Validate/validateCollection.js +19 -25
  351. package/dist/utils/Validate/validateCollection.test.js +74 -66
  352. package/dist/utils/Validate/validateComponent.js +17 -15
  353. package/dist/utils/Validate/validateComponent.test.js +167 -146
  354. package/dist/utils/Validate/validateContainer.js +16 -19
  355. package/dist/utils/Validate/validateContainer.test.js +84 -45
  356. package/dist/utils/Validate/validateDate.js +15 -21
  357. package/dist/utils/Validate/validateDate.test.js +31 -32
  358. package/dist/utils/Validate/validateEmail.js +6 -8
  359. package/dist/utils/Validate/validateEmail.test.js +25 -25
  360. package/dist/utils/Validate/validateMultifile.js +5 -7
  361. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  362. package/dist/utils/Validate/validatePage.js +24 -18
  363. package/dist/utils/Validate/validatePage.test.js +263 -182
  364. package/dist/utils/Validate/validateRegex.js +3 -5
  365. package/dist/utils/Validate/validateRegex.test.js +14 -14
  366. package/dist/utils/Validate/validateRequired.js +4 -6
  367. package/dist/utils/Validate/validateRequired.test.js +18 -18
  368. package/dist/utils/Validate/validateTextArea.js +4 -6
  369. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  370. package/dist/utils/Validate/validateTime.js +11 -18
  371. package/dist/utils/Validate/validateTime.test.js +16 -16
  372. package/dist/utils/index.js +7 -9
  373. package/package.json +5 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _ = _interopRequireDefault(require(".."));
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] : {};
11
+ if (!masterPage) {
12
+ return [];
13
+ }
14
+ // Get data for current collection
15
+ const collectionData = _.default.CollectionPage.getData(masterPage.collection.name, masterPage.formData) || [];
16
+ let allErrors = [];
17
+
18
+ // Loop over each entry in the collection data
19
+ collectionData.forEach(entry => {
20
+ var _masterPage$childPage;
21
+ // eslint-disable-next-line no-param-reassign
22
+ activeIds = {
23
+ ...activeIds,
24
+ ["".concat(masterPage.collection.name.split('.').pop(), "ActiveId")]: entry.id
25
+ };
26
+
27
+ // 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
+ };
36
+
37
+ // Handle nested collections
38
+ if (page.childPages) {
39
+ return getErrorsForCollection(config, pageWithIds, formData, hooks, activeIds);
40
+ }
41
+ const pageErrors = _.default.Validate.page(pageWithIds);
42
+ return hooks.onValidate(pageWithIds, pageErrors);
43
+ });
44
+
45
+ // 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
+ })));
52
+ });
53
+ return allErrors;
54
+ };
55
+ var _default = exports.default = getErrorsForCollection;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ var _getErrorsForCollection = _interopRequireDefault(require("./getErrorsForCollection"));
4
+ var _models = require("../../models");
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ describe('Utils.CollectionPage.getErrorsForCollection', () => {
7
+ const HOOKS = {
8
+ onValidate: (_, errors) => errors
9
+ };
10
+ const CONFIG = {
11
+ id: 'testId'
12
+ };
13
+ const FORM_DATA = {
14
+ collection: [{
15
+ id: 22,
16
+ item1: 'blue',
17
+ child: [{
18
+ id: 11,
19
+ item4: 'red'
20
+ }]
21
+ }]
22
+ };
23
+ const FORM_DATA_MISSING_TOP = {
24
+ collection: [{
25
+ id: 22,
26
+ item2: 'blue',
27
+ child: [{
28
+ id: 11,
29
+ item4: 'red'
30
+ }]
31
+ }]
32
+ };
33
+ const FORM_DATA_MISSING_NESTED = {
34
+ collection: [{
35
+ id: 22,
36
+ item1: 'blue',
37
+ child: [{
38
+ id: 11,
39
+ item9: 'red'
40
+ }]
41
+ }]
42
+ };
43
+ const FORM_DATA_MISSING_BOTH = {
44
+ collection: [{
45
+ id: 22,
46
+ item9: 'blue',
47
+ child: [{
48
+ id: 11,
49
+ item9: 'red'
50
+ }]
51
+ }]
52
+ };
53
+ const MASTER_PAGE = {
54
+ id: 'masterPage',
55
+ collection: {
56
+ name: 'collection',
57
+ masterPage: true
58
+ },
59
+ formData: FORM_DATA,
60
+ childPages: [{
61
+ id: 'page1',
62
+ collection: {
63
+ name: 'collection'
64
+ },
65
+ formData: FORM_DATA,
66
+ components: [{
67
+ id: 'item1',
68
+ fieldId: 'item1',
69
+ label: 'Item 1',
70
+ required: true,
71
+ type: _models.ComponentTypes.TEXT
72
+ }, {
73
+ id: 'item2',
74
+ fieldId: 'item2',
75
+ label: 'Item 2',
76
+ type: _models.ComponentTypes.TEXT
77
+ }]
78
+ }]
79
+ };
80
+ const MASTER_PAGE_WITH_NESTED = {
81
+ id: 'masterPage',
82
+ collection: {
83
+ name: 'collection',
84
+ masterPage: true
85
+ },
86
+ formData: FORM_DATA,
87
+ childPages: [{
88
+ id: 'page1',
89
+ collection: {
90
+ name: 'collection'
91
+ },
92
+ formData: FORM_DATA,
93
+ components: [{
94
+ id: 'item1',
95
+ fieldId: 'item1',
96
+ label: 'Item 1',
97
+ required: true,
98
+ type: _models.ComponentTypes.TEXT
99
+ }, {
100
+ id: 'item2',
101
+ fieldId: 'item2',
102
+ label: 'Item 2',
103
+ type: _models.ComponentTypes.TEXT
104
+ }]
105
+ }, {
106
+ id: 'page2',
107
+ formData: FORM_DATA,
108
+ collection: {
109
+ name: 'collection.child',
110
+ masterPage: true
111
+ },
112
+ childPages: [{
113
+ id: 'nestedPage',
114
+ formData: FORM_DATA,
115
+ collection: {
116
+ name: 'collection.child'
117
+ },
118
+ components: [{
119
+ id: 'item4',
120
+ fieldId: 'item4',
121
+ label: 'Item 4',
122
+ required: true,
123
+ type: _models.ComponentTypes.TEXT
124
+ }, {
125
+ id: 'item5',
126
+ fieldId: 'item5',
127
+ label: 'Item 5',
128
+ type: _models.ComponentTypes.TEXT
129
+ }]
130
+ }]
131
+ }]
132
+ };
133
+ it('should return nothing for a master page without errors', () => {
134
+ const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA, HOOKS);
135
+ expect(errors.length).toEqual(0);
136
+ });
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
+ expect(errors.length).toEqual(1);
140
+ });
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
+ expect(errors.length).toEqual(0);
144
+ });
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
+ expect(errors.length).toEqual(1);
148
+ });
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
+ expect(errors.length).toEqual(2);
152
+ });
153
+ });
@@ -7,12 +7,6 @@ exports.default = void 0;
7
7
  var _meetsAllConditions = _interopRequireDefault(require("../Condition/meetsAllConditions"));
8
8
  var _showFormPage = _interopRequireDefault(require("../FormPage/showFormPage"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- 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); }
11
- 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; }
12
- 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; }
13
- 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; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- 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); }
16
10
  /**
17
11
  * Generates a new page to be used in a SumaryCard's quick edit section.
18
12
  * The page is a standard form page that has all the components that are
@@ -47,41 +41,50 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
47
41
  * editable or not.
48
42
  *
49
43
  * @param {object} masterPage The master page for the collection.
44
+ * @param {object} formData The top-level formData object.
50
45
  * @param {object} entryData The data for the current collection entry.
51
46
  * @returns Page suitble for rendering in a QuickEdit
52
47
  */
53
- var getQuickEditPage = function getQuickEditPage(masterPage, entryData) {
48
+ const getQuickEditPage = (masterPage, formData, entryData) => {
54
49
  if (!masterPage) {
55
50
  return null;
56
51
  }
57
- var fullComponents = [];
58
- masterPage.childPages.forEach(function (page) {
59
- if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, _objectSpread(_objectSpread({}, page.formData), entryData))) {
52
+ const fullComponents = [];
53
+ masterPage.childPages.forEach(page => {
54
+ if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, {
55
+ ...formData,
56
+ ...entryData
57
+ })) {
60
58
  return;
61
59
  }
62
- page.summaryQuickEdit.forEach(function (quickEditComponent) {
60
+ page.summaryQuickEdit.forEach(quickEditComponent => {
63
61
  if (typeof quickEditComponent === 'string') {
64
- fullComponents.push(_objectSpread({}, page.components.find(function (c) {
65
- return c.id === quickEditComponent;
66
- })));
62
+ fullComponents.push({
63
+ ...page.components.find(c => c.id === quickEditComponent)
64
+ });
67
65
  return;
68
66
  }
69
- var originalComponent = page.components.find(function (c) {
70
- return c.id === quickEditComponent.use;
71
- });
67
+ const originalComponent = page.components.find(c => c.id === quickEditComponent.use);
72
68
  if (!originalComponent) {
73
69
  return;
74
70
  }
75
- var mergedComponent = _objectSpread(_objectSpread({}, originalComponent), quickEditComponent);
71
+ const mergedComponent = {
72
+ ...originalComponent,
73
+ ...quickEditComponent
74
+ };
76
75
 
77
76
  // If there's a show_when in the quick edit config, then we treat
78
77
  // that as a specific test for when the component should be quick
79
78
  // editable - it doesn't get spread to the merged object.
80
79
  if (quickEditComponent.show_when) {
81
- if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, _objectSpread(_objectSpread({}, page.formData), entryData))) {
82
- fullComponents.push(_objectSpread(_objectSpread({}, mergedComponent), {}, {
80
+ if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, {
81
+ ...formData,
82
+ ...entryData
83
+ })) {
84
+ fullComponents.push({
85
+ ...mergedComponent,
83
86
  show_when: originalComponent.show_when || []
84
- }));
87
+ });
85
88
  }
86
89
  return;
87
90
  }
@@ -90,7 +93,10 @@ var getQuickEditPage = function getQuickEditPage(masterPage, entryData) {
90
93
  });
91
94
 
92
95
  // Put components and actions onto page object
93
- var pageToReturn = _objectSpread({}, masterPage.childPages[0]);
96
+ const pageToReturn = {
97
+ ...masterPage.childPages[0],
98
+ formData
99
+ };
94
100
  pageToReturn.components = fullComponents;
95
101
  pageToReturn.actions = [{
96
102
  type: 'save',
@@ -104,7 +110,15 @@ var getQuickEditPage = function getQuickEditPage(masterPage, entryData) {
104
110
  }];
105
111
 
106
112
  // Need to have the collection data at the top level
107
- pageToReturn.formData = _objectSpread(_objectSpread({}, pageToReturn.formData), entryData);
113
+ // 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
+ };
108
122
  delete pageToReturn.title;
109
123
  delete pageToReturn.collection;
110
124
  return pageToReturn;
@@ -2,14 +2,17 @@
2
2
 
3
3
  var _getQuickEditPage = _interopRequireDefault(require("./getQuickEditPage"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 MASTER_PAGE = {
5
+ describe('Utils.CollectionPage.getQuickEditPage', () => {
6
+ const FORM_DATA = {
7
+ items: [{
8
+ id: '123',
9
+ testText1: 'value 1',
10
+ testText2: 'value 2',
11
+ conditionText: 'true',
12
+ testText3: 'value 3'
13
+ }]
14
+ };
15
+ const MASTER_PAGE = {
13
16
  childPages: [{
14
17
  id: 'firstPage',
15
18
  name: 'firstPage',
@@ -44,15 +47,7 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
44
47
  fieldId: 'testText2',
45
48
  required: true
46
49
  }],
47
- formData: {
48
- items: [{
49
- id: '123',
50
- testText1: 'value 1',
51
- testText2: 'value 2',
52
- conditionText: 'true',
53
- testText3: 'value 3'
54
- }]
55
- },
50
+ formData: FORM_DATA,
56
51
  summaryQuickEdit: [{
57
52
  use: "testText2",
58
53
  show_when: {
@@ -69,19 +64,11 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
69
64
  fieldId: 'testText3',
70
65
  required: true
71
66
  }],
72
- formData: {
73
- items: [{
74
- id: '123',
75
- testText1: 'value 1',
76
- testText2: 'value 2',
77
- conditionText: 'true',
78
- testText3: 'value 3'
79
- }]
80
- },
67
+ formData: FORM_DATA,
81
68
  summaryQuickEdit: ["testText3"]
82
69
  }]
83
70
  };
84
- var EXPECTED_OUTPUT = {
71
+ const EXPECTED_OUTPUT = {
85
72
  id: 'firstPage',
86
73
  name: 'firstPage',
87
74
  components: [{
@@ -103,15 +90,7 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
103
90
  fieldId: 'testText3',
104
91
  required: true
105
92
  }],
106
- formData: {
107
- items: [{
108
- id: '123',
109
- testText1: 'value 1',
110
- testText2: 'value 2',
111
- conditionText: 'true',
112
- testText3: 'value 3'
113
- }]
114
- },
93
+ formData: FORM_DATA,
115
94
  actions: [{
116
95
  type: 'save',
117
96
  label: 'Save',
@@ -123,28 +102,30 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
123
102
  classModifiers: 'secondary'
124
103
  }]
125
104
  };
126
- var ENTRY_DATA = {
105
+ const ENTRY_DATA = {
127
106
  id: '123',
128
107
  testText1: 'value 1',
129
108
  testText2: 'value 2',
130
109
  conditionText: 'true',
131
110
  testText3: 'value 3'
132
111
  };
133
- it('should return a quick edit page', function () {
134
- var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, ENTRY_DATA);
112
+ it('should return a quick edit page', () => {
113
+ const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
135
114
  expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
136
115
  });
137
- it('should return a quick edit page without components that fail the quick edit show_when', function () {
138
- var CUSTOM_OUTPUT = _objectSpread(_objectSpread({}, EXPECTED_OUTPUT), {}, {
116
+ it('should return a quick edit page without components that fail the quick edit show_when', () => {
117
+ const CUSTOM_OUTPUT = {
118
+ ...EXPECTED_OUTPUT,
139
119
  components: [EXPECTED_OUTPUT.components[0],
140
120
  // The second component should fail the show when
141
121
  // and not be included in the quick edit page.
142
122
  EXPECTED_OUTPUT.components[2]]
143
- });
144
- var CUSTOM_ENTRY_DATA = _objectSpread(_objectSpread({}, ENTRY_DATA), {}, {
123
+ };
124
+ const CUSTOM_ENTRY_DATA = {
125
+ ...ENTRY_DATA,
145
126
  conditionText: 'false'
146
- });
147
- var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, CUSTOM_ENTRY_DATA);
127
+ };
128
+ const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
148
129
  expect(createdPage).toMatchObject(CUSTOM_OUTPUT);
149
130
  });
150
131
  });
@@ -10,19 +10,21 @@ var _duplicateCollectionPageEntry = _interopRequireDefault(require("./duplicateC
10
10
  var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
11
11
  var _getCollectionPageActiveIndex = _interopRequireDefault(require("./getCollectionPageActiveIndex"));
12
12
  var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
13
+ var _getErrorsForCollection = _interopRequireDefault(require("./getErrorsForCollection"));
13
14
  var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPages"));
14
15
  var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollectionPageEntry"));
15
16
  var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  // Local imports
18
19
 
19
- var CollectionPage = {
20
+ const CollectionPage = {
20
21
  addEntry: _addCollectionPageEntry.default,
21
22
  duplicateActiveEntry: _duplicateCollectionPageActiveEntry.default,
22
23
  duplicateEntry: _duplicateCollectionPageEntry.default,
23
24
  getActiveId: _getCollectionPageActiveId.default,
24
25
  getActiveIndex: _getCollectionPageActiveIndex.default,
25
26
  getData: _getCollectionPageData.default,
27
+ getErrorsForCollection: _getErrorsForCollection.default,
26
28
  mergePages: _mergeCollectionPages.default,
27
29
  removeEntry: _removeCollectionPageEntry.default,
28
30
  setData: _setCollectionPageData.default
@@ -4,12 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- 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); }
8
- 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; }
9
- 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; }
10
- 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; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- 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); }
13
7
  /* eslint-disable no-param-reassign */
14
8
 
15
9
  /*
@@ -28,21 +22,27 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
28
22
  * - The master page for a child collection, with its own array of child pages.
29
23
  */
30
24
 
31
- var createMasterPage = function createMasterPage(page) {
32
- return {
33
- id: page.id,
34
- name: page.name,
35
- deleteCollectionWhenHidden: page.deleteCollectionWhenHidden,
36
- collection: _objectSpread({
37
- masterPage: true
38
- }, page.collection),
39
- formData: _objectSpread({}, page.formData),
40
- childPages: [page]
25
+ const createMasterPage = page => ({
26
+ id: page.id,
27
+ name: page.name,
28
+ collection: {
29
+ masterPage: true,
30
+ ...page.collection
31
+ },
32
+ formData: {
33
+ ...page.formData
34
+ },
35
+ childPages: [page]
36
+ });
37
+ const mergeIntoMasterPage = (page, masterPage) => {
38
+ masterPage.collection = {
39
+ ...masterPage.collection,
40
+ ...page.collection
41
+ };
42
+ masterPage.formData = {
43
+ ...masterPage.formData,
44
+ ...page.formData
41
45
  };
42
- };
43
- var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
44
- masterPage.collection = _objectSpread(_objectSpread({}, masterPage.collection), page.collection);
45
- masterPage.formData = _objectSpread(_objectSpread({}, masterPage.formData), page.formData);
46
46
  masterPage.childPages = [].concat(masterPage.childPages, [page]);
47
47
  };
48
48
 
@@ -54,14 +54,14 @@ var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
54
54
  * @returns true if page belonged to a child collection and was successfully
55
55
  * nested. false if it isn't in a child collection or failed to be nested.
56
56
  */
57
- var nestUnderParent = function nestUnderParent(childPage, masterPages) {
58
- var names = childPage.collection.name.split('.');
57
+ const nestUnderParent = (childPage, masterPages) => {
58
+ const names = childPage.collection.name.split('.');
59
59
  if (names.length === 1) {
60
60
  return false;
61
61
  }
62
62
  names.pop();
63
- var parentName = names.join('.');
64
- var parentPage = masterPages[parentName] || null;
63
+ const parentName = names.join('.');
64
+ const parentPage = masterPages[parentName] || null;
65
65
  if (!parentPage) {
66
66
  // Something had gone wrong if we're here - parent collection pages
67
67
  // should always be defined before their children, so the parent master
@@ -83,15 +83,15 @@ var nestUnderParent = function nestUnderParent(childPage, masterPages) {
83
83
  * @param { array } pages Array of pages in the form.
84
84
  * @returns An array of the same pages, with a master page for each collection.
85
85
  */
86
- var mergeCollectionPages = function mergeCollectionPages(pages) {
87
- var masterPages = {};
88
- var pagesWithMasters = pages.map(function (page) {
86
+ const mergeCollectionPages = pages => {
87
+ const masterPages = {};
88
+ const pagesWithMasters = pages.map(page => {
89
89
  var _page$collection;
90
90
  if (page !== null && page !== void 0 && (_page$collection = page.collection) !== null && _page$collection !== void 0 && _page$collection.name) {
91
91
  if (!masterPages[page.collection.name]) {
92
92
  // If no master page exists for this collection.name, then
93
93
  // we kick one off using this page as a template.
94
- var newMasterPage = createMasterPage(page);
94
+ const newMasterPage = createMasterPage(page);
95
95
  masterPages[page.collection.name] = newMasterPage;
96
96
  return newMasterPage;
97
97
  }
@@ -102,20 +102,16 @@ var mergeCollectionPages = function mergeCollectionPages(pages) {
102
102
  return null;
103
103
  }
104
104
  return page;
105
- }).filter(function (page) {
106
- return !!page;
107
- });
105
+ }).filter(page => !!page);
108
106
  // We nest any child master pages under their parents here to
109
107
  // ensure that all parent master pages have been created by the
110
108
  // above code first.
111
- return pagesWithMasters.map(function (page) {
109
+ return pagesWithMasters.map(page => {
112
110
  var _page$collection2;
113
111
  if ((_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.masterPage) {
114
112
  return nestUnderParent(page, masterPages) ? null : page;
115
113
  }
116
114
  return page;
117
- }).filter(function (e) {
118
- return !!e;
119
- });
115
+ }).filter(e => !!e);
120
116
  };
121
117
  var _default = exports.default = mergeCollectionPages;