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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
  5. package/dist/components/CollectionPage/CollectionPage.js +73 -63
  6. package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
  7. package/dist/components/CollectionSummary/BannerStrip.js +13 -13
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
  9. package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
  11. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  12. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  13. package/dist/components/CollectionSummary/RenderListView.js +45 -51
  14. package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
  15. package/dist/components/CollectionSummary/SummaryCard.js +104 -135
  16. package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
  17. package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
  18. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
  19. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
  20. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
  21. package/dist/components/FormComponent/Collection.js +74 -108
  22. package/dist/components/FormComponent/Collection.test.js +909 -1081
  23. package/dist/components/FormComponent/Container.js +40 -38
  24. package/dist/components/FormComponent/Container.test.js +314 -345
  25. package/dist/components/FormComponent/FormComponent.js +69 -72
  26. package/dist/components/FormComponent/FormComponent.test.js +353 -414
  27. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  28. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  29. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  30. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  31. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  32. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  33. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  34. package/dist/components/FormComponent/helpers/index.js +4 -4
  35. package/dist/components/FormPage/FormPage.js +65 -80
  36. package/dist/components/FormPage/FormPage.test.js +127 -163
  37. package/dist/components/FormRenderer/FormRenderer.js +143 -179
  38. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  39. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  40. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  41. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  42. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  43. package/dist/components/FormRenderer/handlers/index.js +1 -1
  44. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  45. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  46. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  47. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
  48. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  49. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  50. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  51. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  52. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  53. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  54. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  55. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  56. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  57. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  58. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  59. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  60. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  61. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  62. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  63. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
  64. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  65. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
  66. package/dist/components/FormRenderer/helpers/index.js +2 -4
  67. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  68. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  69. package/dist/components/FormRenderer/onPageAction.js +44 -47
  70. package/dist/components/FormRenderer/onPageAction.test.js +223 -213
  71. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  72. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  73. package/dist/components/PageActions/ActionButton.js +12 -15
  74. package/dist/components/PageActions/ActionButton.test.js +56 -78
  75. package/dist/components/PageActions/PageActions.js +10 -10
  76. package/dist/components/PageActions/PageActions.test.js +86 -115
  77. package/dist/components/SummaryList/GroupAction.js +9 -17
  78. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  79. package/dist/components/SummaryList/RowAction.js +11 -16
  80. package/dist/components/SummaryList/RowAction.test.js +37 -33
  81. package/dist/components/SummaryList/SummaryList.js +21 -26
  82. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  83. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  84. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  85. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  86. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  87. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  88. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  89. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  90. package/dist/components/SummaryList/helpers/index.js +1 -1
  91. package/dist/components/TaskList/Task.js +19 -29
  92. package/dist/components/TaskList/Task.test.js +83 -76
  93. package/dist/components/TaskList/TaskList.js +45 -71
  94. package/dist/components/TaskList/TaskList.test.js +113 -111
  95. package/dist/components/TaskList/TaskState.js +7 -5
  96. package/dist/components/TaskList/TaskState.test.js +52 -45
  97. package/dist/components/index.js +7 -7
  98. package/dist/context/HooksContext/HooksContext.js +57 -80
  99. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  100. package/dist/context/HooksContext/index.js +3 -4
  101. package/dist/context/ValidationContext/ValidationContext.js +43 -94
  102. package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
  103. package/dist/context/ValidationContext/index.js +3 -4
  104. package/dist/context/index.js +2 -2
  105. package/dist/hooks/index.js +9 -10
  106. package/dist/hooks/useAxios.js +14 -40
  107. package/dist/hooks/useGetRequest.js +61 -97
  108. package/dist/hooks/useHooks.js +1 -3
  109. package/dist/hooks/useRefData.js +26 -39
  110. package/dist/hooks/useValidation.js +1 -3
  111. package/dist/index.js +13 -14
  112. package/dist/models/CollectionLabels.js +1 -1
  113. package/dist/models/ComponentTypes.js +25 -25
  114. package/dist/models/EventTypes.js +4 -4
  115. package/dist/models/FormPages.js +4 -4
  116. package/dist/models/FormTypes.js +8 -8
  117. package/dist/models/HubFormats.js +3 -3
  118. package/dist/models/PageAction.js +44 -38
  119. package/dist/models/TaskStates.js +29 -28
  120. package/dist/models/index.js +9 -9
  121. package/dist/setupTests.js +30 -31
  122. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  123. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  124. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  125. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  126. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  127. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  128. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  129. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  130. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  131. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  132. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  133. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
  134. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
  135. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
  136. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  137. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  138. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  139. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  140. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
  141. package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
  142. package/dist/utils/CheckYourAnswers/index.js +1 -1
  143. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  144. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  145. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  146. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  147. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  148. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
  149. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
  150. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
  151. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  152. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  153. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  154. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  155. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  156. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  157. package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
  158. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
  159. package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
  160. package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
  161. package/dist/utils/CollectionPage/index.js +1 -1
  162. package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
  163. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
  164. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  165. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  166. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  167. package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
  168. package/dist/utils/Component/addShowWhen.js +4 -8
  169. package/dist/utils/Component/addShowWhen.test.js +37 -37
  170. package/dist/utils/Component/applyToComponentTree.js +18 -18
  171. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  172. package/dist/utils/Component/cleanAttributes.js +10 -13
  173. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  174. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  175. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  176. package/dist/utils/Component/getComponent.js +88 -94
  177. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  178. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  179. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  180. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  181. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  182. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  183. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  184. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  185. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  186. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  187. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  188. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  189. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  190. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  191. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  192. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
  193. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  194. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  195. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  196. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  197. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  198. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  199. package/dist/utils/Component/getDefaultValue.js +6 -8
  200. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  201. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  202. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  203. package/dist/utils/Component/index.js +1 -1
  204. package/dist/utils/Component/isEditable.js +2 -4
  205. package/dist/utils/Component/isEditable.test.js +14 -15
  206. package/dist/utils/Component/optionIsSelected.js +1 -1
  207. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  208. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  209. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  210. package/dist/utils/Component/showComponent.js +1 -1
  211. package/dist/utils/Component/showComponent.test.js +28 -28
  212. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  213. package/dist/utils/Condition/index.js +1 -1
  214. package/dist/utils/Condition/meetsAllConditions.js +8 -8
  215. package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
  216. package/dist/utils/Condition/meetsCondition.js +16 -25
  217. package/dist/utils/Condition/meetsCondition.test.js +402 -402
  218. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  219. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  220. package/dist/utils/Condition/setupConditions.js +13 -18
  221. package/dist/utils/Condition/setupConditions.test.js +7 -7
  222. package/dist/utils/Container/getEditableComponents.js +3 -5
  223. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  224. package/dist/utils/Container/index.js +1 -1
  225. package/dist/utils/Container/setupNesting.js +16 -20
  226. package/dist/utils/Container/setupNesting.test.js +27 -30
  227. package/dist/utils/Container/showContainer.js +3 -7
  228. package/dist/utils/Container/showContainer.test.js +30 -30
  229. package/dist/utils/Data/applyFormula.js +38 -48
  230. package/dist/utils/Data/applyFormula.test.js +20 -20
  231. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  232. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  233. package/dist/utils/Data/getDataPath.js +18 -28
  234. package/dist/utils/Data/getDataPath.test.js +12 -12
  235. package/dist/utils/Data/getOptions.js +24 -30
  236. package/dist/utils/Data/getOptions.test.js +27 -27
  237. package/dist/utils/Data/getSourceData.js +6 -19
  238. package/dist/utils/Data/getSourceData.test.js +84 -80
  239. package/dist/utils/Data/index.js +1 -1
  240. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  241. package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
  242. package/dist/utils/Data/refDataToOptions.js +10 -13
  243. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  244. package/dist/utils/Data/setDataItem.js +7 -8
  245. package/dist/utils/Data/setDataItem.test.js +37 -37
  246. package/dist/utils/Data/setupFormData.js +13 -21
  247. package/dist/utils/Data/setupFormData.test.js +51 -50
  248. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  249. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  250. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  251. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  252. package/dist/utils/FormPage/getConditionalText.js +3 -3
  253. package/dist/utils/FormPage/getConditionalText.test.js +29 -29
  254. package/dist/utils/FormPage/getFormPage.js +15 -16
  255. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  256. package/dist/utils/FormPage/getFormPages.js +7 -12
  257. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  258. package/dist/utils/FormPage/getPageActions.js +9 -15
  259. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  260. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  261. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  262. package/dist/utils/FormPage/index.js +2 -4
  263. package/dist/utils/FormPage/showFormPage.js +3 -7
  264. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  265. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  266. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  267. package/dist/utils/FormPage/useComponent.js +21 -28
  268. package/dist/utils/FormPage/useComponent.test.js +77 -79
  269. package/dist/utils/Format/formatData.js +1 -1
  270. package/dist/utils/Format/formatData.test.js +18 -18
  271. package/dist/utils/Format/formatDataForComponent.js +5 -6
  272. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  273. package/dist/utils/Format/formatDataForForm.js +6 -8
  274. package/dist/utils/Format/formatDataForForm.test.js +13 -16
  275. package/dist/utils/Format/formatDataForPage.js +4 -5
  276. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  277. package/dist/utils/Format/index.js +1 -1
  278. package/dist/utils/Hub/getFormHub.js +1 -1
  279. package/dist/utils/Hub/getFormHub.test.js +28 -31
  280. package/dist/utils/Hub/index.js +1 -1
  281. package/dist/utils/Meta/constants.js +2 -2
  282. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  283. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  284. package/dist/utils/Meta/documents/index.js +1 -1
  285. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  286. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  287. package/dist/utils/Meta/index.js +1 -1
  288. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  289. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  290. package/dist/utils/Operate/getFirstOf.js +5 -5
  291. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  292. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  293. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
  294. package/dist/utils/Operate/index.js +1 -1
  295. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  296. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  297. package/dist/utils/Operate/runPageOperations.js +7 -7
  298. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  299. package/dist/utils/Operate/setValueInFormData.js +2 -2
  300. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  301. package/dist/utils/Operate/shouldRun.js +6 -6
  302. package/dist/utils/Operate/shouldRun.test.js +21 -27
  303. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  304. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  305. package/dist/utils/Validate/additional/index.js +6 -6
  306. package/dist/utils/Validate/additional/index.test.js +12 -12
  307. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  308. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  309. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  310. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  311. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  312. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  313. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  314. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  315. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  316. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  317. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  318. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  319. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  320. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  321. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  322. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  323. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  324. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  325. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  326. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  327. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
  328. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
  329. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  330. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  331. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  332. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  333. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  334. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  335. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  336. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  337. package/dist/utils/Validate/additional/utils.js +9 -22
  338. package/dist/utils/Validate/index.js +1 -1
  339. package/dist/utils/Validate/validateCollection.js +19 -25
  340. package/dist/utils/Validate/validateCollection.test.js +74 -66
  341. package/dist/utils/Validate/validateComponent.js +17 -15
  342. package/dist/utils/Validate/validateComponent.test.js +167 -146
  343. package/dist/utils/Validate/validateContainer.js +15 -20
  344. package/dist/utils/Validate/validateContainer.test.js +58 -52
  345. package/dist/utils/Validate/validateDate.js +15 -21
  346. package/dist/utils/Validate/validateDate.test.js +31 -32
  347. package/dist/utils/Validate/validateEmail.js +6 -8
  348. package/dist/utils/Validate/validateEmail.test.js +25 -25
  349. package/dist/utils/Validate/validateMultifile.js +5 -7
  350. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  351. package/dist/utils/Validate/validatePage.js +19 -22
  352. package/dist/utils/Validate/validatePage.test.js +215 -203
  353. package/dist/utils/Validate/validateRegex.js +3 -5
  354. package/dist/utils/Validate/validateRegex.test.js +14 -14
  355. package/dist/utils/Validate/validateRequired.js +4 -6
  356. package/dist/utils/Validate/validateRequired.test.js +18 -18
  357. package/dist/utils/Validate/validateTextArea.js +4 -6
  358. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  359. package/dist/utils/Validate/validateTime.js +11 -18
  360. package/dist/utils/Validate/validateTime.test.js +16 -16
  361. package/dist/utils/index.js +7 -9
  362. package/package.json +2 -2
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
  387. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
  388. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
  389. package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
  390. package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
