@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
@@ -4,27 +4,27 @@ var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPag
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.CollectionPage.mergeCollectionPages', function () {
8
- var TEXT_COMP = {
7
+ describe('utils.CollectionPage.mergeCollectionPages', () => {
8
+ const TEXT_COMP = {
9
9
  id: 'testText',
10
10
  fieldId: 'testText',
11
11
  type: 'text'
12
12
  };
13
- var DATE_COMP = {
13
+ const DATE_COMP = {
14
14
  id: 'testDate',
15
15
  fieldId: 'testDate',
16
16
  type: 'date'
17
17
  };
18
- it('should return the same array if no pages belong to collections', function () {
19
- var PAGES = [{
18
+ it('should return the same array if no pages belong to collections', () => {
19
+ const PAGES = [{
20
20
  id: 'page1'
21
21
  }, {
22
22
  id: 'page2'
23
23
  }];
24
24
  expect((0, _mergeCollectionPages.default)(PAGES)).toEqual(PAGES);
25
25
  });
26
- it('should merge pages from the same collection into a single page', function () {
27
- var PAGES = [{
26
+ it('should merge pages from the same collection into a single page', () => {
27
+ const PAGES = [{
28
28
  id: 'page1',
29
29
  collection: {
30
30
  name: 'collection'
@@ -37,7 +37,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
37
37
  },
38
38
  components: [DATE_COMP]
39
39
  }];
40
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
40
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
41
41
  expect(RESULT.length).toEqual(1);
42
42
  expect(RESULT[0]).toMatchObject({
43
43
  id: 'page1',
@@ -49,8 +49,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
49
49
  childPages: PAGES
50
50
  });
51
51
  });
52
- it('should correctly merge and nest child collection pages under their parents', function () {
53
- var PAGES = [{
52
+ it('should correctly merge and nest child collection pages under their parents', () => {
53
+ const PAGES = [{
54
54
  id: 'page1',
55
55
  collection: {
56
56
  name: 'parent'
@@ -75,7 +75,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
75
75
  },
76
76
  components: [DATE_COMP]
77
77
  }];
78
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
78
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
79
79
  expect(RESULT.length).toEqual(1);
80
80
  expect(RESULT[0]).toMatchObject({
81
81
  id: 'page1',
@@ -95,8 +95,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
95
95
  }]
96
96
  });
97
97
  });
98
- it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', function () {
99
- var PAGES = [{
98
+ it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', () => {
99
+ const PAGES = [{
100
100
  id: 'page1',
101
101
  collection: {
102
102
  name: 'parent.child'
@@ -121,7 +121,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
121
121
  },
122
122
  components: [DATE_COMP]
123
123
  }];
124
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
124
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
125
125
  expect(RESULT.length).toEqual(1); // One master page for parent collection.
126
126
  expect(RESULT[0].childPages.length).toEqual(3); // Two normal pages and the child collection's master page.
127
127
  expect(RESULT[0]).toMatchObject({
@@ -142,8 +142,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
142
142
  }]
143
143
  });
144
144
  });
145
- it('should leave non-collection pages unaffected', function () {
146
- var PAGES = [{
145
+ it('should leave non-collection pages unaffected', () => {
146
+ const PAGES = [{
147
147
  id: 'page1',
148
148
  collection: {
149
149
  name: 'collection'
@@ -158,7 +158,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
158
158
  }, {
159
159
  id: 'page3'
160
160
  }];
161
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
161
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
162
162
  expect(RESULT.length).toEqual(2);
163
163
  expect(RESULT[0]).toEqual({
164
164
  id: 'page1',
@@ -173,8 +173,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
173
173
  id: 'page3'
174
174
  });
175
175
  });
176
- it('should handle multiple collections', function () {
177
- var PAGES = [{
176
+ it('should handle multiple collections', () => {
177
+ const PAGES = [{
178
178
  id: 'page1',
179
179
  collection: {
180
180
  name: 'collection1'
@@ -199,7 +199,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
199
199
  },
200
200
  components: []
201
201
  }];
202
- var RESULT = (0, _mergeCollectionPages.default)(PAGES);
202
+ const RESULT = (0, _mergeCollectionPages.default)(PAGES);
203
203
  expect(RESULT.length).toEqual(2);
204
204
  expect(RESULT[0]).toEqual({
205
205
  id: 'page1',
@@ -17,18 +17,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
17
17
  * @returns null if the target entry could not be deleted.
18
18
  * The deleted entry if it was deleted successfully.
19
19
  */
20
- var removeCollectionPageEntry = function removeCollectionPageEntry(collectionName, formData, id) {
21
- var collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
20
+ const removeCollectionPageEntry = (collectionName, formData, id) => {
21
+ const collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
22
22
  if (!collectionData) {
23
23
  return null;
24
24
  }
25
- var indexToDelete = collectionData.findIndex(function (entry) {
26
- return entry.id === id;
27
- });
25
+ const indexToDelete = collectionData.findIndex(entry => entry.id === id);
28
26
  if (indexToDelete === -1) {
29
27
  return null;
30
28
  }
31
- var deletedEntry = collectionData[indexToDelete];
29
+ const deletedEntry = collectionData[indexToDelete];
32
30
  collectionData.splice(indexToDelete, 1);
33
31
  return deletedEntry;
34
32
  };
@@ -4,8 +4,8 @@ var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollect
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports.
6
6
 
7
- describe('utils.collectionPage.removeCollectionPageEntry', function () {
8
- var FORM_DATA = {
7
+ describe('utils.collectionPage.removeCollectionPageEntry', () => {
8
+ const FORM_DATA = {
9
9
  parentsActiveId: '1',
10
10
  childrenActiveId: '1',
11
11
  grandchildrenActiveId: '1',
@@ -29,20 +29,20 @@ describe('utils.collectionPage.removeCollectionPageEntry', function () {
29
29
  }]
30
30
  }]
31
31
  };
32
- it('should return null if a parent collection does not exist', function () {
33
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.chainbreak.grandchildren', FORM_DATA, '1');
32
+ it('should return null if a parent collection does not exist', () => {
33
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.chainbreak.grandchildren', FORM_DATA, '1');
34
34
  expect(removedEntry).toEqual(null);
35
35
  });
36
- it('should return null if an entry with the provided id does not exist', function () {
37
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '0');
36
+ it('should return null if an entry with the provided id does not exist', () => {
37
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '0');
38
38
  expect(removedEntry).toEqual(null);
39
39
  });
40
- it('should return null if form data is invalid', function () {
41
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
40
+ it('should return null if form data is invalid', () => {
41
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
42
42
  expect(removedEntry).toEqual(null);
43
43
  });
44
- it('should correctly remove the target entry', function () {
45
- var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
44
+ it('should correctly remove the target entry', () => {
45
+ const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
46
46
  expect(removedEntry).toEqual({
47
47
  id: '3',
48
48
  value: 'Charlie'
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var isValidIndex = function isValidIndex(value) {
8
- return typeof value === 'number' && value >= 0;
9
- };
7
+ const isValidIndex = value => typeof value === 'number' && value >= 0;
10
8
 
11
9
  /**
12
10
  * This function sets the data for a given collection in formData.
@@ -22,21 +20,24 @@ var isValidIndex = function isValidIndex(value) {
22
20
  * @param {Array} newData The new data to set for the collection.
23
21
  * @param {Object} formData Top level formData object.
24
22
  */
25
- var setCollectionPageData = function setCollectionPageData(collectionName, newData, formData) {
26
- var nameParts = collectionName.split('.');
27
- var targetCollection = nameParts[nameParts.length - 1];
28
- var data = formData;
29
- nameParts.some(function (name) {
23
+ const setCollectionPageData = (collectionName, newData, formData) => {
24
+ const nameParts = collectionName.split('.');
25
+ const targetCollection = nameParts[nameParts.length - 1];
26
+ let data = formData;
27
+ nameParts.some(name => {
30
28
  var _data$name;
31
- // Current collection doesn't exist, so create it,
32
- // add an entry and set the active id.
29
+ // Current collection doesn't exist, so create it
33
30
  if (!data[name]) {
34
- var newEntryId = Date.now().toString();
31
+ data[name] = [];
32
+ }
33
+ // If the entry matching the active ID doesn't exist in the collection, create it.
34
+ if (!data[name].find(e => e.id === formData["".concat(name, "ActiveId")])) {
35
+ const newEntryId = Date.now().toString();
35
36
  // eslint-disable-next-line no-param-reassign
36
37
  formData["".concat(name, "ActiveId")] = formData["".concat(name, "ActiveId")] || newEntryId;
37
- data[name] = [{
38
+ data[name].push({
38
39
  id: formData["".concat(name, "ActiveId")]
39
- }];
40
+ });
40
41
  }
41
42
  // We're at the target collection's level, so
42
43
  // set the new data.
@@ -45,10 +46,8 @@ var setCollectionPageData = function setCollectionPageData(collectionName, newDa
45
46
  data[targetCollection] = newData;
46
47
  return true;
47
48
  }
48
- var activeId = formData["".concat(name, "ActiveId")];
49
- var activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(function (item) {
50
- return item.id === activeId;
51
- });
49
+ const activeId = formData["".concat(name, "ActiveId")];
50
+ const activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(item => item.id === activeId);
52
51
  if (!isValidIndex(activeIndex)) {
53
52
  return true;
54
53
  }
@@ -2,10 +2,10 @@
2
2
 
3
3
  var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
- describe('Utils.CollectionPage.setCollectionPageData', function () {
6
- it('should create necessary entries when collections in the path don\'t exist', function () {
7
- var FORM_DATA = {};
8
- var NEW_DATA = [{
5
+ describe('Utils.CollectionPage.setCollectionPageData', () => {
6
+ it('should create necessary entries when collections in the path don\'t exist', () => {
7
+ const FORM_DATA = {};
8
+ const NEW_DATA = [{
9
9
  id: '123',
10
10
  value: 'Alpha'
11
11
  }];
@@ -32,11 +32,11 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
32
32
  value: 'Alpha'
33
33
  });
34
34
  });
35
- it('should not overwrite existing entry IDs', function () {
36
- var FORM_DATA = {
35
+ it('should not overwrite existing entry IDs', () => {
36
+ const FORM_DATA = {
37
37
  grandchildActiveId: 77
38
38
  };
39
- var NEW_DATA = [{
39
+ const NEW_DATA = [{
40
40
  id: '123',
41
41
  value: 'Alpha'
42
42
  }];
@@ -63,9 +63,9 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
63
63
  value: 'Alpha'
64
64
  });
65
65
  });
66
- describe('when failing to set data for a nested collection', function () {
67
- it('should do nothing if one of the parent collections does not exist', function () {
68
- var FORM_DATA = {
66
+ describe('when failing to set data for a nested collection', () => {
67
+ it('should do nothing if one of the parent collections does not exist', () => {
68
+ const FORM_DATA = {
69
69
  parentActiveId: '1',
70
70
  childActiveId: '1',
71
71
  grandchildActiveId: '1',
@@ -80,7 +80,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
80
80
  }]
81
81
  }]
82
82
  };
83
- var NEW_DATA = [{
83
+ const NEW_DATA = [{
84
84
  id: '1',
85
85
  value: 'newValue'
86
86
  }];
@@ -90,8 +90,8 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
90
90
  value: 'oldValue'
91
91
  });
92
92
  });
93
- it('should do nothing if an active ID does not exist for a parent collection', function () {
94
- var FORM_DATA = {
93
+ it('should do nothing if an active ID does not exist for a parent collection', () => {
94
+ const FORM_DATA = {
95
95
  parentActiveId: '1',
96
96
  grandchildActiveId: '1',
97
97
  parent: [{
@@ -105,7 +105,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
105
105
  }]
106
106
  }]
107
107
  };
108
- var NEW_DATA = [{
108
+ const NEW_DATA = [{
109
109
  id: '1',
110
110
  value: 'newValue'
111
111
  }];
@@ -116,15 +116,15 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
116
116
  });
117
117
  });
118
118
  });
119
- it('should correctly set the value for a top-level collection', function () {
120
- var FORM_DATA = {
119
+ it('should correctly set the value for a top-level collection', () => {
120
+ const FORM_DATA = {
121
121
  testCollectionActiveId: '1',
122
122
  testCollection: [{
123
123
  id: '1',
124
124
  value: 'oldValue'
125
125
  }]
126
126
  };
127
- var NEW_DATA = [{
127
+ const NEW_DATA = [{
128
128
  id: '1',
129
129
  value: 'newValue'
130
130
  }];
@@ -134,8 +134,8 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
134
134
  value: 'newValue'
135
135
  });
136
136
  });
137
- it('should correctly set the data for a nested collection', function () {
138
- var FORM_DATA = {
137
+ it('should correctly set the data for a nested collection', () => {
138
+ const FORM_DATA = {
139
139
  parentActiveId: '1',
140
140
  childActiveId: '1',
141
141
  grandchildActiveId: '1',
@@ -150,7 +150,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
150
150
  }]
151
151
  }]
152
152
  };
153
- var NEW_DATA = [{
153
+ const NEW_DATA = [{
154
154
  id: '1',
155
155
  value: 'newValue'
156
156
  }];
@@ -160,4 +160,22 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
160
160
  value: 'newValue'
161
161
  });
162
162
  });
163
+ it('creates a new entry and updates active ID if no matching active ID is found', () => {
164
+ const formData = {};
165
+ const collectionName = 'testCollection';
166
+ const newData = [{
167
+ id: 'dataId',
168
+ value: 'testValue'
169
+ }];
170
+ (0, _setCollectionPageData.default)(collectionName, newData, formData);
171
+
172
+ // Check if formData has been updated
173
+ expect(formData["".concat(collectionName, "ActiveId")]).toBeDefined();
174
+
175
+ // Check if the new entry was added to the collection
176
+ expect(formData[collectionName]).toBeDefined();
177
+ expect(formData[collectionName].length).toBe(1);
178
+ expect(formData[collectionName][0].id).toBe(newData[0].id);
179
+ expect(formData[collectionName][0]).toEqual(expect.objectContaining(newData[0]));
180
+ });
163
181
  });
@@ -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
  /**
14
8
  * Adds a show_when to a component.
15
9
  * If the component has no show_when, then an array is created
@@ -21,14 +15,16 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
21
15
  * @returns The component with the new show_when added.
22
16
  * null if component or condition are invalid.
23
17
  */
24
- var addShowWhen = function addShowWhen(component, condition) {
18
+ const addShowWhen = (component, condition) => {
25
19
  if (!component) {
26
20
  return null;
27
21
  }
28
22
  if (!condition) {
29
23
  return component;
30
24
  }
31
- var result = _objectSpread({}, component);
25
+ const result = {
26
+ ...component
27
+ };
32
28
  if (result.show_when) {
33
29
  if (Array.isArray(condition)) {
34
30
  result.show_when = Array.isArray(result.show_when) ? [].concat(condition, result.show_when) : [].concat(condition, [result.show_when]);
@@ -4,50 +4,50 @@ var _addShowWhen = _interopRequireDefault(require("./addShowWhen"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.Component.addShowWhen', function () {
8
- var NEW_SHOW_WHEN = {
7
+ describe('utils.Component.addShowWhen', () => {
8
+ const NEW_SHOW_WHEN = {
9
9
  field: 'field',
10
10
  op: '=',
11
11
  value: 'value'
12
12
  };
13
- it('should return null when component is undefined', function () {
14
- var result = (0, _addShowWhen.default)(undefined, {});
13
+ it('should return null when component is undefined', () => {
14
+ const result = (0, _addShowWhen.default)(undefined, {});
15
15
  expect(result).toEqual(null);
16
16
  });
17
- it('should return null when component is null', function () {
18
- var result = (0, _addShowWhen.default)(null, {});
17
+ it('should return null when component is null', () => {
18
+ const result = (0, _addShowWhen.default)(null, {});
19
19
  expect(result).toEqual(null);
20
20
  });
21
- it('should return component when condition is undefined', function () {
22
- var COMPONENT = {
21
+ it('should return component when condition is undefined', () => {
22
+ const COMPONENT = {
23
23
  alpha: 'bravo'
24
24
  };
25
- var result = (0, _addShowWhen.default)(COMPONENT, undefined);
25
+ const result = (0, _addShowWhen.default)(COMPONENT, undefined);
26
26
  expect(result).toEqual({
27
27
  alpha: 'bravo'
28
28
  });
29
29
  });
30
- it('should return component when condition is null', function () {
31
- var COMPONENT = {
30
+ it('should return component when condition is null', () => {
31
+ const COMPONENT = {
32
32
  alpha: 'bravo'
33
33
  };
34
- var result = (0, _addShowWhen.default)(COMPONENT, null);
34
+ const result = (0, _addShowWhen.default)(COMPONENT, null);
35
35
  expect(result).toEqual({
36
36
  alpha: 'bravo'
37
37
  });
38
38
  });
39
- it('should add the show_when to a component with no existing show_whens', function () {
40
- var COMPONENT = {
39
+ it('should add the show_when to a component with no existing show_whens', () => {
40
+ const COMPONENT = {
41
41
  alpha: 'bravo'
42
42
  };
43
- var result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
43
+ const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
44
44
  expect(result).toEqual({
45
45
  alpha: 'bravo',
46
46
  show_when: NEW_SHOW_WHEN
47
47
  });
48
48
  });
49
- it('should add the array type show_when to a component with no existing show_whens', function () {
50
- var NEW_ARRAY_SHOW_WHEN = [{
49
+ it('should add the array type show_when to a component with no existing show_whens', () => {
50
+ const NEW_ARRAY_SHOW_WHEN = [{
51
51
  field: 'abc',
52
52
  op: '=',
53
53
  value: 'bcd'
@@ -56,17 +56,17 @@ describe('utils.Component.addShowWhen', function () {
56
56
  op: '=',
57
57
  value: 'efg'
58
58
  }];
59
- var COMPONENT = {
59
+ const COMPONENT = {
60
60
  alpha: 'bravo'
61
61
  };
62
- var result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
62
+ const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
63
63
  expect(result).toEqual({
64
64
  alpha: 'bravo',
65
65
  show_when: NEW_ARRAY_SHOW_WHEN
66
66
  });
67
67
  });
68
- it('should add the show_when to a component with a single show_when', function () {
69
- var COMPONENT = {
68
+ it('should add the show_when to a component with a single show_when', () => {
69
+ const COMPONENT = {
70
70
  alpha: 'bravo',
71
71
  show_when: {
72
72
  field: 'abc',
@@ -74,7 +74,7 @@ describe('utils.Component.addShowWhen', function () {
74
74
  value: 'bcd'
75
75
  }
76
76
  };
77
- var result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
77
+ const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
78
78
  expect(result).toEqual({
79
79
  alpha: 'bravo',
80
80
  show_when: [{
@@ -84,8 +84,8 @@ describe('utils.Component.addShowWhen', function () {
84
84
  }, NEW_SHOW_WHEN]
85
85
  });
86
86
  });
87
- it('should add the show_when to a component with an array of show_whens', function () {
88
- var COMPONENT = {
87
+ it('should add the show_when to a component with an array of show_whens', () => {
88
+ const COMPONENT = {
89
89
  alpha: 'bravo',
90
90
  show_when: [{
91
91
  field: 'abc',
@@ -97,7 +97,7 @@ describe('utils.Component.addShowWhen', function () {
97
97
  value: 'efg'
98
98
  }]
99
99
  };
100
- var result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
100
+ const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
101
101
  expect(result).toEqual({
102
102
  alpha: 'bravo',
103
103
  show_when: [{
@@ -111,11 +111,11 @@ describe('utils.Component.addShowWhen', function () {
111
111
  }, NEW_SHOW_WHEN]
112
112
  });
113
113
  });
114
- it('should add the or type show_when to a component with no existing show_whens in an object not an array', function () {
115
- var COMPONENT = {
114
+ it('should add the or type show_when to a component with no existing show_whens in an object not an array', () => {
115
+ const COMPONENT = {
116
116
  alpha: 'bravo'
117
117
  };
118
- var SHOW_WHEN_OR = {
118
+ const SHOW_WHEN_OR = {
119
119
  type: 'or',
120
120
  condition: [{
121
121
  field: 'field1',
@@ -127,14 +127,14 @@ describe('utils.Component.addShowWhen', function () {
127
127
  value: 2
128
128
  }]
129
129
  };
130
- var result = (0, _addShowWhen.default)(COMPONENT, SHOW_WHEN_OR);
130
+ const result = (0, _addShowWhen.default)(COMPONENT, SHOW_WHEN_OR);
131
131
  expect(result).toEqual({
132
132
  alpha: 'bravo',
133
133
  show_when: SHOW_WHEN_OR
134
134
  });
135
135
  });
136
- it('should add an array of show_whens to a component with an array of show_whens', function () {
137
- var NEW_ARRAY_SHOW_WHEN = [{
136
+ it('should add an array of show_whens to a component with an array of show_whens', () => {
137
+ const NEW_ARRAY_SHOW_WHEN = [{
138
138
  field: 'hij',
139
139
  op: '=',
140
140
  value: 'klm'
@@ -143,7 +143,7 @@ describe('utils.Component.addShowWhen', function () {
143
143
  op: '=',
144
144
  value: 'qrs'
145
145
  }];
146
- var COMPONENT = {
146
+ const COMPONENT = {
147
147
  alpha: 'bravo',
148
148
  show_when: [{
149
149
  field: 'abc',
@@ -155,7 +155,7 @@ describe('utils.Component.addShowWhen', function () {
155
155
  value: 'efg'
156
156
  }]
157
157
  };
158
- var result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
158
+ const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
159
159
  expect(result).toEqual({
160
160
  alpha: 'bravo',
161
161
  show_when: [{
@@ -177,8 +177,8 @@ describe('utils.Component.addShowWhen', function () {
177
177
  }]
178
178
  });
179
179
  });
180
- it('should add an array of show_whens to a component with a single show_when', function () {
181
- var NEW_ARRAY_SHOW_WHEN = [{
180
+ it('should add an array of show_whens to a component with a single show_when', () => {
181
+ const NEW_ARRAY_SHOW_WHEN = [{
182
182
  field: 'hij',
183
183
  op: '=',
184
184
  value: 'klm'
@@ -187,7 +187,7 @@ describe('utils.Component.addShowWhen', function () {
187
187
  op: '=',
188
188
  value: 'qrs'
189
189
  }];
190
- var COMPONENT = {
190
+ const COMPONENT = {
191
191
  alpha: 'bravo',
192
192
  show_when: {
193
193
  field: 'abc',
@@ -195,7 +195,7 @@ describe('utils.Component.addShowWhen', function () {
195
195
  value: 'bcd'
196
196
  }
197
197
  };
198
- var result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
198
+ const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
199
199
  expect(result).toEqual({
200
200
  alpha: 'bravo',
201
201
  show_when: [{