@ukhomeoffice/cop-react-form-renderer 7.3.2 → 8.0.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 (761) hide show
  1. package/README.md +106 -32
  2. package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
  4. package/dist/components/CheckYourAnswers/index.d.ts +2 -0
  5. package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
  6. package/dist/components/CollectionPage/index.d.ts +1 -0
  7. package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
  8. package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
  9. package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
  10. package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
  11. package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
  12. package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
  13. package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
  14. package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
  15. package/dist/components/CollectionSummary/index.d.ts +2 -0
  16. package/dist/components/FormComponent/Collection.d.ts +39 -0
  17. package/dist/components/FormComponent/Container.d.ts +26 -0
  18. package/dist/components/FormComponent/FormComponent.d.ts +39 -0
  19. package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
  20. package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
  21. package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
  22. package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
  23. package/dist/components/FormComponent/helpers/index.d.ts +5 -0
  24. package/dist/components/FormComponent/index.d.ts +2 -0
  25. package/dist/components/FormPage/FormPage.d.ts +36 -0
  26. package/dist/components/FormPage/index.d.ts +2 -0
  27. package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
  28. package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
  29. package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
  30. package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
  31. package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
  32. package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
  33. package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
  34. package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
  35. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
  36. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
  37. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
  38. package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
  39. package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
  40. package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
  41. package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
  42. package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
  43. package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
  44. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
  45. package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
  46. package/dist/components/FormRenderer/index.d.ts +2 -0
  47. package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
  48. package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
  49. package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
  50. package/dist/components/PageActions/ActionButton.d.ts +7 -0
  51. package/dist/components/PageActions/PageActions.d.ts +7 -0
  52. package/dist/components/PageActions/index.d.ts +2 -0
  53. package/dist/components/SummaryList/GroupAction.d.ts +12 -0
  54. package/dist/components/SummaryList/RowAction.d.ts +12 -0
  55. package/dist/components/SummaryList/SummaryList.d.ts +28 -0
  56. package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
  57. package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
  58. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
  59. package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
  60. package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
  61. package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
  62. package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
  63. package/dist/components/SummaryList/helpers/index.d.ts +2 -0
  64. package/dist/components/SummaryList/index.d.ts +2 -0
  65. package/dist/components/TaskList/Task.d.ts +12 -0
  66. package/dist/components/TaskList/TaskList.d.ts +40 -0
  67. package/dist/components/TaskList/TaskState.d.ts +6 -0
  68. package/dist/components/TaskList/index.d.ts +2 -0
  69. package/dist/components/index.d.ts +8 -0
  70. package/dist/context/HooksContext/HooksContext.d.ts +23 -0
  71. package/dist/context/HooksContext/index.d.ts +3 -0
  72. package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
  73. package/dist/context/ValidationContext/index.d.ts +3 -0
  74. package/dist/context/index.d.ts +3 -0
  75. package/dist/hooks/index.d.ts +6 -0
  76. package/dist/hooks/useAxios.d.ts +2 -0
  77. package/dist/hooks/useGetRequest.d.ts +12 -0
  78. package/dist/hooks/useHooks.d.ts +2 -0
  79. package/dist/hooks/useRefData.d.ts +7 -0
  80. package/dist/hooks/useValidation.d.ts +2 -0
  81. package/dist/index.cjs +5 -0
  82. package/dist/index.css +1 -0
  83. package/dist/index.d.ts +6 -0
  84. package/dist/index.js +6124 -81
  85. package/dist/models/CollectionLabels.d.ts +7 -0
  86. package/dist/models/ComponentTypes.d.ts +27 -0
  87. package/dist/models/EventTypes.d.ts +6 -0
  88. package/dist/models/FormPages.d.ts +6 -0
  89. package/dist/models/FormTypes.d.ts +10 -0
  90. package/dist/models/HubFormats.d.ts +5 -0
  91. package/dist/models/PageAction.d.ts +89 -0
  92. package/dist/models/TaskStates.d.ts +39 -0
  93. package/dist/models/index.d.ts +143 -0
  94. package/dist/setupTests.d.ts +14 -0
  95. package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
  96. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
  97. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
  98. package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
  99. package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
  100. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
  101. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
  102. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
  103. package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
  104. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
  105. package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
  106. package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
  107. package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
  108. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
  109. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
  110. package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
  111. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
  112. package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
  113. package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
  114. package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
  115. package/dist/utils/CollectionPage/index.d.ts +13 -0
  116. package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
  117. package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
  118. package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
  119. package/dist/utils/Component/addShowWhen.d.ts +13 -0
  120. package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
  121. package/dist/utils/Component/cleanAttributes.d.ts +14 -0
  122. package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
  123. package/dist/utils/Component/getDefaultValue.d.ts +2 -0
  124. package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
  125. package/dist/utils/Component/index.d.ts +12 -0
  126. package/dist/utils/Component/isEditable.d.ts +3 -0
  127. package/dist/utils/Component/optionIsSelected.d.ts +10 -0
  128. package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
  129. package/dist/utils/Component/showComponent.d.ts +2 -0
  130. package/dist/utils/Condition/index.d.ts +6 -0
  131. package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
  132. package/dist/utils/Condition/meetsCondition.d.ts +14 -0
  133. package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
  134. package/dist/utils/Condition/setupConditions.d.ts +2 -0
  135. package/dist/utils/Container/getEditableComponents.d.ts +7 -0
  136. package/dist/utils/Container/index.d.ts +6 -0
  137. package/dist/utils/Container/setupNesting.d.ts +2 -0
  138. package/dist/utils/Container/showContainer.d.ts +8 -0
  139. package/dist/utils/Data/applyFormula.d.ts +2 -0
  140. package/dist/utils/Data/deleteValues.d.ts +8 -0
  141. package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
  142. package/dist/utils/Data/getDataPath.d.ts +21 -0
  143. package/dist/utils/Data/getOptions.d.ts +2 -0
  144. package/dist/utils/Data/getSourceData.d.ts +17 -0
  145. package/dist/utils/Data/index.d.ts +15 -0
  146. package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
  147. package/dist/utils/Data/refDataToOptions.d.ts +8 -0
  148. package/dist/utils/Data/setDataItem.d.ts +2 -0
  149. package/dist/utils/Data/setupFormData.d.ts +15 -0
  150. package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
  151. package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
  152. package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
  153. package/dist/utils/FormPage/getFormPage.d.ts +9 -0
  154. package/dist/utils/FormPage/getFormPages.d.ts +9 -0
  155. package/dist/utils/FormPage/getPageActions.d.ts +13 -0
  156. package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
  157. package/dist/utils/FormPage/index.d.ts +10 -0
  158. package/dist/utils/FormPage/showFormPage.d.ts +8 -0
  159. package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
  160. package/dist/utils/FormPage/useComponent.d.ts +9 -0
  161. package/dist/utils/Format/formatData.d.ts +8 -0
  162. package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
  163. package/dist/utils/Format/formatDataForForm.d.ts +8 -0
  164. package/dist/utils/Format/formatDataForPage.d.ts +15 -0
  165. package/dist/utils/Format/index.d.ts +7 -0
  166. package/dist/utils/Hub/getFormHub.d.ts +15 -0
  167. package/dist/utils/Hub/index.d.ts +4 -0
  168. package/dist/utils/Meta/constants.d.ts +2 -0
  169. package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
  170. package/dist/utils/Meta/documents/index.d.ts +6 -0
  171. package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
  172. package/dist/utils/Meta/index.d.ts +9 -0
  173. package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
  174. package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
  175. package/dist/utils/Operate/doesContainValue.d.ts +11 -0
  176. package/dist/utils/Operate/getFirstOf.d.ts +2 -0
  177. package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
  178. package/dist/utils/Operate/getLength.d.ts +11 -0
  179. package/dist/utils/Operate/index.d.ts +4 -0
  180. package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
  181. package/dist/utils/Operate/runPageOperations.d.ts +19 -0
  182. package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
  183. package/dist/utils/Operate/shouldRun.d.ts +9 -0
  184. package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
  185. package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
  186. package/dist/utils/Validate/additional/index.d.ts +2 -0
  187. package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
  188. package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
  189. package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
  190. package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
  191. package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
  192. package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
  193. package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
  194. package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
  195. package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
  196. package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
  197. package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
  198. package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
  199. package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
  200. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
  201. package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
  202. package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
  203. package/dist/utils/Validate/additional/utils.d.ts +4 -0
  204. package/dist/utils/Validate/index.d.ts +42 -0
  205. package/dist/utils/Validate/validateCollection.d.ts +9 -0
  206. package/dist/utils/Validate/validateComponent.d.ts +16 -0
  207. package/dist/utils/Validate/validateContainer.d.ts +12 -0
  208. package/dist/utils/Validate/validateDate.d.ts +29 -0
  209. package/dist/utils/Validate/validateEmail.d.ts +13 -0
  210. package/dist/utils/Validate/validateMultifile.d.ts +3 -0
  211. package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
  212. package/dist/utils/Validate/validatePage.d.ts +8 -0
  213. package/dist/utils/Validate/validateRegex.d.ts +13 -0
  214. package/dist/utils/Validate/validateRequired.d.ts +9 -0
  215. package/dist/utils/Validate/validateTextArea.d.ts +13 -0
  216. package/dist/utils/Validate/validateTime.d.ts +20 -0
  217. package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
  218. package/dist/utils/index.d.ts +140 -0
  219. package/package.json +80 -167
  220. package/LICENCE.md +0 -21
  221. package/dist/components/CheckYourAnswers/Answer.js +0 -59
  222. package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
  223. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
  224. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
  225. package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
  226. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
  227. package/dist/components/CheckYourAnswers/index.js +0 -10
  228. package/dist/components/CollectionPage/CollectionPage.js +0 -178
  229. package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
  230. package/dist/components/CollectionPage/index.js +0 -10
  231. package/dist/components/CollectionSummary/BannerStrip.js +0 -65
  232. package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
  233. package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
  234. package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
  235. package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
  236. package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
  237. package/dist/components/CollectionSummary/Confirmation.js +0 -65
  238. package/dist/components/CollectionSummary/Confirmation.scss +0 -26
  239. package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
  240. package/dist/components/CollectionSummary/RenderListView.js +0 -162
  241. package/dist/components/CollectionSummary/RenderListView.scss +0 -295
  242. package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
  243. package/dist/components/CollectionSummary/SummaryCard.js +0 -277
  244. package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
  245. package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
  246. package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
  247. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
  248. package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
  249. package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
  250. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
  251. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
  252. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
  253. package/dist/components/CollectionSummary/index.js +0 -10
  254. package/dist/components/FormComponent/Collection.js +0 -234
  255. package/dist/components/FormComponent/Collection.scss +0 -24
  256. package/dist/components/FormComponent/Collection.test.js +0 -934
  257. package/dist/components/FormComponent/Container.js +0 -130
  258. package/dist/components/FormComponent/Container.scss +0 -15
  259. package/dist/components/FormComponent/Container.test.js +0 -456
  260. package/dist/components/FormComponent/FormComponent.js +0 -238
  261. package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
  262. package/dist/components/FormComponent/FormComponent.test.js +0 -436
  263. package/dist/components/FormComponent/helpers/addLabel.js +0 -25
  264. package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
  265. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
  266. package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
  267. package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
  268. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
  269. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
  270. package/dist/components/FormComponent/helpers/index.js +0 -35
  271. package/dist/components/FormComponent/index.js +0 -10
  272. package/dist/components/FormPage/FormPage.js +0 -212
  273. package/dist/components/FormPage/FormPage.scss +0 -7
  274. package/dist/components/FormPage/FormPage.stories.mdx +0 -157
  275. package/dist/components/FormPage/FormPage.test.js +0 -454
  276. package/dist/components/FormPage/index.js +0 -10
  277. package/dist/components/FormRenderer/FormRenderer.js +0 -426
  278. package/dist/components/FormRenderer/FormRenderer.scss +0 -5
  279. package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
  280. package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
  281. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
  282. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
  283. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
  284. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
  285. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
  286. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
  287. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
  288. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
  289. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
  290. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
  291. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
  292. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
  293. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
  294. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
  295. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
  296. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
  297. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
  298. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
  299. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
  300. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
  301. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
  302. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
  303. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
  304. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
  305. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
  306. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
  307. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
  308. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
  309. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
  310. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
  311. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
  312. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
  313. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
  314. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
  315. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
  316. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
  317. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
  318. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
  319. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
  320. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
  321. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
  322. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
  323. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
  324. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
  325. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
  326. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
  327. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
  328. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
  329. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
  330. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
  331. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
  332. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
  333. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
  334. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
  335. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
  336. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
  337. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
  338. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
  339. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
  340. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
  341. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
  342. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
  343. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
  344. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
  345. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
  346. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
  347. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
  348. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
  349. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
  350. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
  351. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
  352. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
  353. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
  354. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
  355. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
  356. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
  357. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
  358. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
  359. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
  360. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
  361. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
  362. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
  387. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
  388. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
  389. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
  390. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
  391. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
  392. package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
  393. package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
  394. package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
  395. package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
  396. package/dist/components/FormRenderer/handlers/index.js +0 -17
  397. package/dist/components/FormRenderer/handlers/navigate.js +0 -25
  398. package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
  399. package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
  400. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
  401. package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
  402. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
  403. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
  404. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
  405. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
  406. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
  407. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
  408. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
  409. package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
  410. package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
  411. package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
  412. package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
  413. package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
  414. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
  415. package/dist/components/FormRenderer/helpers/getPage.js +0 -27
  416. package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
  417. package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
  418. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
  419. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
  420. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
  421. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
  422. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
  423. package/dist/components/FormRenderer/helpers/index.js +0 -33
  424. package/dist/components/FormRenderer/index.js +0 -10
  425. package/dist/components/FormRenderer/onCYAAction.js +0 -150
  426. package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
  427. package/dist/components/FormRenderer/onPageAction.js +0 -227
  428. package/dist/components/FormRenderer/onPageAction.test.js +0 -960
  429. package/dist/components/FormRenderer/onTaskAction.js +0 -47
  430. package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
  431. package/dist/components/PageActions/ActionButton.js +0 -48
  432. package/dist/components/PageActions/ActionButton.test.js +0 -73
  433. package/dist/components/PageActions/PageActions.js +0 -37
  434. package/dist/components/PageActions/PageActions.stories.mdx +0 -74
  435. package/dist/components/PageActions/PageActions.test.js +0 -106
  436. package/dist/components/PageActions/index.js +0 -10
  437. package/dist/components/SummaryList/GroupAction.js +0 -50
  438. package/dist/components/SummaryList/GroupAction.test.js +0 -86
  439. package/dist/components/SummaryList/RowAction.js +0 -48
  440. package/dist/components/SummaryList/RowAction.test.js +0 -86
  441. package/dist/components/SummaryList/SummaryList.js +0 -128
  442. package/dist/components/SummaryList/SummaryList.scss +0 -79
  443. package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
  444. package/dist/components/SummaryList/SummaryList.test.js +0 -504
  445. package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
  446. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
  447. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
  448. package/dist/components/SummaryList/SummaryListRow.js +0 -58
  449. package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
  450. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
  451. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
  452. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
  453. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
  454. package/dist/components/SummaryList/helpers/index.js +0 -14
  455. package/dist/components/SummaryList/index.js +0 -10
  456. package/dist/components/TaskList/Task.js +0 -62
  457. package/dist/components/TaskList/Task.test.js +0 -176
  458. package/dist/components/TaskList/TaskList.js +0 -175
  459. package/dist/components/TaskList/TaskList.scss +0 -123
  460. package/dist/components/TaskList/TaskList.stories.mdx +0 -164
  461. package/dist/components/TaskList/TaskList.test.js +0 -535
  462. package/dist/components/TaskList/TaskState.js +0 -37
  463. package/dist/components/TaskList/TaskState.test.js +0 -95
  464. package/dist/components/TaskList/index.js +0 -10
  465. package/dist/components/index.js +0 -56
  466. package/dist/context/HooksContext/HooksContext.js +0 -122
  467. package/dist/context/HooksContext/HooksContext.test.js +0 -45
  468. package/dist/context/HooksContext/index.js +0 -16
  469. package/dist/context/ValidationContext/ValidationContext.js +0 -98
  470. package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
  471. package/dist/context/ValidationContext/index.js +0 -16
  472. package/dist/context/index.js +0 -21
  473. package/dist/hooks/index.js +0 -55
  474. package/dist/hooks/useAxios.js +0 -36
  475. package/dist/hooks/useGetRequest.js +0 -89
  476. package/dist/hooks/useHooks.js +0 -15
  477. package/dist/hooks/useRefData.js +0 -62
  478. package/dist/hooks/useValidation.js +0 -15
  479. package/dist/json/actions.json +0 -17
  480. package/dist/json/actionsNoSave.json +0 -17
  481. package/dist/json/addressDetails.json +0 -149
  482. package/dist/json/areYouACivilServant.json +0 -7
  483. package/dist/json/firstForm.json +0 -94
  484. package/dist/json/grade.json +0 -108
  485. package/dist/json/group.data.json +0 -21
  486. package/dist/json/group.json +0 -402
  487. package/dist/json/groupOfRow.json +0 -137
  488. package/dist/json/groupOfRowData.json +0 -15
  489. package/dist/json/port.json +0 -346
  490. package/dist/json/saveAndContinue.json +0 -98
  491. package/dist/json/sublocation.json +0 -859
  492. package/dist/json/taskList.json +0 -265
  493. package/dist/json/team.json +0 -17351
  494. package/dist/json/terminal.json +0 -81
  495. package/dist/json/userProfile.data.json +0 -21
  496. package/dist/json/userProfile.json +0 -276
  497. package/dist/models/CollectionLabels.js +0 -15
  498. package/dist/models/ComponentTypes.js +0 -58
  499. package/dist/models/EventTypes.js +0 -16
  500. package/dist/models/FormPages.js +0 -16
  501. package/dist/models/FormTypes.js +0 -24
  502. package/dist/models/HubFormats.js +0 -14
  503. package/dist/models/PageAction.js +0 -65
  504. package/dist/models/TaskStates.js +0 -46
  505. package/dist/models/index.js +0 -77
  506. package/dist/setupTests.js +0 -54
  507. package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
  508. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
  509. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
  510. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
  511. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
  512. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
  513. package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
  514. package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
  515. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
  516. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
  517. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
  518. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
  519. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
  520. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
  521. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
  522. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
  523. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
  524. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
  525. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
  526. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
  527. package/dist/utils/CheckYourAnswers/index.js +0 -15
  528. package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
  529. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
  530. package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
  531. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
  532. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
  533. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
  534. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
  535. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
  536. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
  537. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
  538. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
  539. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
  540. package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
  541. package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
  542. package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
  543. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
  544. package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
  545. package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
  546. package/dist/utils/CollectionPage/index.js +0 -33
  547. package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
  548. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
  549. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
  550. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
  551. package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
  552. package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
  553. package/dist/utils/Component/addShowWhen.js +0 -43
  554. package/dist/utils/Component/addShowWhen.test.js +0 -217
  555. package/dist/utils/Component/applyToComponentTree.js +0 -68
  556. package/dist/utils/Component/applyToComponentTree.test.js +0 -125
  557. package/dist/utils/Component/cleanAttributes.js +0 -42
  558. package/dist/utils/Component/cleanAttributes.test.js +0 -67
  559. package/dist/utils/Component/elevateNestedComponents.js +0 -58
  560. package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
  561. package/dist/utils/Component/getComponent.js +0 -305
  562. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
  563. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
  564. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
  565. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
  566. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
  567. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
  568. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
  569. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
  570. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
  571. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
  572. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
  573. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
  574. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
  575. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
  576. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
  577. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
  578. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
  579. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
  580. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
  581. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
  582. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
  583. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
  584. package/dist/utils/Component/getDefaultValue.js +0 -22
  585. package/dist/utils/Component/getDefaultValue.test.js +0 -62
  586. package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
  587. package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
  588. package/dist/utils/Component/index.js +0 -29
  589. package/dist/utils/Component/isEditable.js +0 -13
  590. package/dist/utils/Component/isEditable.test.js +0 -42
  591. package/dist/utils/Component/optionIsSelected.js +0 -25
  592. package/dist/utils/Component/optionIsSelected.test.js +0 -69
  593. package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
  594. package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
  595. package/dist/utils/Component/showComponent.js +0 -25
  596. package/dist/utils/Component/showComponent.test.js +0 -157
  597. package/dist/utils/Component/wrapInFormGroup.js +0 -26
  598. package/dist/utils/Condition/index.js +0 -17
  599. package/dist/utils/Condition/meetsAllConditions.js +0 -44
  600. package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
  601. package/dist/utils/Condition/meetsCondition.js +0 -165
  602. package/dist/utils/Condition/meetsCondition.test.js +0 -899
  603. package/dist/utils/Condition/meetsOneCondition.js +0 -32
  604. package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
  605. package/dist/utils/Condition/setupConditions.js +0 -36
  606. package/dist/utils/Condition/setupConditions.test.js +0 -34
  607. package/dist/utils/Container/getEditableComponents.js +0 -29
  608. package/dist/utils/Container/getEditableComponents.test.js +0 -134
  609. package/dist/utils/Container/index.js +0 -17
  610. package/dist/utils/Container/setupNesting.js +0 -53
  611. package/dist/utils/Container/setupNesting.test.js +0 -143
  612. package/dist/utils/Container/showContainer.js +0 -52
  613. package/dist/utils/Container/showContainer.test.js +0 -179
  614. package/dist/utils/Data/applyFormula.js +0 -90
  615. package/dist/utils/Data/applyFormula.test.js +0 -264
  616. package/dist/utils/Data/deleteValues.js +0 -19
  617. package/dist/utils/Data/deleteValues.test.js +0 -58
  618. package/dist/utils/Data/getAutocompleteSource.js +0 -87
  619. package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
  620. package/dist/utils/Data/getDataPath.js +0 -66
  621. package/dist/utils/Data/getDataPath.test.js +0 -49
  622. package/dist/utils/Data/getOptions.js +0 -86
  623. package/dist/utils/Data/getOptions.test.js +0 -279
  624. package/dist/utils/Data/getSourceData.js +0 -44
  625. package/dist/utils/Data/getSourceData.test.js +0 -158
  626. package/dist/utils/Data/index.js +0 -35
  627. package/dist/utils/Data/nestInRefdataOptions.js +0 -47
  628. package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
  629. package/dist/utils/Data/refDataToOptions.js +0 -44
  630. package/dist/utils/Data/refDataToOptions.test.js +0 -197
  631. package/dist/utils/Data/setDataItem.js +0 -26
  632. package/dist/utils/Data/setDataItem.test.js +0 -136
  633. package/dist/utils/Data/setupFormData.js +0 -49
  634. package/dist/utils/Data/setupFormData.test.js +0 -215
  635. package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
  636. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
  637. package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
  638. package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
  639. package/dist/utils/FormPage/getConditionalText.js +0 -55
  640. package/dist/utils/FormPage/getConditionalText.test.js +0 -163
  641. package/dist/utils/FormPage/getFormPage.js +0 -54
  642. package/dist/utils/FormPage/getFormPage.test.js +0 -206
  643. package/dist/utils/FormPage/getFormPages.js +0 -30
  644. package/dist/utils/FormPage/getFormPages.test.js +0 -97
  645. package/dist/utils/FormPage/getPageActions.js +0 -58
  646. package/dist/utils/FormPage/getPageActions.test.js +0 -115
  647. package/dist/utils/FormPage/getParagraphFromText.js +0 -21
  648. package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
  649. package/dist/utils/FormPage/index.js +0 -24
  650. package/dist/utils/FormPage/showFormPage.js +0 -52
  651. package/dist/utils/FormPage/showFormPage.test.js +0 -181
  652. package/dist/utils/FormPage/showFormPageCYA.js +0 -23
  653. package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
  654. package/dist/utils/FormPage/useComponent.js +0 -83
  655. package/dist/utils/FormPage/useComponent.test.js +0 -216
  656. package/dist/utils/Format/formatData.js +0 -27
  657. package/dist/utils/Format/formatData.test.js +0 -46
  658. package/dist/utils/Format/formatDataForComponent.js +0 -35
  659. package/dist/utils/Format/formatDataForComponent.test.js +0 -114
  660. package/dist/utils/Format/formatDataForForm.js +0 -27
  661. package/dist/utils/Format/formatDataForForm.test.js +0 -79
  662. package/dist/utils/Format/formatDataForPage.js +0 -31
  663. package/dist/utils/Format/formatDataForPage.test.js +0 -94
  664. package/dist/utils/Format/index.js +0 -21
  665. package/dist/utils/Hub/getFormHub.js +0 -40
  666. package/dist/utils/Hub/getFormHub.test.js +0 -105
  667. package/dist/utils/Hub/index.js +0 -15
  668. package/dist/utils/Meta/constants.js +0 -9
  669. package/dist/utils/Meta/documents/getDocuments.js +0 -15
  670. package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
  671. package/dist/utils/Meta/documents/index.js +0 -19
  672. package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
  673. package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
  674. package/dist/utils/Meta/index.js +0 -17
  675. package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
  676. package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
  677. package/dist/utils/Operate/deleteValueInFormData.js +0 -27
  678. package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
  679. package/dist/utils/Operate/doesContainValue.js +0 -35
  680. package/dist/utils/Operate/doesContainValue.test.js +0 -76
  681. package/dist/utils/Operate/getFirstOf.js +0 -31
  682. package/dist/utils/Operate/getFirstOf.test.js +0 -87
  683. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
  684. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
  685. package/dist/utils/Operate/getLength.js +0 -51
  686. package/dist/utils/Operate/getLength.test.js +0 -90
  687. package/dist/utils/Operate/index.js +0 -13
  688. package/dist/utils/Operate/persistValueInFormData.js +0 -40
  689. package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
  690. package/dist/utils/Operate/runPageOperations.js +0 -75
  691. package/dist/utils/Operate/runPageOperations.test.js +0 -105
  692. package/dist/utils/Operate/setValueInFormData.js +0 -22
  693. package/dist/utils/Operate/setValueInFormData.test.js +0 -45
  694. package/dist/utils/Operate/shouldRun.js +0 -57
  695. package/dist/utils/Operate/shouldRun.test.js +0 -65
  696. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
  697. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
  698. package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
  699. package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
  700. package/dist/utils/Validate/additional/index.js +0 -74
  701. package/dist/utils/Validate/additional/index.test.js +0 -130
  702. package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
  703. package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
  704. package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
  705. package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
  706. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
  707. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
  708. package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
  709. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
  710. package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
  711. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
  712. package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
  713. package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
  714. package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
  715. package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
  716. package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
  717. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
  718. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
  719. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
  720. package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
  721. package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
  722. package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
  723. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
  724. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
  725. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
  726. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
  727. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
  728. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
  729. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
  730. package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
  731. package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
  732. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
  733. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
  734. package/dist/utils/Validate/additional/utils.js +0 -35
  735. package/dist/utils/Validate/index.js +0 -33
  736. package/dist/utils/Validate/validateCollection.js +0 -50
  737. package/dist/utils/Validate/validateCollection.test.js +0 -134
  738. package/dist/utils/Validate/validateComponent.js +0 -126
  739. package/dist/utils/Validate/validateComponent.test.js +0 -435
  740. package/dist/utils/Validate/validateContainer.js +0 -52
  741. package/dist/utils/Validate/validateContainer.test.js +0 -115
  742. package/dist/utils/Validate/validateDate.js +0 -112
  743. package/dist/utils/Validate/validateDate.test.js +0 -133
  744. package/dist/utils/Validate/validateEmail.js +0 -45
  745. package/dist/utils/Validate/validateEmail.test.js +0 -78
  746. package/dist/utils/Validate/validateMultifile.js +0 -29
  747. package/dist/utils/Validate/validateMultifile.test.js +0 -46
  748. package/dist/utils/Validate/validateOnPageLoad.js +0 -24
  749. package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
  750. package/dist/utils/Validate/validatePage.js +0 -56
  751. package/dist/utils/Validate/validatePage.test.js +0 -795
  752. package/dist/utils/Validate/validateRegex.js +0 -41
  753. package/dist/utils/Validate/validateRegex.test.js +0 -43
  754. package/dist/utils/Validate/validateRequired.js +0 -37
  755. package/dist/utils/Validate/validateRequired.test.js +0 -64
  756. package/dist/utils/Validate/validateTextArea.js +0 -36
  757. package/dist/utils/Validate/validateTextArea.test.js +0 -71
  758. package/dist/utils/Validate/validateTime.js +0 -76
  759. package/dist/utils/Validate/validateTime.test.js +0 -116
  760. package/dist/utils/canOverrideFieldRequired.js +0 -23
  761. package/dist/utils/index.js +0 -42
