@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.
- package/README.md +106 -32
- package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
- package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
- package/dist/components/CheckYourAnswers/index.d.ts +2 -0
- package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
- package/dist/components/CollectionPage/index.d.ts +1 -0
- package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
- package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
- package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
- package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
- package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
- package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
- package/dist/components/CollectionSummary/index.d.ts +2 -0
- package/dist/components/FormComponent/Collection.d.ts +39 -0
- package/dist/components/FormComponent/Container.d.ts +26 -0
- package/dist/components/FormComponent/FormComponent.d.ts +39 -0
- package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
- package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
- package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
- package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
- package/dist/components/FormComponent/helpers/index.d.ts +5 -0
- package/dist/components/FormComponent/index.d.ts +2 -0
- package/dist/components/FormPage/FormPage.d.ts +36 -0
- package/dist/components/FormPage/index.d.ts +2 -0
- package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
- package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
- package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
- package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
- package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
- package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
- package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
- package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
- package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
- package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
- package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
- package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
- package/dist/components/FormRenderer/index.d.ts +2 -0
- package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
- package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
- package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
- package/dist/components/PageActions/ActionButton.d.ts +7 -0
- package/dist/components/PageActions/PageActions.d.ts +7 -0
- package/dist/components/PageActions/index.d.ts +2 -0
- package/dist/components/SummaryList/GroupAction.d.ts +12 -0
- package/dist/components/SummaryList/RowAction.d.ts +12 -0
- package/dist/components/SummaryList/SummaryList.d.ts +28 -0
- package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
- package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
- package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
- package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/index.d.ts +2 -0
- package/dist/components/SummaryList/index.d.ts +2 -0
- package/dist/components/TaskList/Task.d.ts +12 -0
- package/dist/components/TaskList/TaskList.d.ts +40 -0
- package/dist/components/TaskList/TaskState.d.ts +6 -0
- package/dist/components/TaskList/index.d.ts +2 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/context/HooksContext/HooksContext.d.ts +23 -0
- package/dist/context/HooksContext/index.d.ts +3 -0
- package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
- package/dist/context/ValidationContext/index.d.ts +3 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/useAxios.d.ts +2 -0
- package/dist/hooks/useGetRequest.d.ts +12 -0
- package/dist/hooks/useHooks.d.ts +2 -0
- package/dist/hooks/useRefData.d.ts +7 -0
- package/dist/hooks/useValidation.d.ts +2 -0
- package/dist/index.cjs +5 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6124 -81
- package/dist/models/CollectionLabels.d.ts +7 -0
- package/dist/models/ComponentTypes.d.ts +27 -0
- package/dist/models/EventTypes.d.ts +6 -0
- package/dist/models/FormPages.d.ts +6 -0
- package/dist/models/FormTypes.d.ts +10 -0
- package/dist/models/HubFormats.d.ts +5 -0
- package/dist/models/PageAction.d.ts +89 -0
- package/dist/models/TaskStates.d.ts +39 -0
- package/dist/models/index.d.ts +143 -0
- package/dist/setupTests.d.ts +14 -0
- package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
- package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
- package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
- package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
- package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
- package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
- package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
- package/dist/utils/CollectionPage/index.d.ts +13 -0
- package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
- package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
- package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
- package/dist/utils/Component/addShowWhen.d.ts +13 -0
- package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
- package/dist/utils/Component/cleanAttributes.d.ts +14 -0
- package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
- package/dist/utils/Component/getDefaultValue.d.ts +2 -0
- package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
- package/dist/utils/Component/index.d.ts +12 -0
- package/dist/utils/Component/isEditable.d.ts +3 -0
- package/dist/utils/Component/optionIsSelected.d.ts +10 -0
- package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
- package/dist/utils/Component/showComponent.d.ts +2 -0
- package/dist/utils/Condition/index.d.ts +6 -0
- package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
- package/dist/utils/Condition/meetsCondition.d.ts +14 -0
- package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
- package/dist/utils/Condition/setupConditions.d.ts +2 -0
- package/dist/utils/Container/getEditableComponents.d.ts +7 -0
- package/dist/utils/Container/index.d.ts +6 -0
- package/dist/utils/Container/setupNesting.d.ts +2 -0
- package/dist/utils/Container/showContainer.d.ts +8 -0
- package/dist/utils/Data/applyFormula.d.ts +2 -0
- package/dist/utils/Data/deleteValues.d.ts +8 -0
- package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
- package/dist/utils/Data/getDataPath.d.ts +21 -0
- package/dist/utils/Data/getOptions.d.ts +2 -0
- package/dist/utils/Data/getSourceData.d.ts +17 -0
- package/dist/utils/Data/index.d.ts +15 -0
- package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
- package/dist/utils/Data/refDataToOptions.d.ts +8 -0
- package/dist/utils/Data/setDataItem.d.ts +2 -0
- package/dist/utils/Data/setupFormData.d.ts +15 -0
- package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
- package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
- package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
- package/dist/utils/FormPage/getFormPage.d.ts +9 -0
- package/dist/utils/FormPage/getFormPages.d.ts +9 -0
- package/dist/utils/FormPage/getPageActions.d.ts +13 -0
- package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
- package/dist/utils/FormPage/index.d.ts +10 -0
- package/dist/utils/FormPage/showFormPage.d.ts +8 -0
- package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
- package/dist/utils/FormPage/useComponent.d.ts +9 -0
- package/dist/utils/Format/formatData.d.ts +8 -0
- package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
- package/dist/utils/Format/formatDataForForm.d.ts +8 -0
- package/dist/utils/Format/formatDataForPage.d.ts +15 -0
- package/dist/utils/Format/index.d.ts +7 -0
- package/dist/utils/Hub/getFormHub.d.ts +15 -0
- package/dist/utils/Hub/index.d.ts +4 -0
- package/dist/utils/Meta/constants.d.ts +2 -0
- package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
- package/dist/utils/Meta/documents/index.d.ts +6 -0
- package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
- package/dist/utils/Meta/index.d.ts +9 -0
- package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
- package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
- package/dist/utils/Operate/doesContainValue.d.ts +11 -0
- package/dist/utils/Operate/getFirstOf.d.ts +2 -0
- package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
- package/dist/utils/Operate/getLength.d.ts +11 -0
- package/dist/utils/Operate/index.d.ts +4 -0
- package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
- package/dist/utils/Operate/runPageOperations.d.ts +19 -0
- package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
- package/dist/utils/Operate/shouldRun.d.ts +9 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
- package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
- package/dist/utils/Validate/additional/index.d.ts +2 -0
- package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
- package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
- package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
- package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
- package/dist/utils/Validate/additional/utils.d.ts +4 -0
- package/dist/utils/Validate/index.d.ts +42 -0
- package/dist/utils/Validate/validateCollection.d.ts +9 -0
- package/dist/utils/Validate/validateComponent.d.ts +16 -0
- package/dist/utils/Validate/validateContainer.d.ts +12 -0
- package/dist/utils/Validate/validateDate.d.ts +29 -0
- package/dist/utils/Validate/validateEmail.d.ts +13 -0
- package/dist/utils/Validate/validateMultifile.d.ts +3 -0
- package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
- package/dist/utils/Validate/validatePage.d.ts +8 -0
- package/dist/utils/Validate/validateRegex.d.ts +13 -0
- package/dist/utils/Validate/validateRequired.d.ts +9 -0
- package/dist/utils/Validate/validateTextArea.d.ts +13 -0
- package/dist/utils/Validate/validateTime.d.ts +20 -0
- package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
- package/dist/utils/index.d.ts +140 -0
- package/package.json +80 -167
- package/LICENCE.md +0 -21
- package/dist/components/CheckYourAnswers/Answer.js +0 -59
- package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
- package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
- package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
- package/dist/components/CheckYourAnswers/index.js +0 -10
- package/dist/components/CollectionPage/CollectionPage.js +0 -178
- package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
- package/dist/components/CollectionPage/index.js +0 -10
- package/dist/components/CollectionSummary/BannerStrip.js +0 -65
- package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
- package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
- package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
- package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
- package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
- package/dist/components/CollectionSummary/Confirmation.js +0 -65
- package/dist/components/CollectionSummary/Confirmation.scss +0 -26
- package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
- package/dist/components/CollectionSummary/RenderListView.js +0 -162
- package/dist/components/CollectionSummary/RenderListView.scss +0 -295
- package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
- package/dist/components/CollectionSummary/SummaryCard.js +0 -277
- package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
- package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
- package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
- package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
- package/dist/components/CollectionSummary/index.js +0 -10
- package/dist/components/FormComponent/Collection.js +0 -234
- package/dist/components/FormComponent/Collection.scss +0 -24
- package/dist/components/FormComponent/Collection.test.js +0 -934
- package/dist/components/FormComponent/Container.js +0 -130
- package/dist/components/FormComponent/Container.scss +0 -15
- package/dist/components/FormComponent/Container.test.js +0 -456
- package/dist/components/FormComponent/FormComponent.js +0 -238
- package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
- package/dist/components/FormComponent/FormComponent.test.js +0 -436
- package/dist/components/FormComponent/helpers/addLabel.js +0 -25
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
- package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
- package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
- package/dist/components/FormComponent/helpers/index.js +0 -35
- package/dist/components/FormComponent/index.js +0 -10
- package/dist/components/FormPage/FormPage.js +0 -212
- package/dist/components/FormPage/FormPage.scss +0 -7
- package/dist/components/FormPage/FormPage.stories.mdx +0 -157
- package/dist/components/FormPage/FormPage.test.js +0 -454
- package/dist/components/FormPage/index.js +0 -10
- package/dist/components/FormRenderer/FormRenderer.js +0 -426
- package/dist/components/FormRenderer/FormRenderer.scss +0 -5
- package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
- package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
- package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
- package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
- package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
- package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
- package/dist/components/FormRenderer/handlers/index.js +0 -17
- package/dist/components/FormRenderer/handlers/navigate.js +0 -25
- package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
- package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
- package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
- package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
- package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
- package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
- package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
- package/dist/components/FormRenderer/helpers/getPage.js +0 -27
- package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
- package/dist/components/FormRenderer/helpers/index.js +0 -33
- package/dist/components/FormRenderer/index.js +0 -10
- package/dist/components/FormRenderer/onCYAAction.js +0 -150
- package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
- package/dist/components/FormRenderer/onPageAction.js +0 -227
- package/dist/components/FormRenderer/onPageAction.test.js +0 -960
- package/dist/components/FormRenderer/onTaskAction.js +0 -47
- package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
- package/dist/components/PageActions/ActionButton.js +0 -48
- package/dist/components/PageActions/ActionButton.test.js +0 -73
- package/dist/components/PageActions/PageActions.js +0 -37
- package/dist/components/PageActions/PageActions.stories.mdx +0 -74
- package/dist/components/PageActions/PageActions.test.js +0 -106
- package/dist/components/PageActions/index.js +0 -10
- package/dist/components/SummaryList/GroupAction.js +0 -50
- package/dist/components/SummaryList/GroupAction.test.js +0 -86
- package/dist/components/SummaryList/RowAction.js +0 -48
- package/dist/components/SummaryList/RowAction.test.js +0 -86
- package/dist/components/SummaryList/SummaryList.js +0 -128
- package/dist/components/SummaryList/SummaryList.scss +0 -79
- package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
- package/dist/components/SummaryList/SummaryList.test.js +0 -504
- package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
- package/dist/components/SummaryList/SummaryListRow.js +0 -58
- package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/index.js +0 -14
- package/dist/components/SummaryList/index.js +0 -10
- package/dist/components/TaskList/Task.js +0 -62
- package/dist/components/TaskList/Task.test.js +0 -176
- package/dist/components/TaskList/TaskList.js +0 -175
- package/dist/components/TaskList/TaskList.scss +0 -123
- package/dist/components/TaskList/TaskList.stories.mdx +0 -164
- package/dist/components/TaskList/TaskList.test.js +0 -535
- package/dist/components/TaskList/TaskState.js +0 -37
- package/dist/components/TaskList/TaskState.test.js +0 -95
- package/dist/components/TaskList/index.js +0 -10
- package/dist/components/index.js +0 -56
- package/dist/context/HooksContext/HooksContext.js +0 -122
- package/dist/context/HooksContext/HooksContext.test.js +0 -45
- package/dist/context/HooksContext/index.js +0 -16
- package/dist/context/ValidationContext/ValidationContext.js +0 -98
- package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
- package/dist/context/ValidationContext/index.js +0 -16
- package/dist/context/index.js +0 -21
- package/dist/hooks/index.js +0 -55
- package/dist/hooks/useAxios.js +0 -36
- package/dist/hooks/useGetRequest.js +0 -89
- package/dist/hooks/useHooks.js +0 -15
- package/dist/hooks/useRefData.js +0 -62
- package/dist/hooks/useValidation.js +0 -15
- package/dist/json/actions.json +0 -17
- package/dist/json/actionsNoSave.json +0 -17
- package/dist/json/addressDetails.json +0 -149
- package/dist/json/areYouACivilServant.json +0 -7
- package/dist/json/firstForm.json +0 -94
- package/dist/json/grade.json +0 -108
- package/dist/json/group.data.json +0 -21
- package/dist/json/group.json +0 -402
- package/dist/json/groupOfRow.json +0 -137
- package/dist/json/groupOfRowData.json +0 -15
- package/dist/json/port.json +0 -346
- package/dist/json/saveAndContinue.json +0 -98
- package/dist/json/sublocation.json +0 -859
- package/dist/json/taskList.json +0 -265
- package/dist/json/team.json +0 -17351
- package/dist/json/terminal.json +0 -81
- package/dist/json/userProfile.data.json +0 -21
- package/dist/json/userProfile.json +0 -276
- package/dist/models/CollectionLabels.js +0 -15
- package/dist/models/ComponentTypes.js +0 -58
- package/dist/models/EventTypes.js +0 -16
- package/dist/models/FormPages.js +0 -16
- package/dist/models/FormTypes.js +0 -24
- package/dist/models/HubFormats.js +0 -14
- package/dist/models/PageAction.js +0 -65
- package/dist/models/TaskStates.js +0 -46
- package/dist/models/index.js +0 -77
- package/dist/setupTests.js +0 -54
- package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
- package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
- package/dist/utils/CheckYourAnswers/index.js +0 -15
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
- package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
- package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
- package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
- package/dist/utils/CollectionPage/index.js +0 -33
- package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
- package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
- package/dist/utils/Component/addShowWhen.js +0 -43
- package/dist/utils/Component/addShowWhen.test.js +0 -217
- package/dist/utils/Component/applyToComponentTree.js +0 -68
- package/dist/utils/Component/applyToComponentTree.test.js +0 -125
- package/dist/utils/Component/cleanAttributes.js +0 -42
- package/dist/utils/Component/cleanAttributes.test.js +0 -67
- package/dist/utils/Component/elevateNestedComponents.js +0 -58
- package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
- package/dist/utils/Component/getComponent.js +0 -305
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
- package/dist/utils/Component/getDefaultValue.js +0 -22
- package/dist/utils/Component/getDefaultValue.test.js +0 -62
- package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
- package/dist/utils/Component/index.js +0 -29
- package/dist/utils/Component/isEditable.js +0 -13
- package/dist/utils/Component/isEditable.test.js +0 -42
- package/dist/utils/Component/optionIsSelected.js +0 -25
- package/dist/utils/Component/optionIsSelected.test.js +0 -69
- package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
- package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
- package/dist/utils/Component/showComponent.js +0 -25
- package/dist/utils/Component/showComponent.test.js +0 -157
- package/dist/utils/Component/wrapInFormGroup.js +0 -26
- package/dist/utils/Condition/index.js +0 -17
- package/dist/utils/Condition/meetsAllConditions.js +0 -44
- package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
- package/dist/utils/Condition/meetsCondition.js +0 -165
- package/dist/utils/Condition/meetsCondition.test.js +0 -899
- package/dist/utils/Condition/meetsOneCondition.js +0 -32
- package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
- package/dist/utils/Condition/setupConditions.js +0 -36
- package/dist/utils/Condition/setupConditions.test.js +0 -34
- package/dist/utils/Container/getEditableComponents.js +0 -29
- package/dist/utils/Container/getEditableComponents.test.js +0 -134
- package/dist/utils/Container/index.js +0 -17
- package/dist/utils/Container/setupNesting.js +0 -53
- package/dist/utils/Container/setupNesting.test.js +0 -143
- package/dist/utils/Container/showContainer.js +0 -52
- package/dist/utils/Container/showContainer.test.js +0 -179
- package/dist/utils/Data/applyFormula.js +0 -90
- package/dist/utils/Data/applyFormula.test.js +0 -264
- package/dist/utils/Data/deleteValues.js +0 -19
- package/dist/utils/Data/deleteValues.test.js +0 -58
- package/dist/utils/Data/getAutocompleteSource.js +0 -87
- package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
- package/dist/utils/Data/getDataPath.js +0 -66
- package/dist/utils/Data/getDataPath.test.js +0 -49
- package/dist/utils/Data/getOptions.js +0 -86
- package/dist/utils/Data/getOptions.test.js +0 -279
- package/dist/utils/Data/getSourceData.js +0 -44
- package/dist/utils/Data/getSourceData.test.js +0 -158
- package/dist/utils/Data/index.js +0 -35
- package/dist/utils/Data/nestInRefdataOptions.js +0 -47
- package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
- package/dist/utils/Data/refDataToOptions.js +0 -44
- package/dist/utils/Data/refDataToOptions.test.js +0 -197
- package/dist/utils/Data/setDataItem.js +0 -26
- package/dist/utils/Data/setDataItem.test.js +0 -136
- package/dist/utils/Data/setupFormData.js +0 -49
- package/dist/utils/Data/setupFormData.test.js +0 -215
- package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
- package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
- package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
- package/dist/utils/FormPage/getConditionalText.js +0 -55
- package/dist/utils/FormPage/getConditionalText.test.js +0 -163
- package/dist/utils/FormPage/getFormPage.js +0 -54
- package/dist/utils/FormPage/getFormPage.test.js +0 -206
- package/dist/utils/FormPage/getFormPages.js +0 -30
- package/dist/utils/FormPage/getFormPages.test.js +0 -97
- package/dist/utils/FormPage/getPageActions.js +0 -58
- package/dist/utils/FormPage/getPageActions.test.js +0 -115
- package/dist/utils/FormPage/getParagraphFromText.js +0 -21
- package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
- package/dist/utils/FormPage/index.js +0 -24
- package/dist/utils/FormPage/showFormPage.js +0 -52
- package/dist/utils/FormPage/showFormPage.test.js +0 -181
- package/dist/utils/FormPage/showFormPageCYA.js +0 -23
- package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
- package/dist/utils/FormPage/useComponent.js +0 -83
- package/dist/utils/FormPage/useComponent.test.js +0 -216
- package/dist/utils/Format/formatData.js +0 -27
- package/dist/utils/Format/formatData.test.js +0 -46
- package/dist/utils/Format/formatDataForComponent.js +0 -35
- package/dist/utils/Format/formatDataForComponent.test.js +0 -114
- package/dist/utils/Format/formatDataForForm.js +0 -27
- package/dist/utils/Format/formatDataForForm.test.js +0 -79
- package/dist/utils/Format/formatDataForPage.js +0 -31
- package/dist/utils/Format/formatDataForPage.test.js +0 -94
- package/dist/utils/Format/index.js +0 -21
- package/dist/utils/Hub/getFormHub.js +0 -40
- package/dist/utils/Hub/getFormHub.test.js +0 -105
- package/dist/utils/Hub/index.js +0 -15
- package/dist/utils/Meta/constants.js +0 -9
- package/dist/utils/Meta/documents/getDocuments.js +0 -15
- package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
- package/dist/utils/Meta/documents/index.js +0 -19
- package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
- package/dist/utils/Meta/index.js +0 -17
- package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
- package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
- package/dist/utils/Operate/deleteValueInFormData.js +0 -27
- package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
- package/dist/utils/Operate/doesContainValue.js +0 -35
- package/dist/utils/Operate/doesContainValue.test.js +0 -76
- package/dist/utils/Operate/getFirstOf.js +0 -31
- package/dist/utils/Operate/getFirstOf.test.js +0 -87
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
- package/dist/utils/Operate/getLength.js +0 -51
- package/dist/utils/Operate/getLength.test.js +0 -90
- package/dist/utils/Operate/index.js +0 -13
- package/dist/utils/Operate/persistValueInFormData.js +0 -40
- package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
- package/dist/utils/Operate/runPageOperations.js +0 -75
- package/dist/utils/Operate/runPageOperations.test.js +0 -105
- package/dist/utils/Operate/setValueInFormData.js +0 -22
- package/dist/utils/Operate/setValueInFormData.test.js +0 -45
- package/dist/utils/Operate/shouldRun.js +0 -57
- package/dist/utils/Operate/shouldRun.test.js +0 -65
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
- package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
- package/dist/utils/Validate/additional/index.js +0 -74
- package/dist/utils/Validate/additional/index.test.js +0 -130
- package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
- package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
- package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
- package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
- package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
- package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
- package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
- package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
- package/dist/utils/Validate/additional/utils.js +0 -35
- package/dist/utils/Validate/index.js +0 -33
- package/dist/utils/Validate/validateCollection.js +0 -50
- package/dist/utils/Validate/validateCollection.test.js +0 -134
- package/dist/utils/Validate/validateComponent.js +0 -126
- package/dist/utils/Validate/validateComponent.test.js +0 -435
- package/dist/utils/Validate/validateContainer.js +0 -52
- package/dist/utils/Validate/validateContainer.test.js +0 -115
- package/dist/utils/Validate/validateDate.js +0 -112
- package/dist/utils/Validate/validateDate.test.js +0 -133
- package/dist/utils/Validate/validateEmail.js +0 -45
- package/dist/utils/Validate/validateEmail.test.js +0 -78
- package/dist/utils/Validate/validateMultifile.js +0 -29
- package/dist/utils/Validate/validateMultifile.test.js +0 -46
- package/dist/utils/Validate/validateOnPageLoad.js +0 -24
- package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
- package/dist/utils/Validate/validatePage.js +0 -56
- package/dist/utils/Validate/validatePage.test.js +0 -795
- package/dist/utils/Validate/validateRegex.js +0 -41
- package/dist/utils/Validate/validateRegex.test.js +0 -43
- package/dist/utils/Validate/validateRequired.js +0 -37
- package/dist/utils/Validate/validateRequired.test.js +0 -64
- package/dist/utils/Validate/validateTextArea.js +0 -36
- package/dist/utils/Validate/validateTextArea.test.js +0 -71
- package/dist/utils/Validate/validateTime.js +0 -76
- package/dist/utils/Validate/validateTime.test.js +0 -116
- package/dist/utils/canOverrideFieldRequired.js +0 -23
- 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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
|