@ukhomeoffice/cop-react-form-renderer 5.89.0 → 5.90.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/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +76 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
- package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
- package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -55
- package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
- package/dist/components/CollectionSummary/SummaryCard.js +121 -157
- package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
- package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +81 -117
- package/dist/components/FormComponent/Collection.scss +1 -1
- package/dist/components/FormComponent/Collection.test.js +910 -1082
- package/dist/components/FormComponent/Container.js +45 -38
- package/dist/components/FormComponent/Container.scss +15 -0
- package/dist/components/FormComponent/Container.test.js +379 -411
- package/dist/components/FormComponent/FormComponent.js +71 -74
- 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 +71 -87
- package/dist/components/FormPage/FormPage.test.js +133 -170
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +153 -198
- package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
- 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 +27 -30
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
- 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 +18 -32
- 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 +8 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +61 -54
- package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
- package/dist/components/FormRenderer/onPageAction.js +45 -41
- package/dist/components/FormRenderer/onPageAction.test.js +225 -210
- package/dist/components/FormRenderer/onTaskAction.js +11 -15
- package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
- package/dist/components/PageActions/ActionButton.js +13 -16
- 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 +13 -21
- package/dist/components/SummaryList/GroupAction.test.js +41 -37
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +41 -37
- package/dist/components/SummaryList/SummaryList.js +23 -28
- package/dist/components/SummaryList/SummaryList.test.js +179 -206
- package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +8 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- 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 +53 -84
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +56 -49
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +58 -81
- 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 +58 -70
- 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 +28 -41
- 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 +31 -32
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
- package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +19 -20
- package/dist/utils/Component/applyToComponentTree.test.js +28 -33
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -7
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +90 -97
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
- 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 +22 -27
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
- 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 +155 -175
- 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 +34 -41
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
- 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 +24 -24
- 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 +29 -31
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +3 -4
- 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 +20 -31
- 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 +14 -19
- 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 +16 -22
- package/dist/utils/Container/setupNesting.test.js +28 -31
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +40 -50
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +20 -29
- package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
- package/dist/utils/Data/getDataPath.js +20 -30
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +27 -34
- package/dist/utils/Data/getOptions.test.js +28 -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 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +11 -15
- 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 +14 -22
- package/dist/utils/Data/setupFormData.test.js +52 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
- package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +16 -17
- package/dist/utils/FormPage/getFormPage.test.js +49 -48
- package/dist/utils/FormPage/getFormPages.js +8 -13
- package/dist/utils/FormPage/getFormPages.test.js +22 -25
- package/dist/utils/FormPage/getPageActions.js +10 -17
- 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 +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +78 -80
- 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 +6 -8
- 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 +29 -32
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- 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 +15 -17
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +36 -37
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +22 -28
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +25 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +33 -0
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +10 -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 +9 -14
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
- 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 +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- 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 +36 -40
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
- 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 +3 -5
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +11 -24
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +21 -27
- package/dist/utils/Validate/validateCollection.test.js +85 -77
- package/dist/utils/Validate/validateComponent.js +22 -23
- package/dist/utils/Validate/validateComponent.test.js +188 -165
- package/dist/utils/Validate/validateContainer.js +16 -21
- package/dist/utils/Validate/validateContainer.test.js +62 -56
- package/dist/utils/Validate/validateDate.js +17 -23
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +20 -24
- package/dist/utils/Validate/validatePage.test.js +227 -215
- package/dist/utils/Validate/validateRegex.js +5 -8
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +5 -7
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +5 -7
- 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 +8 -10
- package/package.json +3 -2
|
@@ -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,6 +1,5 @@
|
|
|
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
|
});
|
|
@@ -13,16 +12,11 @@ var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
|
|
|
13
12
|
var _isEditable = _interopRequireDefault(require("./isEditable"));
|
|
14
13
|
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
15
14
|
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
16
|
-
function _interopRequireDefault(
|
|
17
|
-
function
|
|
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(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
20
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
22
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable no-use-before-define */ // Global imports
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
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
17
|
// Local imports
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
const LIST_CLASS = 'govuk-list';
|
|
19
|
+
const BODY_CLASS = 'govuk-body';
|
|
26
20
|
|
|
27
21
|
/**
|
|
28
22
|
* Separate function for each component type for the sake of
|
|
@@ -31,155 +25,155 @@ var BODY_CLASS = 'govuk-body';
|
|
|
31
25
|
* makes it much harder to follow what's going on.
|
|
32
26
|
*/
|
|
33
27
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
const getAlert = config => {
|
|
29
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
30
|
+
const heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
|
|
31
|
+
const children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
|
|
38
32
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Alert, _extends({}, attrs, {
|
|
39
33
|
heading: heading
|
|
40
34
|
}), children);
|
|
41
35
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
const getAutocomplete = config => {
|
|
37
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
38
|
+
const source = _Data.default.getAutocompleteSource(config);
|
|
45
39
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Autocomplete, _extends({}, attrs, {
|
|
46
40
|
source: source
|
|
47
41
|
}));
|
|
48
42
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
_Data.default.getOptions(config,
|
|
43
|
+
const getCheckboxes = config => {
|
|
44
|
+
let options = [];
|
|
45
|
+
_Data.default.getOptions(config, val => {
|
|
52
46
|
options = val;
|
|
53
47
|
});
|
|
54
|
-
options = options.map(
|
|
48
|
+
options = options.map(paramOption => {
|
|
55
49
|
if (!Array.isArray(paramOption.nested)) {
|
|
56
50
|
return paramOption;
|
|
57
51
|
}
|
|
58
|
-
return
|
|
52
|
+
return {
|
|
53
|
+
...paramOption,
|
|
59
54
|
children: getChildrenJsx(config, paramOption.nested)
|
|
60
|
-
}
|
|
55
|
+
};
|
|
61
56
|
});
|
|
62
|
-
|
|
57
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
63
58
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
|
|
64
59
|
options: options
|
|
65
60
|
}));
|
|
66
61
|
};
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
const getCalculation = config => {
|
|
63
|
+
const value = _Data.default.applyFormula(config);
|
|
69
64
|
if (typeof config.onChange === 'function') {
|
|
70
65
|
if (value !== config.value) {
|
|
71
66
|
config.onChange({
|
|
72
67
|
target: {
|
|
73
68
|
name: config.fieldId,
|
|
74
|
-
value
|
|
69
|
+
value
|
|
75
70
|
}
|
|
76
71
|
});
|
|
77
72
|
}
|
|
78
73
|
}
|
|
79
|
-
|
|
74
|
+
const attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
80
75
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
|
|
81
76
|
readonly: true
|
|
82
77
|
}));
|
|
83
78
|
};
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
const getDate = config => {
|
|
80
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
86
81
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
|
|
87
82
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
const getDetails = config => {
|
|
84
|
+
const attrs = (0, _cleanAttributes.default)(config, ['tagName']);
|
|
85
|
+
const html = getHTML(config);
|
|
91
86
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
|
|
92
87
|
};
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
const getFileUpload = config => {
|
|
89
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
95
90
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
|
|
96
91
|
};
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
const getMultiFileUpload = config => {
|
|
93
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
99
94
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
|
|
100
95
|
};
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
const getHeading = config => {
|
|
97
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
103
98
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
|
|
104
99
|
};
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
const getHTML = config => {
|
|
101
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
107
102
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
|
|
108
103
|
};
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
const getInsetText = config => {
|
|
105
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
111
106
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
|
|
112
107
|
};
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}).join('');
|
|
122
|
-
return getHTML(_objectSpread(_objectSpread({}, attrs), {}, {
|
|
108
|
+
const getList = config => {
|
|
109
|
+
const attrs = (0, _cleanAttributes.default)(config, ['ordered']);
|
|
110
|
+
const tagName = config.ordered ? 'ol' : 'ul';
|
|
111
|
+
const bullet = config.ordered ? 'number' : 'bullet';
|
|
112
|
+
const classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
|
|
113
|
+
const content = attrs.items?.map(item => `<li>${item}</li>`).join('');
|
|
114
|
+
return getHTML({
|
|
115
|
+
...attrs,
|
|
123
116
|
className: classes(),
|
|
124
|
-
tagName
|
|
125
|
-
content
|
|
117
|
+
tagName,
|
|
118
|
+
content,
|
|
126
119
|
type: _models.ComponentTypes.HTML
|
|
127
|
-
})
|
|
120
|
+
});
|
|
128
121
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return getHTML(
|
|
132
|
-
className: BODY_CLASS
|
|
133
|
-
|
|
122
|
+
const getParagraph = config => {
|
|
123
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
124
|
+
return getHTML({
|
|
125
|
+
className: BODY_CLASS,
|
|
126
|
+
...attrs,
|
|
134
127
|
tagName: 'p',
|
|
135
128
|
type: _models.ComponentTypes.HTML
|
|
136
|
-
})
|
|
129
|
+
});
|
|
137
130
|
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
_Data.default.getOptions(config,
|
|
131
|
+
const getRadios = config => {
|
|
132
|
+
let options = [];
|
|
133
|
+
_Data.default.getOptions(config, val => {
|
|
141
134
|
options = val;
|
|
142
135
|
});
|
|
143
|
-
options = options.map(
|
|
136
|
+
options = options.map(paramOption => {
|
|
144
137
|
if (!Array.isArray(paramOption.nested)) {
|
|
145
138
|
return paramOption;
|
|
146
139
|
}
|
|
147
|
-
return
|
|
140
|
+
return {
|
|
141
|
+
...paramOption,
|
|
148
142
|
children: getChildrenJsx(config, paramOption.nested)
|
|
149
|
-
}
|
|
143
|
+
};
|
|
150
144
|
});
|
|
151
|
-
|
|
145
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
152
146
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Radios, _extends({}, attrs, {
|
|
153
147
|
options: options
|
|
154
148
|
}));
|
|
155
149
|
};
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
const getTextArea = config => {
|
|
151
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
158
152
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
|
|
159
153
|
};
|
|
160
|
-
|
|
161
|
-
|
|
154
|
+
const getTextInput = config => {
|
|
155
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
162
156
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
|
|
163
157
|
};
|
|
164
|
-
|
|
165
|
-
|
|
158
|
+
const getTime = config => {
|
|
159
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
166
160
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
|
|
167
161
|
};
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
_Data.default.getOptions(config,
|
|
162
|
+
const getSelect = config => {
|
|
163
|
+
let options = [];
|
|
164
|
+
_Data.default.getOptions(config, val => {
|
|
171
165
|
options = val;
|
|
172
166
|
});
|
|
173
|
-
|
|
167
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
174
168
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
|
|
175
169
|
options: options
|
|
176
170
|
}));
|
|
177
171
|
};
|
|
178
|
-
|
|
179
|
-
|
|
172
|
+
const getWarningText = config => {
|
|
173
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
180
174
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
|
|
181
175
|
};
|
|
182
|
-
|
|
176
|
+
const getComponentByType = config => {
|
|
183
177
|
switch (config.type) {
|
|
184
178
|
case _models.ComponentTypes.HTML:
|
|
185
179
|
return getHTML(config);
|
|
@@ -233,10 +227,12 @@ var getComponentByType = function getComponentByType(config) {
|
|
|
233
227
|
* @param {*} parent the parent configuration
|
|
234
228
|
* @param {*} child the child configuration
|
|
235
229
|
*/
|
|
236
|
-
|
|
237
|
-
|
|
230
|
+
const getChildJsx = (parent, paramChild) => {
|
|
231
|
+
const child = {
|
|
232
|
+
...paramChild
|
|
233
|
+
};
|
|
238
234
|
if (parent.full_path) {
|
|
239
|
-
|
|
235
|
+
const pathParts = parent.full_path.split('.');
|
|
240
236
|
pathParts.pop();
|
|
241
237
|
pathParts.push(child.fieldId);
|
|
242
238
|
child.full_path = pathParts.join('.');
|
|
@@ -264,13 +260,10 @@ var getChildJsx = function getChildJsx(parent, paramChild) {
|
|
|
264
260
|
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
265
261
|
* @param {*} childrenConfigs array of configurations for the child components
|
|
266
262
|
*/
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}, getChildJsx(parentConfig, config));
|
|
272
|
-
}));
|
|
273
|
-
};
|
|
263
|
+
const getChildrenJsx = (parentConfig, childrenConfigs) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenConfigs.map(config => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
264
|
+
key: config.id
|
|
265
|
+
}, getChildJsx(parentConfig, config))));
|
|
266
|
+
exports.getChildrenJsx = getChildrenJsx;
|
|
274
267
|
/**
|
|
275
268
|
* Get a renderable component, based on a configuration object.
|
|
276
269
|
* @param {object} config The configuration object for the component.
|
|
@@ -278,16 +271,16 @@ var getChildrenJsx = exports.getChildrenJsx = function getChildrenJsx(parentConf
|
|
|
278
271
|
* @param {Function} fnOverride An optional override function for component rendering.
|
|
279
272
|
* @returns A renderable component.
|
|
280
273
|
*/
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
274
|
+
const getComponent = function (config) {
|
|
275
|
+
let wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
276
|
+
let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
284
277
|
if (typeof fnOverride === 'function') {
|
|
285
|
-
|
|
278
|
+
const overrideComponent = fnOverride(config, wrap);
|
|
286
279
|
if (overrideComponent) {
|
|
287
280
|
return overrideComponent;
|
|
288
281
|
}
|
|
289
282
|
}
|
|
290
|
-
|
|
283
|
+
const component = getComponentByType(config);
|
|
291
284
|
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
292
285
|
return (0, _wrapInFormGroup.default)(config, component);
|
|
293
286
|
}
|
|
@@ -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;
|