@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -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 +75 -97
- 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 +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- 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 +63 -100
- 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 +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- 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 +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- 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 +79 -85
- 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 -226
- 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 +72 -63
- package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- 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 +12 -15
- 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 +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- 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 +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- 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 +2 -4
|
@@ -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
|
});
|
|
@@ -14,16 +13,16 @@ var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
|
|
|
14
13
|
var _isEditable = _interopRequireDefault(require("./isEditable"));
|
|
15
14
|
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
16
15
|
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
17
|
-
function _interopRequireDefault(
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
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; }
|
|
19
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; }
|
|
20
|
-
function _defineProperty(
|
|
21
|
-
function _toPropertyKey(
|
|
22
|
-
function _toPrimitive(
|
|
23
|
-
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
|
|
24
23
|
// Local imports
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const LIST_CLASS = 'govuk-list';
|
|
25
|
+
const BODY_CLASS = 'govuk-body';
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Separate function for each component type for the sake of
|
|
@@ -32,27 +31,27 @@ var BODY_CLASS = 'govuk-body';
|
|
|
32
31
|
* makes it much harder to follow what's going on.
|
|
33
32
|
*/
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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);
|
|
39
38
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Alert, _extends({}, attrs, {
|
|
40
39
|
heading: heading
|
|
41
40
|
}), children);
|
|
42
41
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
const getAutocomplete = config => {
|
|
43
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
44
|
+
const source = _Data.default.getAutocompleteSource(config);
|
|
46
45
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Autocomplete, _extends({}, attrs, {
|
|
47
46
|
source: source
|
|
48
47
|
}));
|
|
49
48
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
_Data.default.getOptions(config,
|
|
49
|
+
const getCheckboxes = config => {
|
|
50
|
+
let options = [];
|
|
51
|
+
_Data.default.getOptions(config, val => {
|
|
53
52
|
options = val;
|
|
54
53
|
});
|
|
55
|
-
options = options.map(
|
|
54
|
+
options = options.map(paramOption => {
|
|
56
55
|
if (!Array.isArray(paramOption.nested)) {
|
|
57
56
|
return paramOption;
|
|
58
57
|
}
|
|
@@ -60,75 +59,73 @@ var getCheckboxes = function getCheckboxes(config) {
|
|
|
60
59
|
children: getChildrenJsx(config, paramOption.nested)
|
|
61
60
|
});
|
|
62
61
|
});
|
|
63
|
-
|
|
62
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
64
63
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
|
|
65
64
|
options: options
|
|
66
65
|
}));
|
|
67
66
|
};
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
const getCalculation = config => {
|
|
68
|
+
const value = _Data.default.applyFormula(config);
|
|
70
69
|
if (typeof config.onChange === 'function') {
|
|
71
70
|
if (value !== config.value) {
|
|
72
71
|
config.onChange({
|
|
73
72
|
target: {
|
|
74
73
|
name: config.fieldId,
|
|
75
|
-
value
|
|
74
|
+
value
|
|
76
75
|
}
|
|
77
76
|
});
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
|
-
|
|
79
|
+
const attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
81
80
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
|
|
82
81
|
readonly: true
|
|
83
82
|
}));
|
|
84
83
|
};
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
const getDate = config => {
|
|
85
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
87
86
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
|
|
88
87
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
88
|
+
const getDetails = config => {
|
|
89
|
+
const attrs = (0, _cleanAttributes.default)(config, ['tagName']);
|
|
90
|
+
const html = getHTML(config);
|
|
92
91
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
|
|
93
92
|
};
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
const getFileUpload = config => {
|
|
94
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
96
95
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
|
|
97
96
|
};
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
const getMultiFileUpload = config => {
|
|
98
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
100
99
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
|
|
101
100
|
};
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
const getHeading = config => {
|
|
102
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
104
103
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
|
|
105
104
|
};
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
const getHTML = config => {
|
|
106
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
108
107
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
|
|
109
108
|
};
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
const getInsetText = config => {
|
|
110
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
112
111
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
|
|
113
112
|
};
|
|
114
|
-
|
|
113
|
+
const getList = config => {
|
|
115
114
|
var _attrs$items;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return "<li>".concat(item, "</li>");
|
|
122
|
-
}).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('');
|
|
123
120
|
return getHTML(_objectSpread(_objectSpread({}, attrs), {}, {
|
|
124
121
|
className: classes(),
|
|
125
|
-
tagName
|
|
126
|
-
content
|
|
122
|
+
tagName,
|
|
123
|
+
content,
|
|
127
124
|
type: _models.ComponentTypes.HTML
|
|
128
125
|
}));
|
|
129
126
|
};
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
const getParagraph = config => {
|
|
128
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
132
129
|
return getHTML(_objectSpread(_objectSpread({
|
|
133
130
|
className: BODY_CLASS
|
|
134
131
|
}, attrs), {}, {
|
|
@@ -136,12 +133,12 @@ var getParagraph = function getParagraph(config) {
|
|
|
136
133
|
type: _models.ComponentTypes.HTML
|
|
137
134
|
}));
|
|
138
135
|
};
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
_Data.default.getOptions(config,
|
|
136
|
+
const getRadios = config => {
|
|
137
|
+
let options = [];
|
|
138
|
+
_Data.default.getOptions(config, val => {
|
|
142
139
|
options = val;
|
|
143
140
|
});
|
|
144
|
-
options = options.map(
|
|
141
|
+
options = options.map(paramOption => {
|
|
145
142
|
if (!Array.isArray(paramOption.nested)) {
|
|
146
143
|
return paramOption;
|
|
147
144
|
}
|
|
@@ -149,38 +146,38 @@ var getRadios = function getRadios(config) {
|
|
|
149
146
|
children: getChildrenJsx(config, paramOption.nested)
|
|
150
147
|
});
|
|
151
148
|
});
|
|
152
|
-
|
|
149
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
153
150
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Radios, _extends({}, attrs, {
|
|
154
151
|
options: options
|
|
155
152
|
}));
|
|
156
153
|
};
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
const getTextArea = config => {
|
|
155
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
159
156
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
|
|
160
157
|
};
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
const getTextInput = config => {
|
|
159
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
163
160
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
|
|
164
161
|
};
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
const getTime = config => {
|
|
163
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
167
164
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
|
|
168
165
|
};
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
_Data.default.getOptions(config,
|
|
166
|
+
const getSelect = config => {
|
|
167
|
+
let options = [];
|
|
168
|
+
_Data.default.getOptions(config, val => {
|
|
172
169
|
options = val;
|
|
173
170
|
});
|
|
174
|
-
|
|
171
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
175
172
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
|
|
176
173
|
options: options
|
|
177
174
|
}));
|
|
178
175
|
};
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
const getWarningText = config => {
|
|
177
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
181
178
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
|
|
182
179
|
};
|
|
183
|
-
|
|
180
|
+
const getComponentByType = config => {
|
|
184
181
|
switch (config.type) {
|
|
185
182
|
case _models.ComponentTypes.HTML:
|
|
186
183
|
return getHTML(config);
|
|
@@ -234,10 +231,10 @@ var getComponentByType = function getComponentByType(config) {
|
|
|
234
231
|
* @param {*} parent the parent configuration
|
|
235
232
|
* @param {*} child the child configuration
|
|
236
233
|
*/
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
const getChildJsx = (parent, paramChild) => {
|
|
235
|
+
const child = _objectSpread({}, paramChild);
|
|
239
236
|
if (parent.full_path) {
|
|
240
|
-
|
|
237
|
+
const pathParts = parent.full_path.split('.');
|
|
241
238
|
pathParts.pop();
|
|
242
239
|
pathParts.push(child.fieldId);
|
|
243
240
|
child.full_path = pathParts.join('.');
|
|
@@ -265,16 +262,13 @@ var getChildJsx = function getChildJsx(parent, paramChild) {
|
|
|
265
262
|
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
266
263
|
* @param {*} childrenConfigs array of configurations for the child components
|
|
267
264
|
*/
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}
|
|
272
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
273
|
-
key: config.id
|
|
274
|
-
}, getChildJsx(parentConfig, config));
|
|
275
|
-
});
|
|
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)));
|
|
276
269
|
return validChildren.length > 0 ? validChildren : null;
|
|
277
270
|
};
|
|
271
|
+
exports.getChildrenJsx = getChildrenJsx;
|
|
278
272
|
/**
|
|
279
273
|
* Get a renderable component, based on a configuration object.
|
|
280
274
|
* @param {object} config The configuration object for the component.
|
|
@@ -282,16 +276,16 @@ var getChildrenJsx = exports.getChildrenJsx = function getChildrenJsx(parentConf
|
|
|
282
276
|
* @param {Function} fnOverride An optional override function for component rendering.
|
|
283
277
|
* @returns A renderable component.
|
|
284
278
|
*/
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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;
|
|
288
282
|
if (typeof fnOverride === 'function') {
|
|
289
|
-
|
|
283
|
+
const overrideComponent = fnOverride(config, wrap);
|
|
290
284
|
if (overrideComponent) {
|
|
291
285
|
return overrideComponent;
|
|
292
286
|
}
|
|
293
287
|
}
|
|
294
|
-
|
|
288
|
+
const component = getComponentByType(config);
|
|
295
289
|
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
296
290
|
return (0, _wrapInFormGroup.default)(config, component);
|
|
297
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;
|