@@ -4,30 +4,30 @@ var _showContainer = _interopRequireDefault(require("./showContainer"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.Container.showContainer', function () {
8
- var DATA = {
7
+ describe('utils.Container.showContainer', () => {
8
+ const DATA = {
9
9
  alpha: 'Alpha',
10
10
  bravo: 'Bravo'
11
11
  };
12
- var HTML = {
12
+ const HTML = {
13
13
  type: 'html',
14
14
  tagName: 'p',
15
15
  content: 'Alpha'
16
16
  };
17
- var INSET_TEXT = {
17
+ const INSET_TEXT = {
18
18
  type: 'inset-text',
19
19
  content: 'Bravo'
20
20
  };
21
- var HEADING = {
21
+ const HEADING = {
22
22
  type: 'heading',
23
23
  size: 'm',
24
24
  content: 'Charlie'
25
25
  };
26
- it('should NOT be shown when the container is null', function () {
26
+ it('should NOT be shown when the container is null', () => {
27
27
  expect((0, _showContainer.default)(null, DATA)).toBeFalsy();
28
28
  });
29
- it('should NOT be shown when the container has a single show_when condition that is NOT matched', function () {
30
- var CONTAINER = {
29
+ it('should NOT be shown when the container has a single show_when condition that is NOT matched', () => {
30
+ const CONTAINER = {
31
31
  show_when: {
32
32
  field: 'charlie',
33
33
  op: '=',
@@ -36,8 +36,8 @@ describe('utils.Container.showContainer', function () {
36
36
  };
37
37
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeFalsy();
38
38
  });
39
- it('should NOT be shown when the container has multiple show_when conditions and at least one is NOT matched', function () {
40
- var CONTAINER = {
39
+ it('should NOT be shown when the container has multiple show_when conditions and at least one is NOT matched', () => {
40
+ const CONTAINER = {
41
41
  show_when: [{
42
42
  field: 'alpha',
43
43
  op: '=',
@@ -50,8 +50,8 @@ describe('utils.Container.showContainer', function () {
50
50
  };
51
51
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeFalsy();
52
52
  });
53
- it('SHOULD be shown when the container has a single show_when condition that IS matched', function () {
54
- var CONTAINER = {
53
+ it('SHOULD be shown when the container has a single show_when condition that IS matched', () => {
54
+ const CONTAINER = {
55
55
  show_when: {
56
56
  field: 'alpha',
57
57
  op: '=',
@@ -60,8 +60,8 @@ describe('utils.Container.showContainer', function () {
60
60
  };
61
61
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
62
62
  });
63
- it('SHOULD be shown when the container has multiple show_when conditions that are ALL matched', function () {
64
- var CONTAINER = {
63
+ it('SHOULD be shown when the container has multiple show_when conditions that are ALL matched', () => {
64
+ const CONTAINER = {
65
65
  show_when: [{
66
66
  field: 'alpha',
67
67
  op: '=',
@@ -74,14 +74,14 @@ describe('utils.Container.showContainer', function () {
74
74
  };
75
75
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
76
76
  });
77
- it('SHOULD be shown when the container has NO show_when conditions and NO editable components', function () {
78
- var CONTAINER = {
77
+ it('SHOULD be shown when the container has NO show_when conditions and NO editable components', () => {
78
+ const CONTAINER = {
79
79
  components: [HTML, INSET_TEXT, HEADING]
80
80
  };
81
81
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
82
82
  });
83
- it('should NOT be shown when the container has NO show_when conditions and NO SHOWN editable components', function () {
84
- var TEXT = {
83
+ it('should NOT be shown when the container has NO show_when conditions and NO SHOWN editable components', () => {
84
+ const TEXT = {
85
85
  type: 'text',
86
86
  show_when: {
87
87
  field: 'charlie',
@@ -89,7 +89,7 @@ describe('utils.Container.showContainer', function () {
89
89
  value: 'Charlie'
90
90
  }
91
91
  };
92
- var RADIOS = {
92
+ const RADIOS = {
93
93
  type: 'radios',
94
94
  show_when: {
95
95
  field: 'charlie',
@@ -97,13 +97,13 @@ describe('utils.Container.showContainer', function () {
97
97
  value: 'Charlie'
98
98
  }
99
99
  };
100
- var CONTAINER = {
100
+ const CONTAINER = {
101
101
  components: [TEXT, RADIOS]
102
102
  };
103
103
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeFalsy();
104
104
  });
105
- it('SHOULD be shown when the container has NO show_when conditions and AT LEAST ONE SHOWN editable components', function () {
106
- var TEXT = {
105
+ it('SHOULD be shown when the container has NO show_when conditions and AT LEAST ONE SHOWN editable components', () => {
106
+ const TEXT = {
107
107
  type: 'text',
108
108
  show_when: {
109
109
  field: 'alpha',
@@ -111,7 +111,7 @@ describe('utils.Container.showContainer', function () {
111
111
  value: 'Alpha'
112
112
  }
113
113
  };
114
- var RADIOS = {
114
+ const RADIOS = {
115
115
  type: 'radios',
116
116
  show_when: {
117
117
  field: 'charlie',
@@ -119,13 +119,13 @@ describe('utils.Container.showContainer', function () {
119
119
  value: 'Charlie'
120
120
  }
121
121
  };
122
- var CONTAINER = {
122
+ const CONTAINER = {
123
123
  components: [TEXT, RADIOS]
124
124
  };
125
125
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
126
126
  });
127
- it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and ALL are matched', function () {
128
- var CONTAINER = {
127
+ it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and ALL are matched', () => {
128
+ const CONTAINER = {
129
129
  show_when: {
130
130
  "type": "or",
131
131
  "conditions": [{
@@ -141,8 +141,8 @@ describe('utils.Container.showContainer', function () {
141
141
  };
142
142
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
143
143
  });
144
- it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and at least ONE is matched', function () {
145
- var CONTAINER = {
144
+ it('SHOULD be shown when the container has multiple show_when conditions, with type "or" provided and at least ONE is matched', () => {
145
+ const CONTAINER = {
146
146
  show_when: {
147
147
  "type": "or",
148
148
  "conditions": [{
@@ -158,8 +158,8 @@ describe('utils.Container.showContainer', function () {
158
158
  };
159
159
  expect((0, _showContainer.default)(CONTAINER, DATA)).toBeTruthy();
160
160
  });
161
- it('should NOT be shown when the container has multiple show_when conditions, with type "or" provided and NONE are matched', function () {
162
- var CONTAINER = {
161
+ it('should NOT be shown when the container has multiple show_when conditions, with type "or" provided and NONE are matched', () => {
162
+ const CONTAINER = {
163
163
  show_when: {
164
164
  "type": "or",
165
165
  "conditions": [{
@@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
- 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); }
9
- 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; }
10
- 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; }
11
- 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; }
12
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
- 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); } /* eslint-disable no-use-before-define, prefer-exponentiation-operator, no-restricted-properties */ // Global imports
14
- var applyFormula = function applyFormula(config) {
8
+ /* eslint-disable no-use-before-define, prefer-exponentiation-operator, no-restricted-properties */
9
+
10
+ // Global imports
11
+
12
+ const applyFormula = config => {
15
13
  try {
16
- var result = simplify(config);
14
+ const result = simplify(config);
17
15
  return !result && result !== 0 ? '' : result;
18
16
  } catch (err) {
19
17
  // eslint-disable-next-line no-console
@@ -21,72 +19,67 @@ var applyFormula = function applyFormula(config) {
21
19
  }
22
20
  return '';
23
21
  };
24
- var simplify = function simplify(config) {
22
+ const simplify = config => {
25
23
  if (!config || !config.formula) {
26
24
  throw new Error("Missing 'formula' definition");
27
25
  }
28
- var _config$formula = _objectSpread({}, config.formula),
29
- name = _config$formula.name;
26
+ const {
27
+ name
28
+ } = {
29
+ ...config.formula
30
+ };
30
31
  switch (name) {
31
32
  case 'multiply':
32
- return reduceNumber(config, function (t, c) {
33
- return t * c;
34
- });
33
+ return reduceNumber(config, (t, c) => t * c);
35
34
  case 'divide':
36
- return reduceNumber(config, function (t, c) {
37
- return t / c;
38
- });
35
+ return reduceNumber(config, (t, c) => t / c);
39
36
  case 'plus':
40
- return reduceNumber(config, function (t, c) {
41
- return t + c;
42
- });
37
+ return reduceNumber(config, (t, c) => t + c);
43
38
  case 'minus':
44
- return reduceNumber(config, function (t, c) {
45
- return t - c;
46
- });
39
+ return reduceNumber(config, (t, c) => t - c);
47
40
  default:
48
41
  throw new Error(!name ? "Calculation formula 'name' cannot be empty" : "Unsupported operation '".concat(name, "'"));
49
42
  }
50
43
  };
51
- var reduceNumber = function reduceNumber(config, reduction) {
52
- var _config$formula2 = _objectSpread({}, config.formula),
53
- args = _config$formula2.args;
44
+ const reduceNumber = (config, reduction) => {
45
+ const {
46
+ args
47
+ } = {
48
+ ...config.formula
49
+ };
54
50
  if (args.length < 2) {
55
51
  throw new Error('Requires more than one argument for calculation');
56
52
  }
57
- return round(args.map(function (a) {
58
- return getValue(a, config.formData);
59
- }).reduce(function (total, current, index) {
60
- return index === 0 ? current : reduction(total, current);
61
- }, 0), config);
53
+ return round(args.map(a => getValue(a, config.formData)).reduce((total, current, index) => index === 0 ? current : reduction(total, current), 0), config);
62
54
  };
63
- var round = function round(number, config) {
64
- var roundNumber = config.formula.round;
55
+ const round = (number, config) => {
56
+ const roundNumber = config.formula.round;
65
57
  if (!roundNumber && roundNumber !== 0 || !number) return number;
66
58
  if (roundNumber === 0) {
67
59
  return parseInt(number, 10);
68
60
  }
69
- var precisionScale = Math.pow(10, roundNumber);
61
+ const precisionScale = Math.pow(10, roundNumber);
70
62
  return Math.round((number + Number.EPSILON) * precisionScale) / precisionScale;
71
63
  };
72
- var getValue = function getValue(arg, formData) {
73
- var keys = Object.keys(arg);
64
+ const getValue = (arg, formData) => {
65
+ const keys = Object.keys(arg);
74
66
  if (keys.length === 1) {
75
- var key = keys[0];
76
- var val = arg[key];
67
+ const key = keys[0];
68
+ const val = arg[key];
77
69
  switch (key) {
78
70
  case 'field':
79
71
  {
80
- var fieldVal = fieldValue(val, formData);
72
+ const fieldVal = fieldValue(val, formData);
81
73
  return !fieldVal && fieldVal !== 0 ? NaN : parseFloat(fieldVal);
82
74
  }
83
75
  ;
84
76
  case 'value':
85
77
  return parseFloat(val);
86
78
  case 'formula':
87
- return applyFormula(_objectSpread(_objectSpread({}, arg), {}, {
88
- formData: formData
89
- }));
79
+ return applyFormula({
80
+ ...arg,
81
+ formData
82
+ });
90
83
  default:
91
84
  throw new Error('Only accept following as argument field: {field, value, or formula}');
92
85
  }
@@ -94,10 +87,7 @@ var getValue = function getValue(arg, formData) {
94
87
  throw new Error('Argument cannot have more than one reference');
95
88
  }
96
89
  };
97
- var fieldValue = function fieldValue(field, data) {
98
- return (
99
- // eslint-disable-next-line prefer-template
100
- _copReactComponents.Utils.interpolateString('${' + field + '}', data)
101
- );
102
- };
90
+ const fieldValue = (field, data) =>
91
+ // eslint-disable-next-line prefer-template
92
+ _copReactComponents.Utils.interpolateString('${' + field + '}', data);
103
93
  var _default = exports.default = applyFormula;
@@ -4,29 +4,29 @@ var _applyFormula = _interopRequireDefault(require("./applyFormula"));
4
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
5
  // Local imports
6
6
 
7
- describe('utils.Data.applyFormula', function () {
8
- var error = jest.spyOn(console, 'error').mockImplementation(function () {});
9
- afterAll(function () {
7
+ describe('utils.Data.applyFormula', () => {
8
+ const error = jest.spyOn(console, 'error').mockImplementation(() => {});
9
+ afterAll(() => {
10
10
  error.mockReset();
11
11
  });
12
- afterEach(function () {
12
+ afterEach(() => {
13
13
  error.mockClear();
14
14
  });
15
- it('should throw and handle exception for a null config', function () {
15
+ it('should throw and handle exception for a null config', () => {
16
16
  (0, _applyFormula.default)(null);
17
17
  expect(error).toBeCalledWith("Missing 'formula' definition");
18
18
  });
19
- it("should throw and handle exception for config with missing 'formula'", function () {
19
+ it("should throw and handle exception for config with missing 'formula'", () => {
20
20
  (0, _applyFormula.default)({});
21
21
  expect(error).toBeCalledWith("Missing 'formula' definition");
22
22
  });
23
- it("should throw and handle exception for config with 'formula' but missing 'name'", function () {
23
+ it("should throw and handle exception for config with 'formula' but missing 'name'", () => {
24
24
  (0, _applyFormula.default)({
25
25
  formula: {}
26
26
  });
27
27
  expect(error).toBeCalledWith("Calculation formula 'name' cannot be empty");
28
28
  });
29
- it("should throw and handle exception for config with 'formula' with unsupported operation 'name'", function () {
29
+ it("should throw and handle exception for config with 'formula' with unsupported operation 'name'", () => {
30
30
  (0, _applyFormula.default)({
31
31
  formula: {
32
32
  name: "something"
@@ -34,7 +34,7 @@ describe('utils.Data.applyFormula', function () {
34
34
  });
35
35
  expect(error).toBeCalledWith("Unsupported operation 'something'");
36
36
  });
37
- it("should throw and handle exception for 'formula' with wrong argument name", function () {
37
+ it("should throw and handle exception for 'formula' with wrong argument name", () => {
38
38
  (0, _applyFormula.default)({
39
39
  formula: {
40
40
  name: 'plus',
@@ -47,7 +47,7 @@ describe('utils.Data.applyFormula', function () {
47
47
  });
48
48
  expect(error).toBeCalledWith('Only accept following as argument field: {field, value, or formula}');
49
49
  });
50
- it("should throw and handle exception for 'formula' argument with more than one field", function () {
50
+ it("should throw and handle exception for 'formula' argument with more than one field", () => {
51
51
  (0, _applyFormula.default)({
52
52
  formula: {
53
53
  name: 'plus',
@@ -61,7 +61,7 @@ describe('utils.Data.applyFormula', function () {
61
61
  });
62
62
  expect(error).toBeCalledWith('Argument cannot have more than one reference');
63
63
  });
64
- it("should throw and handle exception for 'formula' with single argument", function () {
64
+ it("should throw and handle exception for 'formula' with single argument", () => {
65
65
  (0, _applyFormula.default)({
66
66
  formula: {
67
67
  name: 'plus',
@@ -72,7 +72,7 @@ describe('utils.Data.applyFormula', function () {
72
72
  });
73
73
  expect(error).toBeCalledWith('Requires more than one argument for calculation');
74
74
  });
75
- var DATA = {
75
+ const DATA = {
76
76
  fieldA: '10',
77
77
  fieldB: '20',
78
78
  fieldC: 'abc',
@@ -137,9 +137,9 @@ describe('utils.Data.applyFormula', function () {
137
137
  field: 'fieldE'
138
138
  }],
139
139
  result: 2000
140
- }].forEach(function (test) {
141
- it("should calculate formula '".concat(test.name, "' correctly for field args to '").concat(test.result, "'"), function () {
142
- var config = {
140
+ }].forEach(test => {
141
+ it("should calculate formula '".concat(test.name, "' correctly for field args to '").concat(test.result, "'"), () => {
142
+ const config = {
143
143
  formData: DATA,
144
144
  formula: {
145
145
  name: test.name,
@@ -214,9 +214,9 @@ describe('utils.Data.applyFormula', function () {
214
214
  fieldB: 'G3',
215
215
  round: 1,
216
216
  result: ''
217
- }].forEach(function (test) {
218
- it("should calculdate and round result to precision ".concat(test.round), function () {
219
- var config = {
217
+ }].forEach(test => {
218
+ it("should calculdate and round result to precision ".concat(test.round), () => {
219
+ const config = {
220
220
  formData: {
221
221
  fieldA: test.fieldA,
222
222
  fieldB: test.fieldB
@@ -234,8 +234,8 @@ describe('utils.Data.applyFormula', function () {
234
234
  expect((0, _applyFormula.default)(config)).toEqual(test.result);
235
235
  });
236
236
  });
237
- it("should calculate nested 'formula'", function () {
238
- var config = {
237
+ it("should calculate nested 'formula'", () => {
238
+ const config = {
239
239
  formData: {
240
240
  fieldA: '19',
241
241
  fieldB: '66'
@@ -11,26 +11,26 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
 
12
12
  // Local imports
13
13
 
14
- var getAutocompleteSource = function getAutocompleteSource(config) {
15
- var options = [];
16
- (0, _getOptions.default)(config, function (val) {
14
+ const getAutocompleteSource = config => {
15
+ let options = [];
16
+ (0, _getOptions.default)(config, val => {
17
17
  options = val;
18
18
  });
19
- var labelMaker = config !== null && config !== void 0 && config.item ? _copReactComponents.Utils.itemLabel(config.item) : null;
20
- return function (query, populateResults) {
21
- var lcQuery = query ? query.toLowerCase() : '';
19
+ const labelMaker = config !== null && config !== void 0 && config.item ? _copReactComponents.Utils.itemLabel(config.item) : null;
20
+ return (query, populateResults) => {
21
+ const lcQuery = query ? query.toLowerCase() : '';
22
22
 
23
23
  // go through all options and give them a grade
24
24
 
25
- var results = options.map(function (opt) {
26
- var label = labelMaker ? labelMaker(opt) : opt.label || '';
27
- var lcLabel = label.toLowerCase();
25
+ const results = options.map(opt => {
26
+ const label = labelMaker ? labelMaker(opt) : opt.label || '';
27
+ const lcLabel = label.toLowerCase();
28
28
 
29
29
  // result 'score'
30
- var grade = 0;
30
+ let grade = 0;
31
31
 
32
32
  // highest result - match at start of string
33
- var index = lcLabel.indexOf(lcQuery);
33
+ const index = lcLabel.indexOf(lcQuery);
34
34
  if (index === 0) {
35
35
  grade = 1;
36
36
  } else if (index > 0) {
@@ -38,15 +38,13 @@ var getAutocompleteSource = function getAutocompleteSource(config) {
38
38
  } else {
39
39
  var _config$item;
40
40
  if (opt.synonyms) {
41
- var match = opt.synonyms.some(function (synonym) {
42
- return synonym.toLowerCase().includes(lcQuery);
43
- });
41
+ const match = opt.synonyms.some(synonym => synonym.toLowerCase().includes(lcQuery));
44
42
  if (match) {
45
43
  grade = 4;
46
44
  }
47
45
  }
48
46
  if (!grade && (_config$item = config.item) !== null && _config$item !== void 0 && _config$item.extraFieldsToSearch) {
49
- var found = config.item.extraFieldsToSearch.some(function (field) {
47
+ const found = config.item.extraFieldsToSearch.some(field => {
50
48
  if (typeof opt[field] !== 'string') {
51
49
  return false;
52
50
  }
@@ -56,22 +54,16 @@ var getAutocompleteSource = function getAutocompleteSource(config) {
56
54
  }
57
55
  }
58
56
  return {
59
- grade: grade,
60
- label: label,
61
- opt: opt
57
+ grade,
58
+ label,
59
+ opt
62
60
  };
63
- }).filter(function (result) {
64
- return result.grade > 0;
65
- });
61
+ }).filter(result => result.grade > 0);
66
62
 
67
63
  // sort results and then map to just opts
68
64
  populateResults(results
69
65
  // the sort prioritises grade but also sorts by string value
70
- .sort(function (r1, r2) {
71
- return (r1.grade - r2.grade) * 16 + r1.label.localeCompare(r2.label);
72
- }).map(function (r) {
73
- return r.opt;
74
- }));
66
+ .sort((r1, r2) => (r1.grade - r2.grade) * 16 + r1.label.localeCompare(r2.label)).map(r => r.opt));
75
67
  };
76
68
  };
77
69
  var _default = exports.default = getAutocompleteSource;