@@ -1,198 +0,0 @@
1
- "use strict";
2
-
3
- var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPages"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- // Local imports
6
-
7
- describe('utils.CollectionPage.mergeCollectionPages', () => {
8
- const TEXT_COMP = {
9
- id: 'testText',
10
- fieldId: 'testText',
11
- type: 'text'
12
- };
13
- const DATE_COMP = {
14
- id: 'testDate',
15
- fieldId: 'testDate',
16
- type: 'date'
17
- };
18
- it('should return the same array if no pages belong to collections', () => {
19
- const PAGES = [{
20
- id: 'page1'
21
- }, {
22
- id: 'page2'
23
- }];
24
- expect((0, _mergeCollectionPages.default)(PAGES)).toEqual(PAGES);
25
- });
26
- it('should correctly merge and nest child collection pages under their parents', () => {
27
- const PAGES = [{
28
- id: 'page1',
29
- collection: {
30
- name: 'parent'
31
- },
32
- components: [TEXT_COMP]
33
- }, {
34
- id: 'page2',
35
- collection: {
36
- name: 'parent'
37
- },
38
- components: [DATE_COMP]
39
- }, {
40
- id: 'page3',
41
- collection: {
42
- name: 'parent.child'
43
- },
44
- components: [DATE_COMP]
45
- }, {
46
- id: 'page4',
47
- collection: {
48
- name: 'parent.child'
49
- },
50
- components: [DATE_COMP]
51
- }];
52
- const RESULT = (0, _mergeCollectionPages.default)(PAGES);
53
- expect(RESULT.length).toEqual(1);
54
- expect(RESULT[0]).toMatchObject({
55
- id: 'page1',
56
- collection: {
57
- name: 'parent',
58
- masterPage: true
59
- },
60
- formData: {},
61
- childPages: [PAGES[0], PAGES[1], {
62
- id: 'page3',
63
- collection: {
64
- name: 'parent.child',
65
- masterPage: true
66
- },
67
- formData: {},
68
- childPages: [PAGES[2], PAGES[3]]
69
- }]
70
- });
71
- });
72
- it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', () => {
73
- const PAGES = [{
74
- id: 'page1',
75
- collection: {
76
- name: 'parent.child'
77
- },
78
- components: [TEXT_COMP]
79
- }, {
80
- id: 'page2',
81
- collection: {
82
- name: 'parent.child'
83
- },
84
- components: [DATE_COMP]
85
- }, {
86
- id: 'page3',
87
- collection: {
88
- name: 'parent'
89
- },
90
- components: [DATE_COMP]
91
- }, {
92
- id: 'page4',
93
- collection: {
94
- name: 'parent'
95
- },
96
- components: [DATE_COMP]
97
- }];
98
- const RESULT = (0, _mergeCollectionPages.default)(PAGES);
99
- expect(RESULT.length).toEqual(1); // One master page for parent collection.
100
- expect(RESULT[0].childPages.length).toEqual(3); // Two normal pages and the child collection's master page.
101
- expect(RESULT[0]).toMatchObject({
102
- id: 'page3',
103
- collection: {
104
- name: 'parent',
105
- masterPage: true
106
- },
107
- formData: {},
108
- childPages: [{
109
- id: 'page1',
110
- collection: {
111
- name: 'parent.child',
112
- masterPage: true
113
- },
114
- formData: {},
115
- childPages: [PAGES[0], PAGES[1]]
116
- }, PAGES[2], PAGES[3]]
117
- });
118
- });
119
- it('should leave non-collection pages unaffected', () => {
120
- const PAGES = [{
121
- id: 'page1',
122
- collection: {
123
- name: 'collection'
124
- },
125
- components: [TEXT_COMP]
126
- }, {
127
- id: 'page2',
128
- collection: {
129
- name: 'collection'
130
- },
131
- components: [DATE_COMP]
132
- }, {
133
- id: 'page3'
134
- }];
135
- const RESULT = (0, _mergeCollectionPages.default)(PAGES);
136
- expect(RESULT.length).toEqual(2);
137
- expect(RESULT[0]).toMatchObject({
138
- id: 'page1',
139
- collection: {
140
- name: 'collection',
141
- masterPage: true
142
- },
143
- formData: {},
144
- childPages: [PAGES[0], PAGES[1]]
145
- });
146
- expect(RESULT[1]).toMatchObject({
147
- id: 'page3'
148
- });
149
- });
150
- it('should handle multiple collections', () => {
151
- const PAGES = [{
152
- id: 'page1',
153
- collection: {
154
- name: 'collection1'
155
- },
156
- components: []
157
- }, {
158
- id: 'page2',
159
- collection: {
160
- name: 'collection1'
161
- },
162
- components: []
163
- }, {
164
- id: 'page3',
165
- collection: {
166
- name: 'collection2'
167
- },
168
- components: []
169
- }, {
170
- id: 'page4',
171
- collection: {
172
- name: 'collection2'
173
- },
174
- components: []
175
- }];
176
- const RESULT = (0, _mergeCollectionPages.default)(PAGES);
177
- expect(RESULT.length).toEqual(2);
178
- expect(RESULT[0]).toMatchObject({
179
- id: 'page1',
180
- collection: {
181
- name: 'collection1',
182
- masterPage: true
183
- },
184
- formData: {},
185
- childPages: [PAGES[0], PAGES[1]]
186
- });
187
- expect(RESULT[1]).toMatchObject({
188
- id: 'page3',
189
- collection: {
190
- name: 'collection2',
191
- masterPage: true
192
- },
193
- formData: {},
194
- childPages: [PAGES[2], PAGES[3]]
195
- });
196
- });
197
- });
198
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVyZ2VDb2xsZWN0aW9uUGFnZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImRlc2NyaWJlIiwiVEVYVF9DT01QIiwiaWQiLCJmaWVsZElkIiwidHlwZSIsIkRBVEVfQ09NUCIsIml0IiwiUEFHRVMiLCJleHBlY3QiLCJtZXJnZUNvbGxlY3Rpb25QYWdlcyIsInRvRXF1YWwiLCJjb2xsZWN0aW9uIiwibmFtZSIsImNvbXBvbmVudHMiLCJSRVNVTFQiLCJsZW5ndGgiLCJ0b01hdGNoT2JqZWN0IiwibWFzdGVyUGFnZSIsImZvcm1EYXRhIiwiY2hpbGRQYWdlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9Db2xsZWN0aW9uUGFnZS9tZXJnZUNvbGxlY3Rpb25QYWdlcy50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIExvY2FsIGltcG9ydHNcbmltcG9ydCBtZXJnZUNvbGxlY3Rpb25QYWdlcyBmcm9tICcuL21lcmdlQ29sbGVjdGlvblBhZ2VzJztcblxuZGVzY3JpYmUoJ3V0aWxzLkNvbGxlY3Rpb25QYWdlLm1lcmdlQ29sbGVjdGlvblBhZ2VzJywgKCkgPT4ge1xuICBjb25zdCBURVhUX0NPTVAgPSB7XG4gICAgaWQ6ICd0ZXN0VGV4dCcsXG4gICAgZmllbGRJZDogJ3Rlc3RUZXh0JyxcbiAgICB0eXBlOiAndGV4dCdcbiAgfTtcbiAgY29uc3QgREFURV9DT01QID0ge1xuICAgIGlkOiAndGVzdERhdGUnLFxuICAgIGZpZWxkSWQ6ICd0ZXN0RGF0ZScsXG4gICAgdHlwZTogJ2RhdGUnXG4gIH07XG4gIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBzYW1lIGFycmF5IGlmIG5vIHBhZ2VzIGJlbG9uZyB0byBjb2xsZWN0aW9ucycsICgpID0+IHtcbiAgICBjb25zdCBQQUdFUyA9IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlMScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2UyJ1xuICAgICAgfVxuICAgIF07XG4gICAgZXhwZWN0KG1lcmdlQ29sbGVjdGlvblBhZ2VzKFBBR0VTKSkudG9FcXVhbChQQUdFUyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29ycmVjdGx5IG1lcmdlIGFuZCBuZXN0IGNoaWxkIGNvbGxlY3Rpb24gcGFnZXMgdW5kZXIgdGhlaXIgcGFyZW50cycsICgpID0+IHtcbiAgICBjb25zdCBQQUdFUyA9IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlMScsXG4gICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICBuYW1lOiAncGFyZW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW1xuICAgICAgICAgIFRFWFRfQ09NUCxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlMicsXG4gICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICBuYW1lOiAncGFyZW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW1xuICAgICAgICAgIERBVEVfQ09NUCxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlMycsXG4gICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICBuYW1lOiAncGFyZW50LmNoaWxkJyxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW1xuICAgICAgICAgIERBVEVfQ09NUCxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlNCcsXG4gICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICBuYW1lOiAncGFyZW50LmNoaWxkJyxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW1xuICAgICAgICAgIERBVEVfQ09NUCxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgUkVTVUxUID0gbWVyZ2VDb2xsZWN0aW9uUGFnZXMoUEFHRVMpO1xuICAgIGV4cGVjdChSRVNVTFQubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChSRVNVTFRbMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgaWQ6ICdwYWdlMScsXG4gICAgICBjb2xsZWN0aW9uOiB7XG4gICAgICAgIG5hbWU6ICdwYXJlbnQnLFxuICAgICAgICBtYXN0ZXJQYWdlOiB0cnVlXG4gICAgICB9LFxuICAgICAgZm9ybURhdGE6IHt9LFxuICAgICAgY2hpbGRQYWdlczogW1xuICAgICAgICBQQUdFU1swXSxcbiAgICAgICAgUEFHRVNbMV0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ3BhZ2UzJyxcbiAgICAgICAgICBjb2xsZWN0aW9uOiB7XG4gICAgICAgICAgICBuYW1lOiAncGFyZW50LmNoaWxkJyxcbiAgICAgICAgICAgIG1hc3RlclBhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZvcm1EYXRhOiB7fSxcbiAgICAgICAgICBjaGlsZFBhZ2VzOiBbIFxuICAgICAgICAgICAgUEFHRVNbMl0sXG4gICAgICAgICAgICBQQUdFU1szXVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvcnJlY3RseSBtZXJnZSBhbmQgbmVzdCBjaGlsZCBjb2xsZWN0aW9uIHBhZ2VzIHVuZGVyIHRoZWlyIHBhcmVudHMsIGV2ZW4gaWYgdGhlIGNoaWxkIHBhZ2VzIGFyZSBjcmVhdGVkIGZpcnN0JywgKCkgPT4ge1xuICAgIGNvbnN0IFBBR0VTID0gW1xuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2UxJyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdwYXJlbnQuY2hpbGQnLFxuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgVEVYVF9DT01QLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2UyJyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdwYXJlbnQuY2hpbGQnLFxuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgREFURV9DT01QLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2UzJyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdwYXJlbnQnLFxuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgREFURV9DT01QLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2U0JyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdwYXJlbnQnLFxuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnRzOiBbXG4gICAgICAgICAgREFURV9DT01QLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBSRVNVTFQgPSBtZXJnZUNvbGxlY3Rpb25QYWdlcyhQQUdFUyk7XG4gICAgZXhwZWN0KFJFU1VMVC5sZW5ndGgpLnRvRXF1YWwoMSk7IC8vIE9uZSBtYXN0ZXIgcGFnZSBmb3IgcGFyZW50IGNvbGxlY3Rpb24uICAgICAgXG4gICAgZXhwZWN0KFJFU1VMVFswXS5jaGlsZFBhZ2VzLmxlbmd0aCkudG9FcXVhbCgzKTsgLy8gVHdvIG5vcm1hbCBwYWdlcyBhbmQgdGhlIGNoaWxkIGNvbGxlY3Rpb24ncyBtYXN0ZXIgcGFnZS5cbiAgICBleHBlY3QoUkVTVUxUWzBdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIGlkOiAncGFnZTMnLFxuICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICBuYW1lOiAncGFyZW50JyxcbiAgICAgICAgbWFzdGVyUGFnZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGZvcm1EYXRhOiB7fSxcbiAgICAgIGNoaWxkUGFnZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAncGFnZTEnLFxuICAgICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICAgIG5hbWU6ICdwYXJlbnQuY2hpbGQnLFxuICAgICAgICAgICAgbWFzdGVyUGFnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZm9ybURhdGE6IHt9LFxuICAgICAgICAgIGNoaWxkUGFnZXM6IFsgXG4gICAgICAgICAgICBQQUdFU1swXSxcbiAgICAgICAgICAgIFBBR0VTWzFdXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBQQUdFU1syXSxcbiAgICAgICAgUEFHRVNbM11cbiAgICAgIF1cbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBsZWF2ZSBub24tY29sbGVjdGlvbiBwYWdlcyB1bmFmZmVjdGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IFBBR0VTID0gW1xuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2UxJyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdjb2xsZWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW1xuICAgICAgICAgIFRFWFRfQ09NUCxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlMicsXG4gICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICBuYW1lOiAnY29sbGVjdGlvbicsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICBEQVRFX0NPTVAsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAncGFnZTMnLFxuICAgICAgfVxuICAgIF07XG5cbiAgICBjb25zdCBSRVNVTFQgPSBtZXJnZUNvbGxlY3Rpb25QYWdlcyhQQUdFUyk7XG4gICAgZXhwZWN0KFJFU1VMVC5sZW5ndGgpLnRvRXF1YWwoMik7XG4gICAgZXhwZWN0KFJFU1VMVFswXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBpZDogJ3BhZ2UxJyxcbiAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICBtYXN0ZXJQYWdlOiB0cnVlXG4gICAgICB9LFxuICAgICAgZm9ybURhdGE6IHt9LFxuICAgICAgY2hpbGRQYWdlczogW1xuICAgICAgICBQQUdFU1swXSxcbiAgICAgICAgUEFHRVNbMV1cbiAgICAgIF1cbiAgICB9KTtcbiAgICBleHBlY3QoUkVTVUxUWzFdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIGlkOiAncGFnZTMnXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaGFuZGxlIG11bHRpcGxlIGNvbGxlY3Rpb25zJywgKCkgPT4ge1xuICAgIGNvbnN0IFBBR0VTID0gW1xuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2UxJyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdjb2xsZWN0aW9uMSdcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW11cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAncGFnZTInLFxuICAgICAgICBjb2xsZWN0aW9uOiB7XG4gICAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24xJ1xuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnRzOiBbXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdwYWdlMycsXG4gICAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgICBuYW1lOiAnY29sbGVjdGlvbjInXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBvbmVudHM6IFtdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ3BhZ2U0JyxcbiAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgIG5hbWU6ICdjb2xsZWN0aW9uMidcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50czogW11cbiAgICAgIH0sXG4gICAgXTtcbiAgICBjb25zdCBSRVNVTFQgPSBtZXJnZUNvbGxlY3Rpb25QYWdlcyhQQUdFUyk7XG4gICAgZXhwZWN0KFJFU1VMVC5sZW5ndGgpLnRvRXF1YWwoMik7XG4gICAgZXhwZWN0KFJFU1VMVFswXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBpZDogJ3BhZ2UxJyxcbiAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24xJyxcbiAgICAgICAgbWFzdGVyUGFnZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGZvcm1EYXRhOiB7fSxcbiAgICAgIGNoaWxkUGFnZXM6IFtcbiAgICAgICAgUEFHRVNbMF0sXG4gICAgICAgIFBBR0VTWzFdXG4gICAgICBdXG4gICAgfSk7XG4gICAgZXhwZWN0KFJFU1VMVFsxXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBpZDogJ3BhZ2UzJyxcbiAgICAgIGNvbGxlY3Rpb246IHtcbiAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24yJyxcbiAgICAgICAgbWFzdGVyUGFnZTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIGZvcm1EYXRhOiB7fSxcbiAgICAgIGNoaWxkUGFnZXM6IFtcbiAgICAgICAgUEFHRVNbMl0sXG4gICAgICAgIFBBR0VTWzNdXG4gICAgICBdXG4gICAgfSk7XG4gIH0pO1xuICBcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUNBLElBQUFBLHFCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBMEQsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFEMUQ7O0FBR0FHLFFBQVEsQ0FBQywyQ0FBMkMsRUFBRSxNQUFNO0VBQzFELE1BQU1DLFNBQVMsR0FBRztJQUNoQkMsRUFBRSxFQUFFLFVBQVU7SUFDZEMsT0FBTyxFQUFFLFVBQVU7SUFDbkJDLElBQUksRUFBRTtFQUNSLENBQUM7RUFDRCxNQUFNQyxTQUFTLEdB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
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- // Local imports.
10
-
11
- /**
12
- * Removes an entry with a given id from a collection.
13
- *
14
- * @param {string} collectionName The name of the collection to delete the entry from.
15
- * @param {object} formData The top-level formData object.
16
- * @param {string} id The id of the entry to be deleted.
17
- * @returns null if the target entry could not be deleted.
18
- * The deleted entry if it was deleted successfully.
19
- */
20
- const removeCollectionPageEntry = (collectionName, formData, id) => {
21
- const collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
22
- if (!collectionData) {
23
- return null;
24
- }
25
- const indexToDelete = collectionData.findIndex(entry => entry.id === id);
26
- if (indexToDelete === -1) {
27
- return null;
28
- }
29
- const deletedEntry = collectionData[indexToDelete];
30
- collectionData.splice(indexToDelete, 1);
31
- const data = formData;
32
- data["".concat(collectionName, "ActiveId")] = collectionData.length > 0 ? collectionData[0].id : null;
33
- return deletedEntry;
34
- };
35
- var _default = exports.default = removeCollectionPageEntry;
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0Q29sbGVjdGlvblBhZ2VEYXRhIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJyZW1vdmVDb2xsZWN0aW9uUGFnZUVudHJ5IiwiY29sbGVjdGlvbk5hbWUiLCJmb3JtRGF0YSIsImlkIiwiY29sbGVjdGlvbkRhdGEiLCJnZXRDb2xsZWN0aW9uUGFnZURhdGEiLCJpbmRleFRvRGVsZXRlIiwiZmluZEluZGV4IiwiZW50cnkiLCJkZWxldGVkRW50cnkiLCJzcGxpY2UiLCJkYXRhIiwiY29uY2F0IiwibGVuZ3RoIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NvbGxlY3Rpb25QYWdlL3JlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTG9jYWwgaW1wb3J0cy5cbmltcG9ydCBnZXRDb2xsZWN0aW9uUGFnZURhdGEgZnJvbSAnLi9nZXRDb2xsZWN0aW9uUGFnZURhdGEnO1xuXG4vKipcbiAqIFJlbW92ZXMgYW4gZW50cnkgd2l0aCBhIGdpdmVuIGlkIGZyb20gYSBjb2xsZWN0aW9uLlxuICogXG4gKiBAcGFyYW0ge3N0cmluZ30gY29sbGVjdGlvbk5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbGxlY3Rpb24gdG8gZGVsZXRlIHRoZSBlbnRyeSBmcm9tLlxuICogQHBhcmFtIHtvYmplY3R9IGZvcm1EYXRhIFRoZSB0b3AtbGV2ZWwgZm9ybURhdGEgb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSBpZCBvZiB0aGUgZW50cnkgdG8gYmUgZGVsZXRlZC5cbiAqIEByZXR1cm5zIG51bGwgaWYgdGhlIHRhcmdldCBlbnRyeSBjb3VsZCBub3QgYmUgZGVsZXRlZC5cbiAqICAgICAgICAgIFRoZSBkZWxldGVkIGVudHJ5IGlmIGl0IHdhcyBkZWxldGVkIHN1Y2Nlc3NmdWxseS5cbiAqL1xuY29uc3QgcmVtb3ZlQ29sbGVjdGlvblBhZ2VFbnRyeSA9IChjb2xsZWN0aW9uTmFtZSwgZm9ybURhdGEsIGlkKSA9PiB7XG4gIGNvbnN0IGNvbGxlY3Rpb25EYXRhICA9IGdldENvbGxlY3Rpb25QYWdlRGF0YShjb2xsZWN0aW9uTmFtZSwgZm9ybURhdGEpO1xuICBpZiAoIWNvbGxlY3Rpb25EYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaW5kZXhUb0RlbGV0ZSA9IGNvbGxlY3Rpb25EYXRhLmZpbmRJbmRleChlbnRyeSA9PiBlbnRyeS5pZCA9PT0gaWQpO1xuICBpZiAoaW5kZXhUb0RlbGV0ZSA9PT0gLTEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBkZWxldGVkRW50cnkgPSBjb2xsZWN0aW9uRGF0YVtpbmRleFRvRGVsZXRlXTtcbiAgY29sbGVjdGlvbkRhdGEuc3BsaWNlKGluZGV4VG9EZWxldGUsIDEpO1xuICBjb25zdCBkYXRhID0gZm9ybURhdGE7XG4gIGRhdGFbYCR7Y29sbGVjdGlvbk5hbWV9QWN0aXZlSWRgXSA9IGNvbGxlY3Rpb25EYXRhLmxlbmd0aCA+IDAgPyBjb2xsZWN0aW9uRGF0YVswXS5pZCA6IG51bGw7XG4gIHJldHVybiBkZWxldGVkRW50cnk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCByZW1vdmVDb2xsZWN0aW9uUGFnZUVudHJ5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxzQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTRELFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRDVEOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1HLHlCQUF5QixHQUFHQSxDQUFDQyxjQUFjLEVBQUVDLFFBQVEsRUFBRUMsRUFBRSxLQUFLO0VBQ2xFLE1BQU1DLGNBQWMsR0FBSSxJQUFBQyw4QkFBcUIsRUFBQ0osY0FBYyxFQUFFQyxRQUFRLENBQUM7RUFDdkUsSUFBSSxDQUFDRSxjQUFjLEVBQUU7SUFDbkIsT0FBTyxJQUFJO0VBQ2I7RUFDQSxNQUFNRSxhQUFhLEdBQUdGLGNBQWMsQ0FBQ0csU0FBUyxDQUFDQyxLQUFLLElBQUlBLEtBQUssQ0FBQ0wsRUFBRSxLQUFLQSxFQUFFLENBQUM7RUFDeEUsSUFBSUcsYUFBYSxLQUFLLENBQUMsQ0FBQyxFQUFFO0lBQ3hCLE9BQU8sSUFBSTtFQUNiO0VBQ0EsTUFBTUcsWUFBWSxHQUFHTCxjQUFjLENBQUNFLGFBQWEsQ0FBQztFQUNsREYsY0FBYyxDQUFDTSxNQUFNLENBQUNKLGFBQWEsRUFBRSxDQUFDLENBQUM7RUFDdkMsTUFBTUssSUFBSSxHQUFHVCxRQUFRO0VBQ3JCUyxJQUFJLElBQUFDLE1BQUEsQ0FBSVgsY0FBYyxjQUFXLEdBQUdHLGNBQWMsQ0FBQ1MsTUFBTSxHQUFHLENBQUMsR0FBR1QsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDRCxFQUFFLEdBQUcsSUFBSTtFQUMzRixPQUFPTSxZQUFZO0FBQ3JCLENBQUM7QUFBQyxJQUFBSyxRQUFBLEdBQUFDLE9BQUEsQ0FBQWhCLE9BQUEsR0FFYUMseUJBQXlCIiwiaWdub3JlTGlzdCI6W119
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollectionPageEntry"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
5
- // Local imports.
6
-
7
- describe('utils.collectionPage.removeCollectionPageEntry', () => {
8
- const FORM_DATA = {
9
- parentsActiveId: '1',
10
- childrenActiveId: '1',
11
- grandchildrenActiveId: '1',
12
- parents: [{
13
- id: '1',
14
- children: [{
15
- id: '1',
16
- grandchildren: [{
17
- id: '1',
18
- value: 'Alpha'
19
- }, {
20
- id: '2',
21
- value: 'Bravo'
22
- }, {
23
- id: '3',
24
- value: 'Charlie'
25
- }, {
26
- id: '4',
27
- value: 'Delta'
28
- }]
29
- }]
30
- }]
31
- };
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
- expect(removedEntry).toEqual(null);
35
- });
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
- expect(removedEntry).toEqual(null);
39
- });
40
- it('should return null if form data is invalid', () => {
41
- const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
42
- expect(removedEntry).toEqual(null);
43
- });
44
- it('should correctly remove the target entry', () => {
45
- const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
46
- expect(removedEntry).toEqual({
47
- id: '3',
48
- value: 'Charlie'
49
- });
50
- expect(FORM_DATA.parents[0].children[0].grandchildren).toEqual([{
51
- id: '1',
52
- value: 'Alpha'
53
- }, {
54
- id: '2',
55
- value: 'Bravo'
56
- }, {
57
- id: '4',
58
- value: 'Delta'
59
- }]);
60
- });
61
- });
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVtb3ZlQ29sbGVjdGlvblBhZ2VFbnRyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJGT1JNX0RBVEEiLCJwYXJlbnRzQWN0aXZlSWQiLCJjaGlsZHJlbkFjdGl2ZUlkIiwiZ3JhbmRjaGlsZHJlbkFjdGl2ZUlkIiwicGFyZW50cyIsImlkIiwiY2hpbGRyZW4iLCJncmFuZGNoaWxkcmVuIiwidmFsdWUiLCJpdCIsInJlbW92ZWRFbnRyeSIsInJlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnkiLCJleHBlY3QiLCJ0b0VxdWFsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NvbGxlY3Rpb25QYWdlL3JlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnkudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMb2NhbCBpbXBvcnRzLlxuaW1wb3J0IHJlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnkgZnJvbSAnLi9yZW1vdmVDb2xsZWN0aW9uUGFnZUVudHJ5JztcblxuZGVzY3JpYmUoJ3V0aWxzLmNvbGxlY3Rpb25QYWdlLnJlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnknLCAoKSA9PiB7XG5cbiAgY29uc3QgRk9STV9EQVRBID0ge1xuICAgIHBhcmVudHNBY3RpdmVJZDogJzEnLFxuICAgIGNoaWxkcmVuQWN0aXZlSWQ6ICcxJyxcbiAgICBncmFuZGNoaWxkcmVuQWN0aXZlSWQ6ICcxJyxcbiAgICBwYXJlbnRzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgIGdyYW5kY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdBbHBoYSdcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnMicsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdCcmF2bydcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnMycsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICdDaGFybGllJ1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICc0JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ0RlbHRhJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgaWYgYSBwYXJlbnQgY29sbGVjdGlvbiBkb2VzIG5vdCBleGlzdCcsICgpID0+IHtcbiAgICBjb25zdCByZW1vdmVkRW50cnkgPSByZW1vdmVDb2xsZWN0aW9uUGFnZUVudHJ5KCdwYXJlbnRzLmNoYWluYnJlYWsuZ3JhbmRjaGlsZHJlbicsIEZPUk1fREFUQSwgJzEnKTtcbiAgICBleHBlY3QocmVtb3ZlZEVudHJ5KS50b0VxdWFsKG51bGwpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBudWxsIGlmIGFuIGVudHJ5IHdpdGggdGhlIHByb3ZpZGVkIGlkIGRvZXMgbm90IGV4aXN0JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlbW92ZWRFbnRyeSA9IHJlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnkoJ3BhcmVudHMuY2hpbGRyZW4uZ3JhbmRjaGlsZHJlbicsIEZPUk1fREFUQSwgJzAnKTtcbiAgICBleHBlY3QocmVtb3ZlZEVudHJ5KS50b0VxdWFsKG51bGwpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBudWxsIGlmIGZvcm0gZGF0YSBpcyBpbnZhbGlkJywgKCkgPT4ge1xuICAgIGNvbnN0IHJlbW92ZWRFbnRyeSA9IHJlbW92ZUNvbGxlY3Rpb25QYWdlRW50cnkoJ3BhcmVudHMuY2hpbGRyZW4uZ3JhbmRjaGlsZHJlbicsIG51bGwsICcxJyk7XG4gICAgZXhwZWN0KHJlbW92ZWRFbnRyeSkudG9FcXVhbChudWxsKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgcmVtb3ZlIHRoZSB0YXJnZXQgZW50cnknLCAoKSA9PiB7XG4gICAgY29uc3QgcmVtb3ZlZEVudHJ5ID0gcmVtb3ZlQ29sbGVjdGlvblBhZ2VFbnRyeSgncGFyZW50cy5jaGlsZHJlbi5ncmFuZGNoaWxkcmVuJywgRk9STV9EQVRBLCAnMycpO1xuICAgIGV4cGVjdChyZW1vdmVkRW50cnkpLnRvRXF1YWwoe1xuICAgICAgaWQ6ICczJyxcbiAgICAgIHZhbHVlOiAnQ2hhcmxpZSdcbiAgICB9KTtcbiAgICBleHBlY3QoRk9STV9EQVRBLnBhcmVudHNbMF0uY2hpbGRyZW5bMF0uZ3JhbmRjaGlsZHJlbikudG9FcXVhbChbXG4gICAgICB7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIHZhbHVlOiAnQWxwaGEnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJzInLFxuICAgICAgICB2YWx1ZTogJ0JyYXZvJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICc0JyxcbiAgICAgICAgdmFsdWU6ICdEZWx0YSdcbiAgICAgIH1cbiAgICBdKTtcbiAgfSlcblxufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsMEJBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUFvRSxTQUFBRCx1QkFBQUUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQURwRTs7QUFHQUcsUUFBUSxDQUFDLGdEQUFnRCxFQUFFLE1BQU07RUFFL0QsTUFBTUMsU0FBUyxHQUFHO0lBQ2hCQyxlQUFlLEVBQUUsR0FBRztJQUNwQkMsZ0JBQWdCLEVBQUUsR0FBRztJQUNyQkMscUJBQXFCLEVBQUUsR0FBRztJQUMxQkMsT0FBTyxFQUFFLENBQ1A7TUFDRUMsRUFBRSxFQUFFLEdBQUc7TUFDUEMsUUFBUSxFQUFFLENBQ1I7UUFDRUQsRUFBRSxFQUFFLEdBQUc7UUFDUEUsYUFBYSxFQUFFLENBQ2I7VUFDRUYsRUFBRSxFQUFFLEdBQUc7VUFDUEcsS0FBSyxFQUFFO1FBQ1QsQ0FBQyxFQUNEO1VBQ0VILEVBQUUsRUFBRSxHQUFHO1VBQ1BHLEtBQUssRUFBRTtRQUNULENBQUMsRUFDRDtVQUNFSCxFQUFFLEVBQUUsR0FBRztVQUNQRyxLQUFLLEVBQUU7UUFDVCxDQUFDLEVBQ0Q7VUFDRUgsRUFBRSxFQUFFLEdBQUc7VUFDUEcsS0FBSyxFQUFFO1FBQ1QsQ0FBQztNQUVMLENBQUM7SUFFTCxDQUFDO0VBRUwsQ0FBQztFQUVEQyxFQUFFLENBQUMsMERBQTBELEVBQUUsTUFBTTtJQUNuRSxNQUFNQyxZQUFZLEdBQUcsSUFBQUMsa0NBQXlCLEVBQUMsa0NBQWtDLEVBQUVYLFNBQVMsRUFBRSxHQUFHLENBQUM7SUFDbEdZLE1BQU0sQ0FBQ0YsWUFBWSxDQUFDLENBQUNHLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDcEMsQ0FBQyxDQUFDO0VBRUZKLEVBQUUsQ0FBQyxvRUFBb0UsRUFBRSxNQUFNO0lBQzdFLE1BQU1DLFlBQVksR0FBRyxJQUFBQyxrQ0FBeUIsRUFBQyxnQ0FBZ0MsRUFBRVgsU0FBUyxFQUFFLEdBQUcsQ0FBQztJQUNoR1ksTUFBTSxDQUFDRixZQUFZLENBQUMsQ0FBQ0csT0FBTyxDQUFDLElBQUksQ0FBQztFQUNwQyxDQUFDLENBQUM7RUFFRkosRUFBRSxDQUFDLDRDQUE0QyxFQUFFLE1BQU07SUFDckQsTUFBTUMsWUFBWSxHQUFHLElBQUFDLGtDQUF5QixFQUFDLGdDQUFnQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUM7SUFDM0ZDLE1BQU0sQ0FBQ0YsWUFBWSxDQUFDLENBQUNHLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDcEMsQ0FBQyxDQUFDO0VBRUZKLEVBQUUsQ0FBQywwQ0FBMEMsRUFBRSxNQUFNO0lBQ25ELE1BQU1DLFlBQVksR0FBRyxJQUFBQyxrQ0FBeUIsRUFBQyxnQ0FBZ0MsRUFBRVgsU0FBUyxFQUFFLEdBQUcsQ0FBQztJQUNoR1ksTUFBTSxDQUFDRixZQUFZLENBQUMsQ0FBQ0csT0FBTyxDQUFDO01BQzNCUixFQUFFLEVBQUUsR0FBRztNQUNQRyxLQUFLLEVBQUU7SUFDVCxDQUFDLENBQUM7SUFDRkksTUFBTSxDQUFDWixTQUFTLENBQUNJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDQyxhQUFhLENBQUMsQ0FBQ00sT0FBTyxDQUFDLENBQzdEO01BQ0VSLEVBQUUsRUFBRSxHQUFHO01BQ1BHLEtBQUssRUFBRTtJQUNULENBQUMsRUFDRDtNQUNFSCxFQUFFLEVBQUUsR0FBRztNQUNQRyxLQUFLLEVBQUU7SUFDVCxDQUFDLEVBQ0Q7TUFDRUgsRUFBRSxFQUFFLEdBQUc7TUFDUEcsS0FBSyxFQUFFO0lBQ1QsQ0FBQyxDQUNGLENBQUM7RUFDSixDQUFDLENBQUM7QUFFSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _uuid = require("uuid");
8
- const isValidIndex = value => typeof value === 'number' && value >= 0;
9
-
10
- /**
11
- * This function sets the data for a given collection in formData.
12
- *
13
- * This functions handles collectionName being a dot-separated string
14
- * by drilling down through each active entry in each parent collection.
15
- *
16
- * If at any point this path is broken because a collection in the chain
17
- * doesn't exist, then the missing collection is created and an active
18
- * entry is created.
19
- *
20
- * @param {string} collectionName The page's collection name. Can be dot-separated for nested collections.
21
- * @param {Array} newData The new data to set for the collection.
22
- * @param {Object} formData Top level formData object.
23
- */
24
- const setCollectionPageData = (collectionName, newData, formData) => {
25
- const nameParts = collectionName.split('.');
26
- const targetCollection = nameParts[nameParts.length - 1];
27
- let data = formData;
28
- nameParts.some(name => {
29
- var _data$name;
30
- // Current collection doesn't exist, so create it
31
- if (!data[name]) {
32
- data[name] = [];
33
- }
34
- // If the entry matching the active ID doesn't exist in the collection, create it.
35
- if (!data[name].find(e => e.id === formData["".concat(name, "ActiveId")])) {
36
- const newEntryId = (0, _uuid.v4)();
37
- // eslint-disable-next-line no-param-reassign
38
- formData["".concat(name, "ActiveId")] = formData["".concat(name, "ActiveId")] || newEntryId;
39
- data[name].push({
40
- id: formData["".concat(name, "ActiveId")]
41
- });
42
- }
43
- // We're at the target collection's level, so
44
- // set the new data.
45
- if (name === targetCollection) {
46
- // eslint-disable-next-line no-param-reassign
47
- data[targetCollection] = newData;
48
- return true;
49
- }
50
- const activeId = formData["".concat(name, "ActiveId")];
51
- const activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(item => item.id === activeId);
52
- if (!isValidIndex(activeIndex)) {
53
- return true;
54
- }
55
- data = data[name][activeIndex];
56
- return false;
57
- });
58
- };
59
- var _default = exports.default = setCollectionPageData;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXVpZCIsInJlcXVpcmUiLCJpc1ZhbGlkSW5kZXgiLCJ2YWx1ZSIsInNldENvbGxlY3Rpb25QYWdlRGF0YSIsImNvbGxlY3Rpb25OYW1lIiwibmV3RGF0YSIsImZvcm1EYXRhIiwibmFtZVBhcnRzIiwic3BsaXQiLCJ0YXJnZXRDb2xsZWN0aW9uIiwibGVuZ3RoIiwiZGF0YSIsInNvbWUiLCJuYW1lIiwiX2RhdGEkbmFtZSIsImZpbmQiLCJlIiwiaWQiLCJjb25jYXQiLCJuZXdFbnRyeUlkIiwidXVpZHY0IiwicHVzaCIsImFjdGl2ZUlkIiwiYWN0aXZlSW5kZXgiLCJmaW5kSW5kZXgiLCJpdGVtIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9Db2xsZWN0aW9uUGFnZS9zZXRDb2xsZWN0aW9uUGFnZURhdGEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5cbmNvbnN0IGlzVmFsaWRJbmRleCA9ICh2YWx1ZSkgPT4gKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpICYmIHZhbHVlID49IDA7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBzZXRzIHRoZSBkYXRhIGZvciBhIGdpdmVuIGNvbGxlY3Rpb24gaW4gZm9ybURhdGEuXG4gKiBcbiAqIFRoaXMgZnVuY3Rpb25zIGhhbmRsZXMgY29sbGVjdGlvbk5hbWUgYmVpbmcgYSBkb3Qtc2VwYXJhdGVkIHN0cmluZ1xuICogYnkgZHJpbGxpbmcgZG93biB0aHJvdWdoIGVhY2ggYWN0aXZlIGVudHJ5IGluIGVhY2ggcGFyZW50IGNvbGxlY3Rpb24uXG4gKiBcbiAqIElmIGF0IGFueSBwb2ludCB0aGlzIHBhdGggaXMgYnJva2VuIGJlY2F1c2UgYSBjb2xsZWN0aW9uIGluIHRoZSBjaGFpblxuICogZG9lc24ndCBleGlzdCwgdGhlbiB0aGUgbWlzc2luZyBjb2xsZWN0aW9uIGlzIGNyZWF0ZWQgYW5kIGFuIGFjdGl2ZVxuICogZW50cnkgaXMgY3JlYXRlZC5cbiAqIFxuICogQHBhcmFtIHtzdHJpbmd9IGNvbGxlY3Rpb25OYW1lIFRoZSBwYWdlJ3MgY29sbGVjdGlvbiBuYW1lLiBDYW4gYmUgZG90LXNlcGFyYXRlZCBmb3IgbmVzdGVkIGNvbGxlY3Rpb25zLlxuICogQHBhcmFtIHtBcnJheX0gbmV3RGF0YSBUaGUgbmV3IGRhdGEgdG8gc2V0IGZvciB0aGUgY29sbGVjdGlvbi5cbiAqIEBwYXJhbSB7T2JqZWN0fSBmb3JtRGF0YSBUb3AgbGV2ZWwgZm9ybURhdGEgb2JqZWN0LlxuICovXG5jb25zdCBzZXRDb2xsZWN0aW9uUGFnZURhdGEgPSAoY29sbGVjdGlvbk5hbWUsIG5ld0RhdGEsIGZvcm1EYXRhKSA9PiB7XG4gIGNvbnN0IG5hbWVQYXJ0cyA9IGNvbGxlY3Rpb25OYW1lLnNwbGl0KCcuJyk7XG4gIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBuYW1lUGFydHNbbmFtZVBhcnRzLmxlbmd0aCAtIDFdO1xuICBsZXQgZGF0YSA9IGZvcm1EYXRhO1xuICBuYW1lUGFydHMuc29tZShuYW1lID0+IHtcbiAgICAvLyBDdXJyZW50IGNvbGxlY3Rpb24gZG9lc24ndCBleGlzdCwgc28gY3JlYXRlIGl0XG4gICAgaWYgKCFkYXRhW25hbWVdKSB7XG4gICAgICBkYXRhW25hbWVdID0gW11cbiAgICB9XG4gICAgLy8gSWYgdGhlIGVudHJ5IG1hdGNoaW5nIHRoZSBhY3RpdmUgSUQgZG9lc24ndCBleGlzdCBpbiB0aGUgY29sbGVjdGlvbiwgY3JlYXRlIGl0LiBcbiAgICBpZiAoIWRhdGFbbmFtZV0uZmluZChlID0+IGUuaWQgPT09IGZvcm1EYXRhW2Ake25hbWV9QWN0aXZlSWRgXSkpIHtcbiAgICAgIGNvbnN0IG5ld0VudHJ5SWQgPSB1dWlkdjQoKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZm9ybURhdGFbYCR7bmFtZX1BY3RpdmVJZGBdID0gZm9ybURhdGFbYCR7bmFtZX1BY3RpdmVJZGBdIHx8IG5ld0VudHJ5SWQ7XG4gICAgICBkYXRhW25hbWVdLnB1c2goe1xuICAgICAgICBpZDogZm9ybURhdGFbYCR7bmFtZX1BY3RpdmVJZGBdXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gV2UncmUgYXQgdGhlIHRhcmdldCBjb2xsZWN0aW9uJ3MgbGV2ZWwsIHNvIFxuICAgIC8vIHNldCB0aGUgbmV3IGRhdGEuXG4gICAgaWYgKG5hbWUgPT09IHRhcmdldENvbGxlY3Rpb24pIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZGF0YVt0YXJnZXRDb2xsZWN0aW9uXSA9IG5ld0RhdGE7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3RpdmVJZCA9IGZvcm1EYXRhW2Ake25hbWV9QWN0aXZlSWRgXTtcbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IGRhdGFbbmFtZV0/LmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZUlkKTtcbiAgICBpZiAoIWlzVmFsaWRJbmRleChhY3RpdmVJbmRleCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBkYXRhID0gZGF0YVtuYW1lXVthY3RpdmVJbmRleF07XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHNldENvbGxlY3Rpb25QYWdlRGF0YTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBRUEsTUFBTUMsWUFBWSxHQUFJQyxLQUFLLElBQU0sT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBS0EsS0FBSyxJQUFJLENBQUM7O0FBRXpFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQyxxQkFBcUIsR0FBR0EsQ0FBQ0MsY0FBYyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsS0FBSztFQUNuRSxNQUFNQyxTQUFTLEdBQUdILGNBQWMsQ0FBQ0ksS0FBSyxDQUFDLEdBQUcsQ0FBQztFQUMzQyxNQUFNQyxnQkFBZ0IsR0FBR0YsU0FBUyxDQUFDQSxTQUFTLENBQUNHLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDeEQsSUFBSUMsSUFBSSxHQUFHTCxRQUFRO0VBQ25CQyxTQUFTLENBQUNLLElBQUksQ0FBQ0MsSUFBSSxJQUFJO0lBQUEsSUFBQUMsVUFBQTtJQUNyQjtJQUNBLElBQUksQ0FBQ0gsSUFBSSxDQUFDRSxJQUFJLENBQUMsRUFBRTtNQUNmRixJQUFJLENBQUNFLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDakI7SUFDQTtJQUNBLElBQUksQ0FBQ0YsSUFBSSxDQUFDRSxJQUFJLENBQUMsQ0FBQ0UsSUFBSSxDQUFDQyxDQUFDLElBQUlBLENBQUMsQ0FBQ0MsRUFBRSxLQUFLWCxRQUFRLElBQUFZLE1BQUEsQ0FBSUwsSUFBSSxjQUFXLENBQUMsRUFBRTtNQUMvRCxNQUFNTSxVQUFVLEdBQUcsSUFBQUMsUUFBTSxFQUFDLENBQUM7TUFDM0I7TUFDQWQsUUFBUSxJQUFBWSxNQUFBLENBQUlMLElBQUksY0FBVyxHQUFHUCxRQUFRLElBQUFZLE1BQUEsQ0FBSUwsSUFBSSxjQUFXLElBQUlNLFVBQVU7TUFDdkVSLElBQUksQ0FBQ0UsSUFBSSxDQUFDLENBQUNRLElBQUksQ0FBQztRQUNkSixFQUFFLEVBQUVYLFFBQVEsSUFBQVksTUFBQSxDQUFJTCxJQUFJO01BQ3RCLENBQUMsQ0FBQztJQUNKO0lBQ0E7SUFDQTtJQUNBLElBQUlBLElBQUksS0FBS0osZ0JBQWdCLEVBQUU7TUFDN0I7TUFDQUUsSUFBSSxDQUFDRixnQkFBZ0IsQ0FBQyxHQUFHSixPQUFPO01BQ2hDLE9BQU8sSUFBSTtJQUNiO0lBRUEsTUFBTWlCLFFBQVEsR0FBR2hCLFFBQVEsSUFBQVksTUFBQSxDQUFJTCxJQUFJLGNBQVc7SUFDNUMsTUFBTVUsV0FBVyxJQUFBVCxVQUFBLEdBQUdILElBQUksQ0FBQ0UsSUFBSSxDQUFDLGNBQUFDLFVBQUEsdUJBQVZBLFVBQUEsQ0FBWVUsU0FBUyxDQUFDQyxJQUFJLElBQUlBLElBQUksQ0FBQ1IsRUFBRSxLQUFLSyxRQUFRLENBQUM7SUFDdkUsSUFBSSxDQUFDckIsWUFBWSxDQUFDc0IsV0FBVyxDQUFDLEVBQUU7TUFDOUIsT0FBTyxJQUFJO0lBQ2I7SUFDQVosSUFBSSxHQUFHQSxJQUFJLENBQUNFLElBQUksQ0FBQyxDQUFDVSxXQUFXLENBQUM7SUFDOUIsT0FBTyxLQUFLO0VBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFHLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWF6QixxQkFBcUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,182 +0,0 @@
1
- "use strict";
2
-
3
- var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
4
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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
- id: '123',
10
- value: 'Alpha'
11
- }];
12
- (0, _setCollectionPageData.default)('parent.child.grandchild', NEW_DATA, FORM_DATA);
13
-
14
- // Check active Ids have been added for all collections in
15
- // the path.
16
- expect(FORM_DATA.parentActiveId).toBeDefined();
17
- expect(FORM_DATA.childActiveId).toBeDefined();
18
- expect(FORM_DATA.grandchildActiveId).toBeDefined();
19
-
20
- // Parent collection.
21
- expect(FORM_DATA.parent.length).toEqual(1);
22
- expect(FORM_DATA.parent[0].id).toBeTruthy();
23
-
24
- // Child collection.
25
- expect(FORM_DATA.parent[0].child.length).toEqual(1);
26
- expect(FORM_DATA.parent[0].child[0].id).toBeTruthy();
27
-
28
- // Child collection.
29
- expect(FORM_DATA.parent[0].child[0].grandchild.length).toEqual(1);
30
- expect(FORM_DATA.parent[0].child[0].grandchild[0]).toMatchObject({
31
- id: '123',
32
- value: 'Alpha'
33
- });
34
- });
35
- it('should not overwrite existing entry IDs', () => {
36
- const FORM_DATA = {
37
- grandchildActiveId: 77
38
- };
39
- const NEW_DATA = [{
40
- id: '123',
41
- value: 'Alpha'
42
- }];
43
- (0, _setCollectionPageData.default)('parent.child.grandchild', NEW_DATA, FORM_DATA);
44
-
45
- // Check active Ids have been added for all collections in
46
- // the path.
47
- expect(FORM_DATA.parentActiveId).toBeDefined();
48
- expect(FORM_DATA.childActiveId).toBeDefined();
49
- expect(FORM_DATA.grandchildActiveId).toEqual(77);
50
-
51
- // Parent collection.
52
- expect(FORM_DATA.parent.length).toEqual(1);
53
- expect(FORM_DATA.parent[0].id).toBeTruthy();
54
-
55
- // Child collection.
56
- expect(FORM_DATA.parent[0].child.length).toEqual(1);
57
- expect(FORM_DATA.parent[0].child[0].id).toBeTruthy();
58
-
59
- // Child collection.
60
- expect(FORM_DATA.parent[0].child[0].grandchild.length).toEqual(1);
61
- expect(FORM_DATA.parent[0].child[0].grandchild[0]).toMatchObject({
62
- id: '123',
63
- value: 'Alpha'
64
- });
65
- });
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
- parentActiveId: '1',
70
- childActiveId: '1',
71
- grandchildActiveId: '1',
72
- parent: [{
73
- id: '1',
74
- child: [{
75
- id: '1',
76
- grandchild: [{
77
- id: '1',
78
- value: 'oldValue'
79
- }]
80
- }]
81
- }]
82
- };
83
- const NEW_DATA = [{
84
- id: '1',
85
- value: 'newValue'
86
- }];
87
- (0, _setCollectionPageData.default)('parent.breakhere.grandchild', NEW_DATA, FORM_DATA);
88
- expect(FORM_DATA.parent[0].child[0].grandchild[0]).toMatchObject({
89
- id: '1',
90
- value: 'oldValue'
91
- });
92
- });
93
- it('should do nothing if an active ID does not exist for a parent collection', () => {
94
- const FORM_DATA = {
95
- parentActiveId: '1',
96
- grandchildActiveId: '1',
97
- parent: [{
98
- id: '1',
99
- child: [{
100
- id: '1',
101
- grandchild: [{
102
- id: '1',
103
- value: 'oldValue'
104
- }]
105
- }]
106
- }]
107
- };
108
- const NEW_DATA = [{
109
- id: '1',
110
- value: 'newValue'
111
- }];
112
- (0, _setCollectionPageData.default)('parent.child.grandchild', NEW_DATA, FORM_DATA);
113
- expect(FORM_DATA.parent[0].child[0].grandchild[0]).toMatchObject({
114
- id: '1',
115
- value: 'oldValue'
116
- });
117
- });
118
- });
119
- it('should correctly set the value for a top-level collection', () => {
120
- const FORM_DATA = {
121
- testCollectionActiveId: '1',
122
- testCollection: [{
123
- id: '1',
124
- value: 'oldValue'
125
- }]
126
- };
127
- const NEW_DATA = [{
128
- id: '1',
129
- value: 'newValue'
130
- }];
131
- (0, _setCollectionPageData.default)('testCollection', NEW_DATA, FORM_DATA);
132
- expect(FORM_DATA.testCollection[0]).toMatchObject({
133
- id: '1',
134
- value: 'newValue'
135
- });
136
- });
137
- it('should correctly set the data for a nested collection', () => {
138
- const FORM_DATA = {
139
- parentActiveId: '1',
140
- childActiveId: '1',
141
- grandchildActiveId: '1',
142
- parent: [{
143
- id: '1',
144
- child: [{
145
- id: '1',
146
- grandchild: [{
147
- id: '1',
148
- value: 'oldValue'
149
- }]
150
- }]
151
- }]
152
- };
153
- const NEW_DATA = [{
154
- id: '1',
155
- value: 'newValue'
156
- }];
157
- (0, _setCollectionPageData.default)('parent.child.grandchild', NEW_DATA, FORM_DATA);
158
- expect(FORM_DATA.parent[0].child[0].grandchild[0]).toMatchObject({
159
- id: '1',
160
- value: 'newValue'
161
- });
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
- });
181
- });
182
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2V0Q29sbGVjdGlvblBhZ2VEYXRhIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZXNjcmliZSIsIml0IiwiRk9STV9EQVRBIiwiTkVXX0RBVEEiLCJpZCIsInZhbHVlIiwic2V0Q29sbGVjdGlvblBhZ2VEYXRhIiwiZXhwZWN0IiwicGFyZW50QWN0aXZlSWQiLCJ0b0JlRGVmaW5lZCIsImNoaWxkQWN0aXZlSWQiLCJncmFuZGNoaWxkQWN0aXZlSWQiLCJwYXJlbnQiLCJsZW5ndGgiLCJ0b0VxdWFsIiwidG9CZVRydXRoeSIsImNoaWxkIiwiZ3JhbmRjaGlsZCIsInRvTWF0Y2hPYmplY3QiLCJ0ZXN0Q29sbGVjdGlvbkFjdGl2ZUlkIiwidGVzdENvbGxlY3Rpb24iLCJmb3JtRGF0YSIsImNvbGxlY3Rpb25OYW1lIiwibmV3RGF0YSIsImNvbmNhdCIsInRvQmUiLCJvYmplY3RDb250YWluaW5nIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NvbGxlY3Rpb25QYWdlL3NldENvbGxlY3Rpb25QYWdlRGF0YS50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzZXRDb2xsZWN0aW9uUGFnZURhdGEgZnJvbSAnLi9zZXRDb2xsZWN0aW9uUGFnZURhdGEnO1xuXG5kZXNjcmliZSgnVXRpbHMuQ29sbGVjdGlvblBhZ2Uuc2V0Q29sbGVjdGlvblBhZ2VEYXRhJywgKCkgPT4ge1xuXG4gIGl0KCdzaG91bGQgY3JlYXRlIG5lY2Vzc2FyeSBlbnRyaWVzIHdoZW4gY29sbGVjdGlvbnMgaW4gdGhlIHBhdGggZG9uXFwndCBleGlzdCcsICgpID0+IHtcbiAgICBjb25zdCBGT1JNX0RBVEEgPSB7fTtcbiAgICBjb25zdCBORVdfREFUQSA9IFt7XG4gICAgICBpZDogJzEyMycsXG4gICAgICB2YWx1ZTogJ0FscGhhJ1xuICAgIH1dO1xuICAgIHNldENvbGxlY3Rpb25QYWdlRGF0YSgncGFyZW50LmNoaWxkLmdyYW5kY2hpbGQnLCBORVdfREFUQSwgRk9STV9EQVRBKTtcbiAgICBcbiAgICAvLyBDaGVjayBhY3RpdmUgSWRzIGhhdmUgYmVlbiBhZGRlZCBmb3IgYWxsIGNvbGxlY3Rpb25zIGluXG4gICAgLy8gdGhlIHBhdGguXG4gICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnRBY3RpdmVJZCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoRk9STV9EQVRBLmNoaWxkQWN0aXZlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KEZPUk1fREFUQS5ncmFuZGNoaWxkQWN0aXZlSWQpLnRvQmVEZWZpbmVkKCk7XG5cbiAgICAvLyBQYXJlbnQgY29sbGVjdGlvbi5cbiAgICBleHBlY3QoRk9STV9EQVRBLnBhcmVudC5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnRbMF0uaWQpLnRvQmVUcnV0aHkoKTtcblxuICAgIC8vIENoaWxkIGNvbGxlY3Rpb24uXG4gICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnRbMF0uY2hpbGQubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChGT1JNX0RBVEEucGFyZW50WzBdLmNoaWxkWzBdLmlkKS50b0JlVHJ1dGh5KCk7XG5cbiAgICAvLyBDaGlsZCBjb2xsZWN0aW9uLlxuICAgIGV4cGVjdChGT1JNX0RBVEEucGFyZW50WzBdLmNoaWxkWzBdLmdyYW5kY2hpbGQubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChGT1JNX0RBVEEucGFyZW50WzBdLmNoaWxkWzBdLmdyYW5kY2hpbGRbMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgaWQ6ICcxMjMnLFxuICAgICAgdmFsdWU6ICdBbHBoYSdcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGVudHJ5IElEcycsICgpID0+IHtcbiAgICBjb25zdCBGT1JNX0RBVEEgPSB7XG4gICAgICBncmFuZGNoaWxkQWN0aXZlSWQ6IDc3XG4gICAgfTtcbiAgICBjb25zdCBORVdfREFUQSA9IFt7XG4gICAgICBpZDogJzEyMycsXG4gICAgICB2YWx1ZTogJ0FscGhhJ1xuICAgIH1dO1xuICAgIHNldENvbGxlY3Rpb25QYWdlRGF0YSgncGFyZW50LmNoaWxkLmdyYW5kY2hpbGQnLCBORVdfREFUQSwgRk9STV9EQVRBKTtcbiAgICBcbiAgICAvLyBDaGVjayBhY3RpdmUgSWRzIGhhdmUgYmVlbiBhZGRlZCBmb3IgYWxsIGNvbGxlY3Rpb25zIGluXG4gICAgLy8gdGhlIHBhdGguXG4gICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnRBY3RpdmVJZCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoRk9STV9EQVRBLmNoaWxkQWN0aXZlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KEZPUk1fREFUQS5ncmFuZGNoaWxkQWN0aXZlSWQpLnRvRXF1YWwoNzcpO1xuXG4gICAgLy8gUGFyZW50IGNvbGxlY3Rpb24uXG4gICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnQubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChGT1JNX0RBVEEucGFyZW50WzBdLmlkKS50b0JlVHJ1dGh5KCk7XG5cbiAgICAvLyBDaGlsZCBjb2xsZWN0aW9uLlxuICAgIGV4cGVjdChGT1JNX0RBVEEucGFyZW50WzBdLmNoaWxkLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICBleHBlY3QoRk9STV9EQVRBLnBhcmVudFswXS5jaGlsZFswXS5pZCkudG9CZVRydXRoeSgpO1xuXG4gICAgLy8gQ2hpbGQgY29sbGVjdGlvbi5cbiAgICBleHBlY3QoRk9STV9EQVRBLnBhcmVudFswXS5jaGlsZFswXS5ncmFuZGNoaWxkLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICBleHBlY3QoRk9STV9EQVRBLnBhcmVudFswXS5jaGlsZFswXS5ncmFuZGNoaWxkWzBdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIGlkOiAnMTIzJyxcbiAgICAgIHZhbHVlOiAnQWxwaGEnXG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd3aGVuIGZhaWxpbmcgdG8gc2V0IGRhdGEgZm9yIGEgbmVzdGVkIGNvbGxlY3Rpb24nLCAoKSA9PiB7XG5cbiAgICBpdCgnc2hvdWxkIGRvIG5vdGhpbmcgaWYgb25lIG9mIHRoZSBwYXJlbnQgY29sbGVjdGlvbnMgZG9lcyBub3QgZXhpc3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCBGT1JNX0RBVEEgPSB7XG4gICAgICAgIHBhcmVudEFjdGl2ZUlkOiAnMScsXG4gICAgICAgIGNoaWxkQWN0aXZlSWQ6ICcxJyxcbiAgICAgICAgZ3JhbmRjaGlsZEFjdGl2ZUlkOiAnMScsXG4gICAgICAgIHBhcmVudDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICBjaGlsZDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgICBncmFuZGNoaWxkOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnb2xkVmFsdWUnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgICAgY29uc3QgTkVXX0RBVEEgPSBbe1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICB2YWx1ZTogJ25ld1ZhbHVlJ1xuICAgICAgfV07XG4gICAgICBzZXRDb2xsZWN0aW9uUGFnZURhdGEoJ3BhcmVudC5icmVha2hlcmUuZ3JhbmRjaGlsZCcsIE5FV19EQVRBLCBGT1JNX0RBVEEpO1xuICAgICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnRbMF0uY2hpbGRbMF0uZ3JhbmRjaGlsZFswXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIHZhbHVlOiAnb2xkVmFsdWUnXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZG8gbm90aGluZyBpZiBhbiBhY3RpdmUgSUQgZG9lcyBub3QgZXhpc3QgZm9yIGEgcGFyZW50IGNvbGxlY3Rpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBGT1JNX0RBVEEgPSB7XG4gICAgICAgIHBhcmVudEFjdGl2ZUlkOiAnMScsXG4gICAgICAgIGdyYW5kY2hpbGRBY3RpdmVJZDogJzEnLFxuICAgICAgICBwYXJlbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgY2hpbGQ6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgZ3JhbmRjaGlsZDogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ29sZFZhbHVlJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfTtcbiAgICAgIGNvbnN0IE5FV19EQVRBID0gW3tcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgdmFsdWU6ICduZXdWYWx1ZSdcbiAgICAgIH1dO1xuICAgICAgc2V0Q29sbGVjdGlvblBhZ2VEYXRhKCdwYXJlbnQuY2hpbGQuZ3JhbmRjaGlsZCcsIE5FV19EQVRBLCBGT1JNX0RBVEEpO1xuICAgICAgZXhwZWN0KEZPUk1fREFUQS5wYXJlbnRbMF0uY2hpbGRbMF0uZ3JhbmRjaGlsZFswXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIHZhbHVlOiAnb2xkVmFsdWUnXG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9KTtcblxuXG4gIGl0KCdzaG91bGQgY29ycmVjdGx5IHNldCB0aGUgdmFsdWUgZm9yIGEgdG9wLWxldmVsIGNvbGxlY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3QgRk9STV9EQVRBID0ge1xuICAgICAgdGVzdENvbGxlY3Rpb25BY3RpdmVJZDogJzEnLFxuICAgICAgdGVzdENvbGxlY3Rpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgdmFsdWU6ICdvbGRWYWx1ZSdcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgTkVXX0RBVEEgPSBbe1xuICAgICAgaWQ6ICcxJyxcbiAgICAgIHZhbHVlOiAnbmV3VmFsdWUnXG4gICAgfV07XG4gICAgc2V0Q29sbGVjdGlvblBhZ2VEYXRhKCd0ZXN0Q29sbGVjdGlvbicsIE5FV19EQVRBLCBGT1JNX0RBVEEpO1xuICAgIGV4cGVjdChGT1JNX0RBVEEudGVzdENvbGxlY3Rpb25bMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgaWQ6ICcxJyxcbiAgICAgIHZhbHVlOiAnbmV3VmFsdWUnXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29ycmVjdGx5IHNldCB0aGUgZGF0YSBmb3IgYSBuZXN0ZWQgY29sbGVjdGlvbicsICgpID0+IHtcbiAgICBjb25zdCBGT1JNX0RBVEEgPSB7XG4gICAgICBwYXJlbnRBY3RpdmVJZDogJzEnLFxuICAgICAgY2hpbGRBY3RpdmVJZDogJzEnLFxuICAgICAgZ3JhbmRjaGlsZEFjdGl2ZUlkOiAnMScsXG4gICAgICBwYXJlbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgY2hpbGQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgZ3JhbmRjaGlsZDogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJ29sZFZhbHVlJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgTkVXX0RBVEEgPSBbe1xuICAgICAgaWQ6ICcxJyxcbiAgICAgIHZhbHVlOiAnbmV3VmFsdWUnXG4gICAgfV07XG4gICAgc2V0Q29sbGVjdGlvblBhZ2VEYXRhKCdwYXJlbnQuY2hpbGQuZ3JhbmRjaGlsZCcsIE5FV19EQVRBLCBGT1JNX0RBVEEpO1xuICAgIGV4cGVjdChGT1JNX0RBVEEucGFyZW50WzBdLmNoaWxkWzBdLmdyYW5kY2hpbGRbMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgaWQ6ICcxJyxcbiAgICAgIHZhbHVlOiAnbmV3VmFsdWUnXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdjcmVhdGVzIGEgbmV3IGVudHJ5IGFuZCB1cGRhdGVzIGFjdGl2ZSBJRCBpZiBubyBtYXRjaGluZyBhY3RpdmUgSUQgaXMgZm91bmQnLCAoKSA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSB7fTtcbiAgICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9ICd0ZXN0Q29sbGVjdGlvbic7XG4gICAgY29uc3QgbmV3RGF0YSA9IFt7IGlkOiAnZGF0YUlkJywgdmFsdWU6ICd0ZXN0VmFsdWUnIH1dO1xuXG4gICAgc2V0Q29sbGVjdGlvblBhZ2VEYXRhKGNvbGxlY3Rpb25OYW1lLCBuZXdEYXRhLCBmb3JtRGF0YSk7XG5cbiAgICAvLyBDaGVjayBpZiBmb3JtRGF0YSBoYXMgYmVlbiB1cGRhdGVkXG4gICAgZXhwZWN0KGZvcm1EYXRhW2Ake2NvbGxlY3Rpb25OYW1lfUFjdGl2ZUlkYF0pLnRvQmVEZWZpbmVkKCk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgbmV3IGVudHJ5IHdhcyBhZGRlZCB0byB0aGUgY29sbGVjdGlvblxuICAgIGV4cGVjdChmb3JtRGF0YVtjb2xsZWN0aW9uTmFtZV0pLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KGZvcm1EYXRhW2NvbGxlY3Rpb25OYW1lXS5sZW5ndGgpLnRvQmUoMSk7XG4gICAgZXhwZWN0KGZvcm1EYXRhW2NvbGxlY3Rpb25OYW1lXVswXS5pZCkudG9CZShuZXdEYXRhWzBdLmlkKTtcbiAgICBleHBlY3QoZm9ybURhdGFbY29sbGVjdGlvbk5hbWVdWzBdKS50b0VxdWFsKGV4cGVjdC5vYmplY3RDb250YWluaW5nKG5ld0RhdGFbMF0pKTtcblxuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLHNCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBNEQsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFNURHLFFBQVEsQ0FBQyw0Q0FBNEMsRUFBRSxNQUFNO0VBRTNEQyxFQUFFLENBQUMsMkVBQTJFLEVBQUUsTUFBTTtJQUNwRixNQUFNQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLE1BQU1DLFFBQVEsR0FBRyxDQUFDO01BQ2hCQyxFQUFFLEVBQUUsS0FBSztNQUNUQyxLQUFLLEVBQUU7SUFDVCxDQUFDLENBQUM7SUFDRixJQUFBQyw4QkFBcUIsRUFBQyx5QkFBeUIsRUFBRUgsUUFBUSxFQUFFRCxTQUFTLENBQUM7O0lBRXJFO0lBQ0E7SUFDQUssTUFBTSxDQUFDTCxTQUFTLENBQUNNLGNBQWMsQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUM5Q0YsTUFBTSxDQUFDTCxTQUFTLENBQUNRLGFBQWEsQ0FBQyxDQUFDRCxXQUFXLENBQUMsQ0FBQztJQUM3Q0YsTUFBTSxDQUFDTCxTQUFTLENBQUNTLGtCQUFrQixDQUFDLENBQUNGLFdBQVcsQ0FBQyxDQUFDOztJQUVsRDtJQUNBRixNQUFNLENBQUNMLFNBQVMsQ0FBQ1UsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxQ1AsTUFBTSxDQUFDTCxTQUFT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