@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +16 -25
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +21 -27
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "deb97e25-c4e4-11ee-8f7e-2e10af5884e4",
|
|
3
|
-
"businessKey": "DEV-20240206-415",
|
|
4
|
-
"modeOfTransport": {
|
|
5
|
-
"id": 2,
|
|
6
|
-
"mode": "Scheduled Air Passenger",
|
|
7
|
-
"modecode": "airpass",
|
|
8
|
-
"crossingtype": [
|
|
9
|
-
"air"
|
|
10
|
-
],
|
|
11
|
-
"value": "Scheduled Air Passenger",
|
|
12
|
-
"label": "Scheduled Air Passenger"
|
|
13
|
-
},
|
|
14
|
-
"port": {
|
|
15
|
-
"id": 3415,
|
|
16
|
-
"name": "Luton",
|
|
17
|
-
"sea": false,
|
|
18
|
-
"air": true,
|
|
19
|
-
"land": false,
|
|
20
|
-
"rail": false,
|
|
21
|
-
"countryid": 234,
|
|
22
|
-
"iata": "LTN",
|
|
23
|
-
"value": "3415",
|
|
24
|
-
"label": "Luton"
|
|
25
|
-
},
|
|
26
|
-
"formStatus": {
|
|
27
|
-
"tasks": {
|
|
28
|
-
"undefined": {},
|
|
29
|
-
"Enter event details": {
|
|
30
|
-
"complete": true,
|
|
31
|
-
"currentPage": "eventDetailsCya"
|
|
32
|
-
},
|
|
33
|
-
"Enter item and storage details": {
|
|
34
|
-
"complete": true,
|
|
35
|
-
"currentPage": "whatHappensNext"
|
|
36
|
-
},
|
|
37
|
-
"Journey-details-item-abandoned": {
|
|
38
|
-
"complete": true,
|
|
39
|
-
"currentPage": "journeyCya"
|
|
40
|
-
},
|
|
41
|
-
"Accept and submit": {
|
|
42
|
-
"complete": false,
|
|
43
|
-
"currentPage": "submitForm"
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"taskPage": "submitForm"
|
|
47
|
-
},
|
|
48
|
-
"formInstanceId": "bc81a157-cbd9-4c14-87fb-3b52d02bf71d",
|
|
49
|
-
"links": [
|
|
50
|
-
{
|
|
51
|
-
"method": "GET",
|
|
52
|
-
"href": "https://blue.dev.cop.homeoffice.gov.uk/camunda/engine-rest/process-instance/deb97e25-c4e4-11ee-8f7e-2e10af5884e4",
|
|
53
|
-
"rel": "self"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"definitionId": "cop-addABorderEvent:9:113b6e67-b48d-11ee-8088-52b814b55f74",
|
|
57
|
-
"caseInstanceId": null,
|
|
58
|
-
"ended": false,
|
|
59
|
-
"suspended": false,
|
|
60
|
-
"tenantId": null,
|
|
61
|
-
"whatHappened": "items",
|
|
62
|
-
"eventDateTime": {
|
|
63
|
-
"eventDate": "06-02-2024",
|
|
64
|
-
"eventTime": "01:01"
|
|
65
|
-
},
|
|
66
|
-
"terminal": {
|
|
67
|
-
"id": 9,
|
|
68
|
-
"name": "Western Docks",
|
|
69
|
-
"validfrom": "2019-01-01T00:01:00.000Z",
|
|
70
|
-
"validto": null,
|
|
71
|
-
"updatedby": null,
|
|
72
|
-
"value": "9",
|
|
73
|
-
"label": "Western Docks"
|
|
74
|
-
},
|
|
75
|
-
"subLocation": {
|
|
76
|
-
"id": 10,
|
|
77
|
-
"sublocation": "Warehouse",
|
|
78
|
-
"description": null,
|
|
79
|
-
"validfrom": "2021-05-07T00:00:03.000Z",
|
|
80
|
-
"validto": null,
|
|
81
|
-
"updatedby": "BethStephenson",
|
|
82
|
-
"uoflocation": false,
|
|
83
|
-
"value": "10",
|
|
84
|
-
"label": "Warehouse"
|
|
85
|
-
},
|
|
86
|
-
"centaurReference": "E1234567",
|
|
87
|
-
"leadOfficerEmail": {
|
|
88
|
-
"email": "jyoti.shetty@digital.homeoffice.gov.uk",
|
|
89
|
-
"label": "jyoti.shetty@digital.homeoffice.gov.uk",
|
|
90
|
-
"value": "jyoti.shetty@digital.homeoffice.gov.uk",
|
|
91
|
-
"defaultteamid": "de8053bf-8ce6-4e60-a4a1-de6862fe158f"
|
|
92
|
-
},
|
|
93
|
-
"officerEmails": [],
|
|
94
|
-
"operationOrExercise": "no",
|
|
95
|
-
"itemsActiveId": "1707219813475",
|
|
96
|
-
"itemsNumberedIndex": 1,
|
|
97
|
-
"items": [
|
|
98
|
-
{
|
|
99
|
-
"id": "1707219813475",
|
|
100
|
-
"sealNumber": "876dsadadad",
|
|
101
|
-
"exhibitReference": "Exh123",
|
|
102
|
-
"itemCategory": {
|
|
103
|
-
"id": 8,
|
|
104
|
-
"category": "Firearms",
|
|
105
|
-
"description": "Both lethal and non-lethal firearms.",
|
|
106
|
-
"validfrom": "2023-01-10T00:00:01.000Z",
|
|
107
|
-
"validto": null,
|
|
108
|
-
"updatedby": "Mohammed Abdul Odud",
|
|
109
|
-
"synonyms": [
|
|
110
|
-
"'Guns'"
|
|
111
|
-
],
|
|
112
|
-
"value": "8",
|
|
113
|
-
"label": "Firearms"
|
|
114
|
-
},
|
|
115
|
-
"itemSubCategory": {
|
|
116
|
-
"id": 1426,
|
|
117
|
-
"name": "Military weapons component",
|
|
118
|
-
"description": null,
|
|
119
|
-
"itemcategoriesid": 8,
|
|
120
|
-
"cites": false,
|
|
121
|
-
"poao": false,
|
|
122
|
-
"cbrn": false,
|
|
123
|
-
"document": false,
|
|
124
|
-
"tobacco": false,
|
|
125
|
-
"alcohol": false,
|
|
126
|
-
"weapons": false,
|
|
127
|
-
"firearms": true,
|
|
128
|
-
"ipr": true,
|
|
129
|
-
"strategic": false,
|
|
130
|
-
"avtc": false,
|
|
131
|
-
"oils": false,
|
|
132
|
-
"commodity": false,
|
|
133
|
-
"good": false,
|
|
134
|
-
"plant": false,
|
|
135
|
-
"animal": false,
|
|
136
|
-
"drugs": false,
|
|
137
|
-
"financial": false,
|
|
138
|
-
"indecent": false,
|
|
139
|
-
"vehicle": false,
|
|
140
|
-
"medical": false,
|
|
141
|
-
"unitid": 5,
|
|
142
|
-
"seizureqty": null,
|
|
143
|
-
"ienqty": null,
|
|
144
|
-
"validfrom": "2023-01-10T00:00:01.000Z",
|
|
145
|
-
"validto": null,
|
|
146
|
-
"updatedby": "Mohammed Abdul Odud",
|
|
147
|
-
"uof": false,
|
|
148
|
-
"epmscode": 1024,
|
|
149
|
-
"epmscategory": "ARP",
|
|
150
|
-
"unitarray": [
|
|
151
|
-
5
|
|
152
|
-
],
|
|
153
|
-
"categoryarray": [
|
|
154
|
-
8,
|
|
155
|
-
9
|
|
156
|
-
],
|
|
157
|
-
"lethalfirearm": null,
|
|
158
|
-
"nonlethalfirearm": null,
|
|
159
|
-
"value": "1426",
|
|
160
|
-
"label": "Military weapons component"
|
|
161
|
-
},
|
|
162
|
-
"seizedOrDetained": "detained",
|
|
163
|
-
"legalReasonForDetaining": {
|
|
164
|
-
"id": 3,
|
|
165
|
-
"epmsvalue": 18,
|
|
166
|
-
"reason": "Immigration Act",
|
|
167
|
-
"description": "Immigration Act",
|
|
168
|
-
"validfrom": "2022-09-21T00:00:01.000Z",
|
|
169
|
-
"validto": null,
|
|
170
|
-
"updatedby": "Mohammed Abdul Odud",
|
|
171
|
-
"value": "3",
|
|
172
|
-
"label": "Immigration Act"
|
|
173
|
-
},
|
|
174
|
-
"whatIsTheInitialMovement?": {
|
|
175
|
-
"id": 3,
|
|
176
|
-
"epmscode": 5,
|
|
177
|
-
"description": "Sent For Forensic Examination",
|
|
178
|
-
"inuse": true,
|
|
179
|
-
"validfrom": "2022-08-18T00:00:01.000Z",
|
|
180
|
-
"validto": null,
|
|
181
|
-
"updatedby": "Mohammed Abdul Odud",
|
|
182
|
-
"value": "3",
|
|
183
|
-
"label": "Sent For Forensic Examination"
|
|
184
|
-
},
|
|
185
|
-
"giveAReason": "sadad"
|
|
186
|
-
}
|
|
187
|
-
],
|
|
188
|
-
"lockup": {
|
|
189
|
-
"value": "LTN",
|
|
190
|
-
"label": "Luton Airport Lockup",
|
|
191
|
-
"hidden": true
|
|
192
|
-
},
|
|
193
|
-
"epmsSubmitted": true,
|
|
194
|
-
"doYouHaveTheirFlightNumber": "no",
|
|
195
|
-
"form": {
|
|
196
|
-
"formVersionId": "ed41c96b78388228eb887927e45dc8a150a8b333",
|
|
197
|
-
"title": "Add a border event",
|
|
198
|
-
"name": "cop-addABorderEvent",
|
|
199
|
-
"submissionDate": "2024-02-06T11:53:56.499Z",
|
|
200
|
-
"submittedBy": "jyoti.shetty@digital.homeoffice.gov.uk",
|
|
201
|
-
"submittingUsersName": "Jyoti",
|
|
202
|
-
"submissionTeam": "de8053bf-8ce6-4e60-a4a1-de6862fe158f",
|
|
203
|
-
"formInstanceId": "bc81a157-cbd9-4c14-87fb-3b52d02bf71d"
|
|
204
|
-
}
|
|
205
|
-
}
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _mergeCollectionPages = _interopRequireDefault(require("../../../utils/CollectionPage/mergeCollectionPages"));
|
|
8
|
-
var _deleteNodeByPath = _interopRequireDefault(require("./deleteNodeByPath"));
|
|
9
|
-
var _optionIsSelected = _interopRequireDefault(require("../../../utils/Component/optionIsSelected"));
|
|
10
|
-
var _Condition = _interopRequireDefault(require("../../../utils/Condition"));
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
/* eslint-disable no-param-reassign */
|
|
13
|
-
|
|
14
|
-
var showComponentIncludeHiddenAndDisabled = function showComponentIncludeHiddenAndDisabled(component, data) {
|
|
15
|
-
var _component$show_when;
|
|
16
|
-
if (!component) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
if (((_component$show_when = component.show_when) === null || _component$show_when === void 0 ? void 0 : _component$show_when.type) === "or") {
|
|
20
|
-
return _Condition.default.meetsOne(component, data);
|
|
21
|
-
}
|
|
22
|
-
return _Condition.default.meetsAll(component, data);
|
|
23
|
-
};
|
|
24
|
-
var recurseCheckForHiddenComponents = function recurseCheckForHiddenComponents(component, formData, path, candidateComponentForDeletion) {
|
|
25
|
-
path = path ? "".concat(path, ".").concat(component.fieldId) : component.fieldId;
|
|
26
|
-
if (component) {
|
|
27
|
-
if (component.components) {
|
|
28
|
-
var _component$components;
|
|
29
|
-
(_component$components = component.components) === null || _component$components === void 0 || _component$components.forEach(function (c) {
|
|
30
|
-
recurseCheckForHiddenComponents(c, formData, path, candidateComponentForDeletion);
|
|
31
|
-
});
|
|
32
|
-
} else if (showComponentIncludeHiddenAndDisabled(component, formData)) {
|
|
33
|
-
var _component$data;
|
|
34
|
-
if (component !== null && component !== void 0 && (_component$data = component.data) !== null && _component$data !== void 0 && _component$data.options) {
|
|
35
|
-
var _component$data2;
|
|
36
|
-
component === null || component === void 0 || (_component$data2 = component.data) === null || _component$data2 === void 0 || (_component$data2 = _component$data2.options) === null || _component$data2 === void 0 || _component$data2.forEach(function (option) {
|
|
37
|
-
if (!(0, _optionIsSelected.default)(formData[component.id], option) && option.nested) {
|
|
38
|
-
option.nested.forEach(function (nested) {
|
|
39
|
-
path = nested.fieldId;
|
|
40
|
-
if (path) {
|
|
41
|
-
candidateComponentForDeletion.set(path, component);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
} else if (!showComponentIncludeHiddenAndDisabled(component, formData)) {
|
|
48
|
-
if (path) {
|
|
49
|
-
candidateComponentForDeletion.set(path, component);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
var buildListOfComponentsUsedInVisiblePages = function buildListOfComponentsUsedInVisiblePages(page, form, formData, componentsUsedInVisiblePagesIds) {
|
|
55
|
-
var _page$components;
|
|
56
|
-
(_page$components = page.components) === null || _page$components === void 0 || _page$components.forEach(function (component) {
|
|
57
|
-
var _ref, _form$components$find;
|
|
58
|
-
var componentObj = (_ref = (_form$components$find = form.components.find(function (c) {
|
|
59
|
-
return c.fieldId === component.use;
|
|
60
|
-
})) !== null && _form$components$find !== void 0 ? _form$components$find : form.components.find(function (c) {
|
|
61
|
-
return c.id === component.use;
|
|
62
|
-
})) !== null && _ref !== void 0 ? _ref : component;
|
|
63
|
-
if (page && showComponentIncludeHiddenAndDisabled(page, formData)) {
|
|
64
|
-
if (componentObj && showComponentIncludeHiddenAndDisabled(componentObj, formData)) {
|
|
65
|
-
if (componentObj.fieldId) {
|
|
66
|
-
componentsUsedInVisiblePagesIds.push(componentObj.fieldId);
|
|
67
|
-
} else if (componentObj.id) {
|
|
68
|
-
componentsUsedInVisiblePagesIds.push(componentObj.id);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
var recursePopulateComponentPaths = function recursePopulateComponentPaths(component, formData, path, componentPaths, checkIfHidden) {
|
|
75
|
-
path = path ? "".concat(path, ".").concat(component.fieldId) : component.fieldId;
|
|
76
|
-
if (component) {
|
|
77
|
-
if (component.components) {
|
|
78
|
-
var _component$components2;
|
|
79
|
-
(_component$components2 = component.components) === null || _component$components2 === void 0 || _component$components2.forEach(function (c) {
|
|
80
|
-
recursePopulateComponentPaths(c, formData, path, componentPaths);
|
|
81
|
-
});
|
|
82
|
-
} else if (path) {
|
|
83
|
-
if (checkIfHidden) {
|
|
84
|
-
if (showComponentIncludeHiddenAndDisabled(component, formData)) {
|
|
85
|
-
componentPaths.push(path);
|
|
86
|
-
}
|
|
87
|
-
} else {
|
|
88
|
-
componentPaths.push(path);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
var markComponentsForDeletion = function markComponentsForDeletion(page, form, formData, candidateComponentForDeletion, componentsUsedInVisiblePages) {
|
|
94
|
-
var _page$components2;
|
|
95
|
-
if (page.disableClearWhenHidden) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
(_page$components2 = page.components) === null || _page$components2 === void 0 || _page$components2.forEach(function (component) {
|
|
99
|
-
var _ref2, _form$components$find2;
|
|
100
|
-
var componentObj = (_ref2 = (_form$components$find2 = form.components.find(function (c) {
|
|
101
|
-
return c.fieldId === component.use;
|
|
102
|
-
})) !== null && _form$components$find2 !== void 0 ? _form$components$find2 : form.components.find(function (c) {
|
|
103
|
-
return c.id === component.use;
|
|
104
|
-
})) !== null && _ref2 !== void 0 ? _ref2 : component;
|
|
105
|
-
if (page && showComponentIncludeHiddenAndDisabled(page, formData)) {
|
|
106
|
-
buildListOfComponentsUsedInVisiblePages(page, form, formData, componentsUsedInVisiblePages);
|
|
107
|
-
recurseCheckForHiddenComponents(componentObj, formData, null, candidateComponentForDeletion);
|
|
108
|
-
} else {
|
|
109
|
-
if (componentObj.fieldId) {
|
|
110
|
-
candidateComponentForDeletion.set(componentObj.fieldId, componentObj);
|
|
111
|
-
}
|
|
112
|
-
if (componentObj.id) {
|
|
113
|
-
candidateComponentForDeletion.set(componentObj.id, componentObj);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
var populateComponentPaths = function populateComponentPaths(page, form, collectionData, formData, nonDeleteComponentPaths, allComponentPaths) {
|
|
119
|
-
if (page) {
|
|
120
|
-
var _page$components4;
|
|
121
|
-
if (showComponentIncludeHiddenAndDisabled(page, formData) || showComponentIncludeHiddenAndDisabled(page, collectionData)) {
|
|
122
|
-
var _page$components3;
|
|
123
|
-
(_page$components3 = page.components) === null || _page$components3 === void 0 || _page$components3.forEach(function (component) {
|
|
124
|
-
var _ref3, _form$components$find3;
|
|
125
|
-
var componentObj = (_ref3 = (_form$components$find3 = form.components.find(function (c) {
|
|
126
|
-
return c.fieldId === component.use;
|
|
127
|
-
})) !== null && _form$components$find3 !== void 0 ? _form$components$find3 : form.components.find(function (c) {
|
|
128
|
-
return c.id === component.use;
|
|
129
|
-
})) !== null && _ref3 !== void 0 ? _ref3 : component;
|
|
130
|
-
recursePopulateComponentPaths(componentObj, collectionData, null, nonDeleteComponentPaths, true);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
(_page$components4 = page.components) === null || _page$components4 === void 0 || _page$components4.forEach(function (component) {
|
|
134
|
-
var _ref4, _form$components$find4;
|
|
135
|
-
var componentObj = (_ref4 = (_form$components$find4 = form.components.find(function (c) {
|
|
136
|
-
return c.fieldId === component.use;
|
|
137
|
-
})) !== null && _form$components$find4 !== void 0 ? _form$components$find4 : form.components.find(function (c) {
|
|
138
|
-
return c.id === component.use;
|
|
139
|
-
})) !== null && _ref4 !== void 0 ? _ref4 : component;
|
|
140
|
-
recursePopulateComponentPaths(componentObj, collectionData, null, allComponentPaths, false);
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
function clearUncompletedRoutesForCollections(formData, page, form) {
|
|
145
|
-
var _page$collection;
|
|
146
|
-
var nonDeleteComponentPaths = [];
|
|
147
|
-
var allComponentPaths = [];
|
|
148
|
-
var collectionDatas = formData[page === null || page === void 0 || (_page$collection = page.collection) === null || _page$collection === void 0 ? void 0 : _page$collection.name];
|
|
149
|
-
if (collectionDatas) {
|
|
150
|
-
collectionDatas.forEach(function (collectionData) {
|
|
151
|
-
var _page$childPages;
|
|
152
|
-
/* eslint-disable consistent-return */
|
|
153
|
-
(_page$childPages = page.childPages) === null || _page$childPages === void 0 || _page$childPages.forEach(function (childPage) {
|
|
154
|
-
if (childPage.disableClearWhenHidden) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
if (childPage.deleteCollectionWhenHidden) {
|
|
158
|
-
if (!showComponentIncludeHiddenAndDisabled(childPage, formData)) {
|
|
159
|
-
delete formData[childPage.collection.name];
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
populateComponentPaths(childPage, form, collectionData, formData, nonDeleteComponentPaths, allComponentPaths);
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
nonDeleteComponentPaths = nonDeleteComponentPaths.filter(function (value, index, self) {
|
|
167
|
-
return self.indexOf(value) === index;
|
|
168
|
-
});
|
|
169
|
-
allComponentPaths = allComponentPaths.filter(function (value, index, self) {
|
|
170
|
-
return self.indexOf(value) === index;
|
|
171
|
-
});
|
|
172
|
-
// delete fields not visible
|
|
173
|
-
allComponentPaths.forEach(function (key) {
|
|
174
|
-
if (!nonDeleteComponentPaths.includes(key)) {
|
|
175
|
-
(0, _deleteNodeByPath.default)(collectionDatas, key);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
var clearOutUncompletedRoutes = function clearOutUncompletedRoutes(form, formData) {
|
|
181
|
-
if (form.disableClearWhenHidden) {
|
|
182
|
-
return formData;
|
|
183
|
-
}
|
|
184
|
-
var condensedPages = (0, _mergeCollectionPages.default)(form.pages);
|
|
185
|
-
var candidateComponentForDeletion = new Map();
|
|
186
|
-
var componentsUsedInVisiblePagesIds = [];
|
|
187
|
-
condensedPages === null || condensedPages === void 0 || condensedPages.forEach(function (page) {
|
|
188
|
-
var _page$collection2;
|
|
189
|
-
if (page !== null && page !== void 0 && (_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.name) {
|
|
190
|
-
clearUncompletedRoutesForCollections(formData, page, form);
|
|
191
|
-
} else {
|
|
192
|
-
markComponentsForDeletion(page, form, formData, candidateComponentForDeletion, componentsUsedInVisiblePagesIds);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
componentsUsedInVisiblePagesIds = componentsUsedInVisiblePagesIds.filter(function (value, index, self) {
|
|
196
|
-
return self.indexOf(value) === index;
|
|
197
|
-
});
|
|
198
|
-
componentsUsedInVisiblePagesIds.forEach(function (componentId) {
|
|
199
|
-
return candidateComponentForDeletion.delete(componentId);
|
|
200
|
-
});
|
|
201
|
-
candidateComponentForDeletion.forEach(function (val, key) {
|
|
202
|
-
(0, _deleteNodeByPath.default)(formData, key);
|
|
203
|
-
});
|
|
204
|
-
return formData;
|
|
205
|
-
};
|
|
206
|
-
var _default = exports.default = clearOutUncompletedRoutes;
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _index = _interopRequireDefault(require("./index"));
|
|
4
|
-
var _componentUsedInMultiplePagesForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json"));
|
|
5
|
-
var _componentUsedInMultiplePagesData = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json"));
|
|
6
|
-
var _formWithCollections = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-collections.json"));
|
|
7
|
-
var _formWithCollectionsDeleteEntire = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json"));
|
|
8
|
-
var _dataWithCollections = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-collections.json"));
|
|
9
|
-
var _dataWithEntireCollectionRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json"));
|
|
10
|
-
var _dataWithCollectionDataRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-collection-data-removed.json"));
|
|
11
|
-
var _formWithComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-with-components.json"));
|
|
12
|
-
var _dataWithComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-components.json"));
|
|
13
|
-
var _dataWithComponentsRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-components-removed.json"));
|
|
14
|
-
var _formForNestedComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/form-for-nested-components.json"));
|
|
15
|
-
var _dataWithNestedComponents = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-nested-components.json"));
|
|
16
|
-
var _dataWithNestedComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/data-with-nested-component-removed.json"));
|
|
17
|
-
var _copEab2Form = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-eab2-form.json"));
|
|
18
|
-
var _copEab2DataBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-eab-2-data-before.json"));
|
|
19
|
-
var _copEab2DataAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-eab-2-data-after.json"));
|
|
20
|
-
var _copMandecForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-mandec-form.json"));
|
|
21
|
-
var _copMandecDataBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-mandec-data-before.json"));
|
|
22
|
-
var _copMandecDataAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-mandec-data-after.json"));
|
|
23
|
-
var _copAirpaxBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-airpax-before.json"));
|
|
24
|
-
var _copAirpaxAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-airpax-after.json"));
|
|
25
|
-
var _copAirpaxForm = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/cop-airpax-form.json"));
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
describe('FormRenderer', function () {
|
|
28
|
-
describe('helpers', function () {
|
|
29
|
-
describe('clearOutUncompletedRoutes', function () {
|
|
30
|
-
it('should clear out for cop-eab 2 civil penalty', function () {
|
|
31
|
-
var form = JSON.parse(JSON.stringify(_copEab2Form.default));
|
|
32
|
-
var formData = JSON.parse(JSON.stringify(_copEab2DataBefore.default));
|
|
33
|
-
var clearedFormData = JSON.parse(JSON.stringify(_copEab2DataAfter.default));
|
|
34
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
35
|
-
expect(result).toEqual(clearedFormData);
|
|
36
|
-
});
|
|
37
|
-
it('should clear out for cop-eab 2 airpax', function () {
|
|
38
|
-
var form = JSON.parse(JSON.stringify(_copAirpaxForm.default));
|
|
39
|
-
var formData = JSON.parse(JSON.stringify(_copAirpaxBefore.default));
|
|
40
|
-
var clearedFormData = JSON.parse(JSON.stringify(_copAirpaxAfter.default));
|
|
41
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
42
|
-
expect(result).toEqual(clearedFormData);
|
|
43
|
-
});
|
|
44
|
-
it('should clear out for cop-mandec', function () {
|
|
45
|
-
var form = JSON.parse(JSON.stringify(_copMandecForm.default));
|
|
46
|
-
var formData = JSON.parse(JSON.stringify(_copMandecDataBefore.default));
|
|
47
|
-
var clearedFormData = JSON.parse(JSON.stringify(_copMandecDataAfter.default));
|
|
48
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
49
|
-
expect(result).toEqual(clearedFormData);
|
|
50
|
-
});
|
|
51
|
-
it('should not remove hidden component where it is visible in another page', function () {
|
|
52
|
-
var form = JSON.parse(JSON.stringify(_componentUsedInMultiplePagesForm.default));
|
|
53
|
-
var formData = JSON.parse(JSON.stringify(_componentUsedInMultiplePagesData.default));
|
|
54
|
-
expect(_index.default.clearOutUncompletedRoutes(form, formData)).toEqual(_componentUsedInMultiplePagesData.default);
|
|
55
|
-
});
|
|
56
|
-
it('should remove collection data when page hidden', function () {
|
|
57
|
-
var form = JSON.parse(JSON.stringify(_formWithCollections.default));
|
|
58
|
-
var formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
59
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
60
|
-
expect(result).toEqual(_dataWithCollectionDataRemoved.default);
|
|
61
|
-
formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
62
|
-
formData.componentA = true;
|
|
63
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
64
|
-
var expected = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
65
|
-
expected.componentA = true;
|
|
66
|
-
expect(result).toEqual(expected);
|
|
67
|
-
});
|
|
68
|
-
it('should remove entire collection data when page hidden', function () {
|
|
69
|
-
var form = JSON.parse(JSON.stringify(_formWithCollectionsDeleteEntire.default));
|
|
70
|
-
var formData = JSON.parse(JSON.stringify(_dataWithCollections.default));
|
|
71
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
72
|
-
expect(result).toEqual(_dataWithEntireCollectionRemoved.default);
|
|
73
|
-
});
|
|
74
|
-
it('should remove hidden component', function () {
|
|
75
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
76
|
-
var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
77
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
78
|
-
expect(result).toEqual(_dataWithComponents.default);
|
|
79
|
-
formData.componentA = "hide";
|
|
80
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
81
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
82
|
-
});
|
|
83
|
-
it('should not remove hidden component when disableClearWhenHidden attribute is true on component', function () {
|
|
84
|
-
var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
85
|
-
formData.componentA = "hide";
|
|
86
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
87
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
88
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
89
|
-
form.components[1].disableClearWhenHidden = true;
|
|
90
|
-
form.components[2].disableClearWhenHidden = true;
|
|
91
|
-
formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
92
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
93
|
-
expect(result).toEqual(_dataWithComponents.default);
|
|
94
|
-
});
|
|
95
|
-
it('should not remove hidden component when disableClearWhenHidden attribute is true on page', function () {
|
|
96
|
-
var formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
97
|
-
formData.componentA = "hide";
|
|
98
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
99
|
-
var result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
100
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
101
|
-
form.pages[0].disableClearWhenHidden = true;
|
|
102
|
-
formData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
103
|
-
result = _index.default.clearOutUncompletedRoutes(form, formData);
|
|
104
|
-
expect(result).toEqual(_dataWithComponents.default);
|
|
105
|
-
});
|
|
106
|
-
it('should not remove hidden component when disableClearWhenHidden attribute is true on form', function () {
|
|
107
|
-
var submissionData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
108
|
-
var form = JSON.parse(JSON.stringify(_formWithComponents.default));
|
|
109
|
-
submissionData.componentA = "hide";
|
|
110
|
-
var result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
111
|
-
expect(result).toEqual(_dataWithComponentsRemoved.default);
|
|
112
|
-
form.disableClearWhenHidden = true;
|
|
113
|
-
submissionData = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
114
|
-
submissionData.componentA = "hide";
|
|
115
|
-
result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
116
|
-
var expected = JSON.parse(JSON.stringify(_dataWithComponents.default));
|
|
117
|
-
expected.componentA = "hide";
|
|
118
|
-
expect(result).toEqual(expected);
|
|
119
|
-
});
|
|
120
|
-
it('should remove nested hidden component', function () {
|
|
121
|
-
var submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
122
|
-
var form = JSON.parse(JSON.stringify(_formForNestedComponents.default));
|
|
123
|
-
var result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
124
|
-
expect(result).toEqual(_dataWithNestedComponentRemoved.default);
|
|
125
|
-
submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
126
|
-
submissionData.bravo = "another";
|
|
127
|
-
result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
128
|
-
var expected = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
129
|
-
delete expected.person.charlie;
|
|
130
|
-
expected.bravo = "another";
|
|
131
|
-
expect(result).toEqual(expected);
|
|
132
|
-
submissionData = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
133
|
-
submissionData.bravo = "notMatchAnything";
|
|
134
|
-
result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
135
|
-
expected = JSON.parse(JSON.stringify(_dataWithNestedComponents.default));
|
|
136
|
-
delete expected.person.charlie;
|
|
137
|
-
delete expected.person.delta;
|
|
138
|
-
expected.bravo = "notMatchAnything";
|
|
139
|
-
expect(result).toEqual(expected);
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
/* eslint-disable consistent-return */
|
|
8
|
-
var deleteNodeByPath = function deleteNodeByPath(obj, path) {
|
|
9
|
-
if (Array.isArray(obj)) {
|
|
10
|
-
// If obj is an array, recursively call deleteNodeByPath on each element
|
|
11
|
-
for (var i = 0; i < obj.length; i += 1) {
|
|
12
|
-
deleteNodeByPath(obj[i], path);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
var keys = path.split('.');
|
|
16
|
-
var current = obj;
|
|
17
|
-
for (var _i = 0; _i < keys.length - 1; _i += 1) {
|
|
18
|
-
current = current[keys[_i]];
|
|
19
|
-
if (current === undefined) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
delete current[keys[keys.length - 1]];
|
|
24
|
-
return obj;
|
|
25
|
-
};
|
|
26
|
-
var _default = exports.default = deleteNodeByPath;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _deleteNodeByPath = _interopRequireDefault(require("./deleteNodeByPath"));
|
|
4
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('Delete node based on path', function () {
|
|
6
|
-
it('delete where node is at parent level', function () {
|
|
7
|
-
var nested = {
|
|
8
|
-
type: "Example form",
|
|
9
|
-
alpha: "alpha",
|
|
10
|
-
bravo: "bravo",
|
|
11
|
-
person: {
|
|
12
|
-
charlie: "Smith",
|
|
13
|
-
delta: "Acme Inc"
|
|
14
|
-
},
|
|
15
|
-
gamma: "gamma",
|
|
16
|
-
epsilon: "epsilon"
|
|
17
|
-
};
|
|
18
|
-
var path = 'type';
|
|
19
|
-
var result = (0, _deleteNodeByPath.default)(nested, path);
|
|
20
|
-
expect(result).toEqual({
|
|
21
|
-
alpha: "alpha",
|
|
22
|
-
bravo: "bravo",
|
|
23
|
-
person: {
|
|
24
|
-
charlie: "Smith",
|
|
25
|
-
delta: "Acme Inc"
|
|
26
|
-
},
|
|
27
|
-
gamma: "gamma",
|
|
28
|
-
epsilon: "epsilon"
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
it('delete where node is at child level', function () {
|
|
32
|
-
var nested = {
|
|
33
|
-
type: "Example form",
|
|
34
|
-
alpha: "alpha",
|
|
35
|
-
bravo: "bravo",
|
|
36
|
-
person: {
|
|
37
|
-
charlie: "Smith",
|
|
38
|
-
delta: "Acme Inc"
|
|
39
|
-
},
|
|
40
|
-
gamma: "gamma",
|
|
41
|
-
epsilon: "epsilon"
|
|
42
|
-
};
|
|
43
|
-
var path = 'person.charlie';
|
|
44
|
-
var result = (0, _deleteNodeByPath.default)(nested, path);
|
|
45
|
-
expect(result).toEqual({
|
|
46
|
-
type: "Example form",
|
|
47
|
-
alpha: "alpha",
|
|
48
|
-
bravo: "bravo",
|
|
49
|
-
person: {
|
|
50
|
-
delta: "Acme Inc"
|
|
51
|
-
},
|
|
52
|
-
gamma: "gamma",
|
|
53
|
-
epsilon: "epsilon"
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
});
|