@ukhomeoffice/cop-react-form-renderer 6.13.2 → 6.14.1
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 +8 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +81 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -48
- package/dist/components/CollectionSummary/RenderListView.scss +4 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +133 -98
- package/dist/components/CollectionSummary/SummaryCard.js +110 -148
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +71 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +85 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +67 -102
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- 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 +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +99 -88
- package/dist/components/FormPage/FormPage.test.js +173 -164
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +138 -174
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- 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 +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- 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 +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -14
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +146 -98
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +81 -83
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -174
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +57 -30
- package/dist/utils/Data/getOptions.test.js +75 -28
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +16 -12
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +25 -22
- package/dist/utils/FormPage/useComponent.test.js +79 -44
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- 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 +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +8 -9
- package/dist/utils/Validate/validateEmail.test.js +29 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +5 -5
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _elevateNestedComponents = _interopRequireDefault(require("./elevateNestedComponents"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils.Component.elevateNestedComponents',
|
|
6
|
-
it('should return an empty array if components is undefined',
|
|
7
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils.Component.elevateNestedComponents', () => {
|
|
6
|
+
it('should return an empty array if components is undefined', () => {
|
|
7
|
+
const DATA = {
|
|
8
8
|
alpha: 'abc'
|
|
9
9
|
};
|
|
10
10
|
expect((0, _elevateNestedComponents.default)(undefined, DATA)).toEqual([]);
|
|
11
11
|
});
|
|
12
|
-
it('should return an empty array if components is null',
|
|
13
|
-
|
|
12
|
+
it('should return an empty array if components is null', () => {
|
|
13
|
+
const DATA = {
|
|
14
14
|
alpha: 'abc'
|
|
15
15
|
};
|
|
16
16
|
expect((0, _elevateNestedComponents.default)(null, DATA)).toEqual([]);
|
|
17
17
|
});
|
|
18
|
-
it('should return an empty array if components is empty',
|
|
19
|
-
|
|
18
|
+
it('should return an empty array if components is empty', () => {
|
|
19
|
+
const DATA = {
|
|
20
20
|
alpha: 'abc'
|
|
21
21
|
};
|
|
22
22
|
expect((0, _elevateNestedComponents.default)([], DATA)).toEqual([]);
|
|
23
23
|
});
|
|
24
|
-
it('should return the original components if none have nested components',
|
|
25
|
-
|
|
24
|
+
it('should return the original components if none have nested components', () => {
|
|
25
|
+
const COMPONENTS = [{
|
|
26
26
|
id: 'textComp'
|
|
27
27
|
}, {
|
|
28
28
|
id: 'radiosComp',
|
|
@@ -36,13 +36,13 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
36
36
|
}]
|
|
37
37
|
}
|
|
38
38
|
}];
|
|
39
|
-
|
|
39
|
+
const DATA = {
|
|
40
40
|
alpha: 'abc'
|
|
41
41
|
};
|
|
42
42
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual(COMPONENTS);
|
|
43
43
|
});
|
|
44
|
-
it('should return the original components if data is null',
|
|
45
|
-
|
|
44
|
+
it('should return the original components if data is null', () => {
|
|
45
|
+
const COMPONENTS = [{
|
|
46
46
|
id: 'textComp'
|
|
47
47
|
}, {
|
|
48
48
|
id: 'radiosComp',
|
|
@@ -58,8 +58,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
58
58
|
}];
|
|
59
59
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, null)).toEqual(COMPONENTS);
|
|
60
60
|
});
|
|
61
|
-
it('should return the original array with elevated nested components when they are visible',
|
|
62
|
-
|
|
61
|
+
it('should return the original array with elevated nested components when they are visible', () => {
|
|
62
|
+
const COMPONENTS = [{
|
|
63
63
|
id: 'textComp'
|
|
64
64
|
}, {
|
|
65
65
|
id: 'radiosComp',
|
|
@@ -78,7 +78,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
78
78
|
}]
|
|
79
79
|
}
|
|
80
80
|
}];
|
|
81
|
-
|
|
81
|
+
const DATA = {
|
|
82
82
|
radiosComp: 'yes'
|
|
83
83
|
};
|
|
84
84
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS, [{
|
|
@@ -87,8 +87,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
87
87
|
id: 'nestedTwo'
|
|
88
88
|
}]));
|
|
89
89
|
});
|
|
90
|
-
it('should return the original array with elevated nested components when a component has a full_path',
|
|
91
|
-
|
|
90
|
+
it('should return the original array with elevated nested components when a component has a full_path', () => {
|
|
91
|
+
const COMPONENTS = [{
|
|
92
92
|
id: 'textComp'
|
|
93
93
|
}, {
|
|
94
94
|
id: 'radiosComp',
|
|
@@ -108,7 +108,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
108
108
|
},
|
|
109
109
|
full_path: 'component.radiosComp'
|
|
110
110
|
}];
|
|
111
|
-
|
|
111
|
+
const DATA = {
|
|
112
112
|
component: {
|
|
113
113
|
radiosComp: 'yes'
|
|
114
114
|
}
|
|
@@ -119,8 +119,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
119
119
|
id: 'nestedTwo'
|
|
120
120
|
}]));
|
|
121
121
|
});
|
|
122
|
-
it('should not elevate nested components under a component which is hidden with a show_when',
|
|
123
|
-
|
|
122
|
+
it('should not elevate nested components under a component which is hidden with a show_when', () => {
|
|
123
|
+
const COMPONENTS = [{
|
|
124
124
|
id: 'textComp'
|
|
125
125
|
}, {
|
|
126
126
|
id: 'radiosComp',
|
|
@@ -144,14 +144,14 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
144
144
|
}]
|
|
145
145
|
}
|
|
146
146
|
}];
|
|
147
|
-
|
|
147
|
+
const DATA = {
|
|
148
148
|
radiosComp: 'yes',
|
|
149
149
|
testField: 'red'
|
|
150
150
|
};
|
|
151
151
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS));
|
|
152
152
|
});
|
|
153
|
-
it('should elevate nested components under a component which is shown with a show_When',
|
|
154
|
-
|
|
153
|
+
it('should elevate nested components under a component which is shown with a show_When', () => {
|
|
154
|
+
const COMPONENTS = [{
|
|
155
155
|
id: 'textComp'
|
|
156
156
|
}, {
|
|
157
157
|
id: 'radiosComp',
|
|
@@ -175,7 +175,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
175
175
|
}]
|
|
176
176
|
}
|
|
177
177
|
}];
|
|
178
|
-
|
|
178
|
+
const DATA = {
|
|
179
179
|
radiosComp: 'yes',
|
|
180
180
|
testField: 'red'
|
|
181
181
|
};
|
|
@@ -185,8 +185,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
185
185
|
id: 'nestedTwo'
|
|
186
186
|
}]));
|
|
187
187
|
});
|
|
188
|
-
it('should elevate nested components under an option which is shown with a show_When',
|
|
189
|
-
|
|
188
|
+
it('should elevate nested components under an option which is shown with a show_When', () => {
|
|
189
|
+
const COMPONENTS = [{
|
|
190
190
|
id: 'textComp'
|
|
191
191
|
}, {
|
|
192
192
|
id: 'radiosComp',
|
|
@@ -215,7 +215,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
215
215
|
}]
|
|
216
216
|
}
|
|
217
217
|
}];
|
|
218
|
-
|
|
218
|
+
const DATA = {
|
|
219
219
|
radiosComp: 'yes',
|
|
220
220
|
testField: 'red',
|
|
221
221
|
testFieldTwo: 'purple'
|
|
@@ -226,8 +226,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
226
226
|
id: 'nestedTwo'
|
|
227
227
|
}]));
|
|
228
228
|
});
|
|
229
|
-
it('should not elevate nested components under an option which is hidden with a show_When',
|
|
230
|
-
|
|
229
|
+
it('should not elevate nested components under an option which is hidden with a show_When', () => {
|
|
230
|
+
const COMPONENTS = [{
|
|
231
231
|
id: 'textComp'
|
|
232
232
|
}, {
|
|
233
233
|
id: 'radiosComp',
|
|
@@ -256,15 +256,15 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
256
256
|
}]
|
|
257
257
|
}
|
|
258
258
|
}];
|
|
259
|
-
|
|
259
|
+
const DATA = {
|
|
260
260
|
radiosComp: 'yes',
|
|
261
261
|
testField: 'red',
|
|
262
262
|
testFieldTwo: 'orange'
|
|
263
263
|
};
|
|
264
264
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS));
|
|
265
265
|
});
|
|
266
|
-
it('should return the original array with elevated nested components that are defined using refdata_match when they are visible',
|
|
267
|
-
|
|
266
|
+
it('should return the original array with elevated nested components that are defined using refdata_match when they are visible', () => {
|
|
267
|
+
const COMPONENTS = [{
|
|
268
268
|
id: 'textComp'
|
|
269
269
|
}, {
|
|
270
270
|
id: 'checkboxComp',
|
|
@@ -289,7 +289,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
289
289
|
}]
|
|
290
290
|
}
|
|
291
291
|
}];
|
|
292
|
-
|
|
292
|
+
const DATA = {
|
|
293
293
|
checkboxComp: [{
|
|
294
294
|
value: 'yes',
|
|
295
295
|
id: 99
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getChildrenJsx = exports.default = void 0;
|
|
8
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _Condition = _interopRequireDefault(require("../Condition"));
|
|
10
10
|
var _models = require("../../models");
|
|
11
11
|
var _Data = _interopRequireDefault(require("../Data"));
|
|
12
12
|
var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
|
|
13
13
|
var _isEditable = _interopRequireDefault(require("./isEditable"));
|
|
14
14
|
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
15
15
|
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
16
|
-
function _interopRequireDefault(
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
18
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
-
function _defineProperty(
|
|
20
|
-
function _toPropertyKey(
|
|
21
|
-
function _toPrimitive(
|
|
22
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
19
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
20
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
21
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /* eslint-disable no-use-before-define */ // Global imports
|
|
23
23
|
// Local imports
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const LIST_CLASS = 'govuk-list';
|
|
25
|
+
const BODY_CLASS = 'govuk-body';
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Separate function for each component type for the sake of
|
|
@@ -31,27 +31,27 @@ var BODY_CLASS = 'govuk-body';
|
|
|
31
31
|
* makes it much harder to follow what's going on.
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const getAlert = config => {
|
|
35
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
36
|
+
const heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
|
|
37
|
+
const children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
|
|
38
38
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Alert, _extends({}, attrs, {
|
|
39
39
|
heading: heading
|
|
40
40
|
}), children);
|
|
41
41
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const getAutocomplete = config => {
|
|
43
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
44
|
+
const source = _Data.default.getAutocompleteSource(config);
|
|
45
45
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Autocomplete, _extends({}, attrs, {
|
|
46
46
|
source: source
|
|
47
47
|
}));
|
|
48
48
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
_Data.default.getOptions(config,
|
|
49
|
+
const getCheckboxes = config => {
|
|
50
|
+
let options = [];
|
|
51
|
+
_Data.default.getOptions(config, val => {
|
|
52
52
|
options = val;
|
|
53
53
|
});
|
|
54
|
-
options = options.map(
|
|
54
|
+
options = options.map(paramOption => {
|
|
55
55
|
if (!Array.isArray(paramOption.nested)) {
|
|
56
56
|
return paramOption;
|
|
57
57
|
}
|
|
@@ -59,75 +59,73 @@ var getCheckboxes = function getCheckboxes(config) {
|
|
|
59
59
|
children: getChildrenJsx(config, paramOption.nested)
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
|
-
|
|
62
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
63
63
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
|
|
64
64
|
options: options
|
|
65
65
|
}));
|
|
66
66
|
};
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
const getCalculation = config => {
|
|
68
|
+
const value = _Data.default.applyFormula(config);
|
|
69
69
|
if (typeof config.onChange === 'function') {
|
|
70
70
|
if (value !== config.value) {
|
|
71
71
|
config.onChange({
|
|
72
72
|
target: {
|
|
73
73
|
name: config.fieldId,
|
|
74
|
-
value
|
|
74
|
+
value
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
const attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
80
80
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
|
|
81
81
|
readonly: true
|
|
82
82
|
}));
|
|
83
83
|
};
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
const getDate = config => {
|
|
85
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
86
86
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
|
|
87
87
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
const getDetails = config => {
|
|
89
|
+
const attrs = (0, _cleanAttributes.default)(config, ['tagName']);
|
|
90
|
+
const html = getHTML(config);
|
|
91
91
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
|
|
92
92
|
};
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const getFileUpload = config => {
|
|
94
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
95
95
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
|
|
96
96
|
};
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
const getMultiFileUpload = config => {
|
|
98
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
99
99
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
|
|
100
100
|
};
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
const getHeading = config => {
|
|
102
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
103
103
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
|
|
104
104
|
};
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
const getHTML = config => {
|
|
106
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
107
107
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
|
|
108
108
|
};
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
const getInsetText = config => {
|
|
110
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
111
111
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
|
|
112
112
|
};
|
|
113
|
-
|
|
113
|
+
const getList = config => {
|
|
114
114
|
var _attrs$items;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return "<li>".concat(item, "</li>");
|
|
121
|
-
}).join('');
|
|
115
|
+
const attrs = (0, _cleanAttributes.default)(config, ['ordered']);
|
|
116
|
+
const tagName = config.ordered ? 'ol' : 'ul';
|
|
117
|
+
const bullet = config.ordered ? 'number' : 'bullet';
|
|
118
|
+
const classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
|
|
119
|
+
const content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(item => "<li>".concat(item, "</li>")).join('');
|
|
122
120
|
return getHTML(_objectSpread(_objectSpread({}, attrs), {}, {
|
|
123
121
|
className: classes(),
|
|
124
|
-
tagName
|
|
125
|
-
content
|
|
122
|
+
tagName,
|
|
123
|
+
content,
|
|
126
124
|
type: _models.ComponentTypes.HTML
|
|
127
125
|
}));
|
|
128
126
|
};
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
const getParagraph = config => {
|
|
128
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
131
129
|
return getHTML(_objectSpread(_objectSpread({
|
|
132
130
|
className: BODY_CLASS
|
|
133
131
|
}, attrs), {}, {
|
|
@@ -135,12 +133,12 @@ var getParagraph = function getParagraph(config) {
|
|
|
135
133
|
type: _models.ComponentTypes.HTML
|
|
136
134
|
}));
|
|
137
135
|
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
_Data.default.getOptions(config,
|
|
136
|
+
const getRadios = config => {
|
|
137
|
+
let options = [];
|
|
138
|
+
_Data.default.getOptions(config, val => {
|
|
141
139
|
options = val;
|
|
142
140
|
});
|
|
143
|
-
options = options.map(
|
|
141
|
+
options = options.map(paramOption => {
|
|
144
142
|
if (!Array.isArray(paramOption.nested)) {
|
|
145
143
|
return paramOption;
|
|
146
144
|
}
|
|
@@ -148,38 +146,38 @@ var getRadios = function getRadios(config) {
|
|
|
148
146
|
children: getChildrenJsx(config, paramOption.nested)
|
|
149
147
|
});
|
|
150
148
|
});
|
|
151
|
-
|
|
149
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
152
150
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Radios, _extends({}, attrs, {
|
|
153
151
|
options: options
|
|
154
152
|
}));
|
|
155
153
|
};
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
const getTextArea = config => {
|
|
155
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
158
156
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
|
|
159
157
|
};
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
const getTextInput = config => {
|
|
159
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
162
160
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
|
|
163
161
|
};
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
const getTime = config => {
|
|
163
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
166
164
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
|
|
167
165
|
};
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
_Data.default.getOptions(config,
|
|
166
|
+
const getSelect = config => {
|
|
167
|
+
let options = [];
|
|
168
|
+
_Data.default.getOptions(config, val => {
|
|
171
169
|
options = val;
|
|
172
170
|
});
|
|
173
|
-
|
|
171
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
174
172
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
|
|
175
173
|
options: options
|
|
176
174
|
}));
|
|
177
175
|
};
|
|
178
|
-
|
|
179
|
-
|
|
176
|
+
const getWarningText = config => {
|
|
177
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
180
178
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
|
|
181
179
|
};
|
|
182
|
-
|
|
180
|
+
const getComponentByType = config => {
|
|
183
181
|
switch (config.type) {
|
|
184
182
|
case _models.ComponentTypes.HTML:
|
|
185
183
|
return getHTML(config);
|
|
@@ -233,10 +231,10 @@ var getComponentByType = function getComponentByType(config) {
|
|
|
233
231
|
* @param {*} parent the parent configuration
|
|
234
232
|
* @param {*} child the child configuration
|
|
235
233
|
*/
|
|
236
|
-
|
|
237
|
-
|
|
234
|
+
const getChildJsx = (parent, paramChild) => {
|
|
235
|
+
const child = _objectSpread({}, paramChild);
|
|
238
236
|
if (parent.full_path) {
|
|
239
|
-
|
|
237
|
+
const pathParts = parent.full_path.split('.');
|
|
240
238
|
pathParts.pop();
|
|
241
239
|
pathParts.push(child.fieldId);
|
|
242
240
|
child.full_path = pathParts.join('.');
|
|
@@ -264,13 +262,13 @@ var getChildJsx = function getChildJsx(parent, paramChild) {
|
|
|
264
262
|
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
265
263
|
* @param {*} childrenConfigs array of configurations for the child components
|
|
266
264
|
*/
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}));
|
|
265
|
+
const getChildrenJsx = (parentConfig, childrenConfigs) => {
|
|
266
|
+
const validChildren = childrenConfigs.filter(config => !(config.show_when && !_Condition.default.meetsAll(config.show_when, parentConfig.formData))).map(config => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
267
|
+
key: config.id
|
|
268
|
+
}, getChildJsx(parentConfig, config)));
|
|
269
|
+
return validChildren.length > 0 ? validChildren : null;
|
|
273
270
|
};
|
|
271
|
+
exports.getChildrenJsx = getChildrenJsx;
|
|
274
272
|
/**
|
|
275
273
|
* Get a renderable component, based on a configuration object.
|
|
276
274
|
* @param {object} config The configuration object for the component.
|
|
@@ -278,16 +276,16 @@ var getChildrenJsx = exports.getChildrenJsx = function getChildrenJsx(parentConf
|
|
|
278
276
|
* @param {Function} fnOverride An optional override function for component rendering.
|
|
279
277
|
* @returns A renderable component.
|
|
280
278
|
*/
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
279
|
+
const getComponent = function (config) {
|
|
280
|
+
let wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
281
|
+
let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
284
282
|
if (typeof fnOverride === 'function') {
|
|
285
|
-
|
|
283
|
+
const overrideComponent = fnOverride(config, wrap);
|
|
286
284
|
if (overrideComponent) {
|
|
287
285
|
return overrideComponent;
|
|
288
286
|
}
|
|
289
287
|
}
|
|
290
|
-
|
|
288
|
+
const component = getComponentByType(config);
|
|
291
289
|
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
292
290
|
return (0, _wrapInFormGroup.default)(config, component);
|
|
293
291
|
}
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
var _react = require("@testing-library/react");
|
|
4
4
|
var _models = require("../../../models");
|
|
5
5
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
6
|
-
function _interopRequireDefault(
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
7
|
// Global imports
|
|
8
8
|
|
|
9
9
|
// Local imports
|
|
10
10
|
|
|
11
|
-
describe('utils.Component.get',
|
|
12
|
-
it('should return an appropriately rendered autocomplete component',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
describe('utils.Component.get', () => {
|
|
12
|
+
it('should return an appropriately rendered autocomplete component', () => {
|
|
13
|
+
const ID = 'test-id';
|
|
14
|
+
const FIELD_ID = 'field-id';
|
|
15
|
+
const LABEL = 'label';
|
|
16
|
+
const OPTIONS = [];
|
|
17
|
+
const COMPONENT = {
|
|
18
18
|
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
19
19
|
id: ID,
|
|
20
20
|
fieldId: FIELD_ID,
|
|
@@ -24,26 +24,27 @@ describe('utils.Component.get', function () {
|
|
|
24
24
|
},
|
|
25
25
|
'data-testid': ID
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
container
|
|
29
|
-
|
|
27
|
+
const {
|
|
28
|
+
container
|
|
29
|
+
} = (0, _react.render)((0, _getComponent.default)(COMPONENT));
|
|
30
|
+
const formGroup = (0, _react.getByTestId)(container, ID);
|
|
30
31
|
expect(formGroup.tagName).toEqual('DIV');
|
|
31
32
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
formGroup.childNodes.forEach(
|
|
33
|
+
let label;
|
|
34
|
+
let autocompleteWrapper;
|
|
35
|
+
let autocomplete;
|
|
36
|
+
let autocompleteInput;
|
|
37
|
+
formGroup.childNodes.forEach(node => {
|
|
37
38
|
// Check if it's an element.
|
|
38
39
|
if (node instanceof Element) {
|
|
39
40
|
if (node.tagName === 'LABEL') {
|
|
40
41
|
label = node;
|
|
41
42
|
} else if (node.classList.contains('hods-autocomplete__outer-wrapper')) {
|
|
42
43
|
autocompleteWrapper = node;
|
|
43
|
-
|
|
44
|
+
const autocompleteInner = node.childNodes[0];
|
|
44
45
|
if (autocompleteInner instanceof Element) {
|
|
45
46
|
autocomplete = autocompleteInner;
|
|
46
|
-
autocomplete.childNodes.forEach(
|
|
47
|
+
autocomplete.childNodes.forEach(grandchild => {
|
|
47
48
|
if (grandchild instanceof Element) {
|
|
48
49
|
if (grandchild.tagName === 'INPUT') {
|
|
49
50
|
autocompleteInput = grandchild;
|