@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.12.0
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 +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
- package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
- package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +57 -48
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +156 -112
- package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
- package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
- package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +73 -70
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +93 -66
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +39 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +44 -44
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/json/actions.json +17 -0
- package/dist/json/actionsNoSave.json +17 -0
- 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 +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/deleteValues.js +22 -0
- package/dist/utils/Data/deleteValues.test.js +57 -0
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +31 -24
- package/dist/utils/Data/getOptions.test.js +53 -35
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +3 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/deleteValueInFormData.js +26 -0
- package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +11 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +10 -7
- package/dist/utils/Validate/additional/index.test.js +78 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeOneOf.js +21 -0
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -4,30 +4,34 @@ var _setupTests = require("../../setupTests");
|
|
|
4
4
|
var _models = require("../../models");
|
|
5
5
|
var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
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); }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
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); } // Local imports
|
|
13
|
+
describe('utils', function () {
|
|
14
|
+
describe('CheckYourAnswers', function () {
|
|
15
|
+
describe('getCYARowsForPage', function () {
|
|
16
|
+
it('should get a appropriate row for a page with a single readonly text component', function () {
|
|
17
|
+
var COMPONENT = {
|
|
14
18
|
type: 'text',
|
|
15
19
|
readonly: true,
|
|
16
20
|
id: 'a',
|
|
17
21
|
fieldId: 'a',
|
|
18
22
|
label: 'Alpha'
|
|
19
23
|
};
|
|
20
|
-
|
|
24
|
+
var PAGE = {
|
|
21
25
|
id: 'page',
|
|
22
26
|
components: [COMPONENT],
|
|
23
27
|
formData: {
|
|
24
28
|
a: 'Bravo'
|
|
25
29
|
}
|
|
26
30
|
};
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
32
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
|
|
29
33
|
expect(ROWS.length).toEqual(1);
|
|
30
|
-
ROWS.forEach((row, index)
|
|
34
|
+
ROWS.forEach(function (row, index) {
|
|
31
35
|
(0, _setupTests.expectObjectLike)(row, {
|
|
32
36
|
pageId: PAGE.id,
|
|
33
37
|
fieldId: PAGE.components[index].fieldId,
|
|
@@ -38,20 +42,20 @@ describe('utils', () => {
|
|
|
38
42
|
});
|
|
39
43
|
});
|
|
40
44
|
});
|
|
41
|
-
it('should get appropriate rows for a page with two editable text components', ()
|
|
42
|
-
|
|
45
|
+
it('should get appropriate rows for a page with two editable text components', function () {
|
|
46
|
+
var COMPONENT_A = {
|
|
43
47
|
type: 'text',
|
|
44
48
|
id: 'a',
|
|
45
49
|
fieldId: 'a',
|
|
46
50
|
label: 'Alpha'
|
|
47
51
|
};
|
|
48
|
-
|
|
52
|
+
var COMPONENT_B = {
|
|
49
53
|
type: 'text',
|
|
50
54
|
id: 'b',
|
|
51
55
|
fieldId: 'b',
|
|
52
56
|
label: 'Bravo'
|
|
53
57
|
};
|
|
54
|
-
|
|
58
|
+
var PAGE = {
|
|
55
59
|
id: 'page',
|
|
56
60
|
components: [COMPONENT_A, COMPONENT_B],
|
|
57
61
|
formData: {
|
|
@@ -60,10 +64,10 @@ describe('utils', () => {
|
|
|
60
64
|
},
|
|
61
65
|
cya_link: {}
|
|
62
66
|
};
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
68
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
|
|
65
69
|
expect(ROWS.length).toEqual(2);
|
|
66
|
-
ROWS.forEach((row, index)
|
|
70
|
+
ROWS.forEach(function (row, index) {
|
|
67
71
|
(0, _setupTests.expectObjectLike)(row, {
|
|
68
72
|
pageId: PAGE.id,
|
|
69
73
|
fieldId: PAGE.components[index].fieldId,
|
|
@@ -76,24 +80,24 @@ describe('utils', () => {
|
|
|
76
80
|
});
|
|
77
81
|
});
|
|
78
82
|
});
|
|
79
|
-
it("should filter out any components that shouldn't be shown", ()
|
|
80
|
-
|
|
83
|
+
it("should filter out any components that shouldn't be shown", function () {
|
|
84
|
+
var COMPONENT_A = {
|
|
81
85
|
type: 'text',
|
|
82
86
|
id: 'a',
|
|
83
87
|
fieldId: 'a',
|
|
84
88
|
label: 'Alpha'
|
|
85
89
|
};
|
|
86
|
-
|
|
90
|
+
var COMPONENT_B = {
|
|
87
91
|
type: 'text',
|
|
88
92
|
id: 'b',
|
|
89
93
|
fieldId: 'b',
|
|
90
94
|
label: 'Bravo'
|
|
91
95
|
};
|
|
92
|
-
|
|
96
|
+
var COMPONENT_C = {
|
|
93
97
|
type: 'heading',
|
|
94
98
|
content: 'Heading component'
|
|
95
99
|
};
|
|
96
|
-
|
|
100
|
+
var PAGE = {
|
|
97
101
|
id: 'page',
|
|
98
102
|
components: [COMPONENT_A, COMPONENT_B, COMPONENT_C],
|
|
99
103
|
formData: {
|
|
@@ -102,10 +106,10 @@ describe('utils', () => {
|
|
|
102
106
|
},
|
|
103
107
|
cya_link: {}
|
|
104
108
|
};
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
110
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
|
|
107
111
|
expect(ROWS.length).toEqual(2);
|
|
108
|
-
ROWS.forEach((row, index)
|
|
112
|
+
ROWS.forEach(function (row, index) {
|
|
109
113
|
(0, _setupTests.expectObjectLike)(row, {
|
|
110
114
|
pageId: PAGE.id,
|
|
111
115
|
fieldId: PAGE.components[index].fieldId,
|
|
@@ -118,20 +122,20 @@ describe('utils', () => {
|
|
|
118
122
|
});
|
|
119
123
|
});
|
|
120
124
|
});
|
|
121
|
-
it('should get a appropriate row for a page with a single readonly text component inside of a container', ()
|
|
122
|
-
|
|
125
|
+
it('should get a appropriate row for a page with a single readonly text component inside of a container', function () {
|
|
126
|
+
var FORM_DATA = {
|
|
123
127
|
container: {
|
|
124
128
|
a: 'Bravo'
|
|
125
129
|
}
|
|
126
130
|
};
|
|
127
|
-
|
|
131
|
+
var COMPONENT = {
|
|
128
132
|
type: 'text',
|
|
129
133
|
readonly: true,
|
|
130
134
|
id: 'a',
|
|
131
135
|
fieldId: 'a',
|
|
132
136
|
label: 'Alpha'
|
|
133
137
|
};
|
|
134
|
-
|
|
138
|
+
var CONTAINER = {
|
|
135
139
|
id: 'container',
|
|
136
140
|
fieldId: 'container',
|
|
137
141
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -139,15 +143,15 @@ describe('utils', () => {
|
|
|
139
143
|
value: FORM_DATA.container,
|
|
140
144
|
formData: FORM_DATA
|
|
141
145
|
};
|
|
142
|
-
|
|
146
|
+
var PAGE = {
|
|
143
147
|
id: 'page',
|
|
144
148
|
components: [CONTAINER],
|
|
145
149
|
formData: FORM_DATA
|
|
146
150
|
};
|
|
147
|
-
|
|
148
|
-
|
|
151
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
152
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
|
|
149
153
|
expect(ROWS.length).toEqual(1);
|
|
150
|
-
ROWS.forEach((row, index)
|
|
154
|
+
ROWS.forEach(function (row, index) {
|
|
151
155
|
(0, _setupTests.expectObjectLike)(row, {
|
|
152
156
|
pageId: PAGE.id,
|
|
153
157
|
fieldId: CONTAINER.components[index].fieldId,
|
|
@@ -158,32 +162,32 @@ describe('utils', () => {
|
|
|
158
162
|
});
|
|
159
163
|
});
|
|
160
164
|
});
|
|
161
|
-
it('Add ability to display answers from multiple fields in a single row', ()
|
|
162
|
-
|
|
165
|
+
it('Add ability to display answers from multiple fields in a single row', function () {
|
|
166
|
+
var COMPONENT_ADDRESS = {
|
|
163
167
|
id: 'firstLineOfTheAddress',
|
|
164
168
|
fieldId: 'firstLineOfTheAddress',
|
|
165
169
|
label: 'address',
|
|
166
170
|
type: 'text'
|
|
167
171
|
};
|
|
168
|
-
|
|
172
|
+
var COMPONENT_TOWN = {
|
|
169
173
|
id: 'town',
|
|
170
174
|
fieldId: 'town',
|
|
171
175
|
label: 'Town',
|
|
172
176
|
type: 'text'
|
|
173
177
|
};
|
|
174
|
-
|
|
178
|
+
var COMPONENT_CITY = {
|
|
175
179
|
id: 'city',
|
|
176
180
|
fieldId: 'city',
|
|
177
181
|
label: 'City',
|
|
178
182
|
type: 'text'
|
|
179
183
|
};
|
|
180
|
-
|
|
184
|
+
var COMPONENT_POSTCODE = {
|
|
181
185
|
id: 'postCode',
|
|
182
186
|
fieldId: 'postCode',
|
|
183
187
|
label: 'postCode',
|
|
184
188
|
type: 'text'
|
|
185
189
|
};
|
|
186
|
-
|
|
190
|
+
var PAGE = {
|
|
187
191
|
components: [COMPONENT_ADDRESS, COMPONENT_TOWN, COMPONENT_CITY, COMPONENT_POSTCODE],
|
|
188
192
|
id: 'addressDetails',
|
|
189
193
|
fieldId: 'UK address',
|
|
@@ -201,35 +205,36 @@ describe('utils', () => {
|
|
|
201
205
|
postCode: 'SW1A 2AA'
|
|
202
206
|
}
|
|
203
207
|
};
|
|
204
|
-
|
|
208
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
205
209
|
// rows do not have defined keys which means cannot pass them to render as an array,
|
|
206
210
|
// so just pass the single row instead of array containing single row
|
|
207
|
-
|
|
211
|
+
var cyaRow = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION).map(function (row) {
|
|
212
|
+
return row.value;
|
|
213
|
+
});
|
|
208
214
|
expect(cyaRow.length).toEqual(1);
|
|
209
|
-
|
|
210
|
-
container
|
|
211
|
-
} = (0, _setupTests.renderWithValidation)(cyaRow[0]);
|
|
215
|
+
var _renderWithValidation = (0, _setupTests.renderWithValidation)(cyaRow[0]),
|
|
216
|
+
container = _renderWithValidation.container;
|
|
212
217
|
expect(container.childNodes.length).toEqual(4);
|
|
213
|
-
|
|
218
|
+
var addressValues = container.childNodes;
|
|
214
219
|
expect(addressValues[0].childNodes[0].textContent).toEqual('10 Downing Street');
|
|
215
220
|
expect(addressValues[1].childNodes[0].textContent).toEqual('City of Westminster');
|
|
216
221
|
expect(addressValues[2].childNodes[0].textContent).toEqual('London');
|
|
217
222
|
expect(addressValues[3].childNodes[0].textContent).toEqual('SW1A 2AA');
|
|
218
223
|
});
|
|
219
|
-
it('should get appropriate rows for a page with a single readonly text component within a collection', ()
|
|
220
|
-
|
|
224
|
+
it('should get appropriate rows for a page with a single readonly text component within a collection', function () {
|
|
225
|
+
var FORM_DATA = {
|
|
221
226
|
collection: [{
|
|
222
227
|
a: 'Bravo'
|
|
223
228
|
}]
|
|
224
229
|
};
|
|
225
|
-
|
|
230
|
+
var COMPONENT = {
|
|
226
231
|
type: 'text',
|
|
227
232
|
readonly: true,
|
|
228
233
|
id: 'a',
|
|
229
234
|
fieldId: 'a',
|
|
230
235
|
label: 'Alpha'
|
|
231
236
|
};
|
|
232
|
-
|
|
237
|
+
var COLLECTION = {
|
|
233
238
|
id: 'collection',
|
|
234
239
|
fieldId: 'collection',
|
|
235
240
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -237,13 +242,13 @@ describe('utils', () => {
|
|
|
237
242
|
value: FORM_DATA.collection,
|
|
238
243
|
formData: FORM_DATA
|
|
239
244
|
};
|
|
240
|
-
|
|
245
|
+
var PAGE = {
|
|
241
246
|
id: 'page',
|
|
242
247
|
components: [COLLECTION],
|
|
243
248
|
formData: FORM_DATA
|
|
244
249
|
};
|
|
245
|
-
|
|
246
|
-
|
|
250
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
251
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION);
|
|
247
252
|
expect(ROWS.length).toEqual(2); // Title and item row
|
|
248
253
|
(0, _setupTests.expectObjectLike)(ROWS[1], {
|
|
249
254
|
pageId: PAGE.id,
|
|
@@ -251,27 +256,26 @@ describe('utils', () => {
|
|
|
251
256
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
252
257
|
key: COMPONENT.label,
|
|
253
258
|
action: null,
|
|
254
|
-
component: {
|
|
255
|
-
...COMPONENT,
|
|
259
|
+
component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
|
|
256
260
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
257
|
-
},
|
|
261
|
+
}),
|
|
258
262
|
value: 'Bravo'
|
|
259
263
|
});
|
|
260
264
|
});
|
|
261
|
-
it('should ignore the result of the override function if it returns nullish', ()
|
|
262
|
-
|
|
265
|
+
it('should ignore the result of the override function if it returns nullish', function () {
|
|
266
|
+
var COMPONENT_A = {
|
|
263
267
|
type: 'text',
|
|
264
268
|
id: 'a',
|
|
265
269
|
fieldId: 'a',
|
|
266
270
|
label: 'Alpha'
|
|
267
271
|
};
|
|
268
|
-
|
|
272
|
+
var COMPONENT_B = {
|
|
269
273
|
type: 'text',
|
|
270
274
|
id: 'b',
|
|
271
275
|
fieldId: 'b',
|
|
272
276
|
label: 'Bravo'
|
|
273
277
|
};
|
|
274
|
-
|
|
278
|
+
var PAGE = {
|
|
275
279
|
id: 'page',
|
|
276
280
|
components: [COMPONENT_A, COMPONENT_B],
|
|
277
281
|
formData: {
|
|
@@ -280,10 +284,12 @@ describe('utils', () => {
|
|
|
280
284
|
},
|
|
281
285
|
cya_link: {}
|
|
282
286
|
};
|
|
283
|
-
|
|
284
|
-
|
|
287
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
288
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, function () {
|
|
289
|
+
return null;
|
|
290
|
+
});
|
|
285
291
|
expect(ROWS.length).toEqual(2);
|
|
286
|
-
ROWS.forEach((row, index)
|
|
292
|
+
ROWS.forEach(function (row, index) {
|
|
287
293
|
(0, _setupTests.expectObjectLike)(row, {
|
|
288
294
|
pageId: PAGE.id,
|
|
289
295
|
fieldId: PAGE.components[index].fieldId,
|
|
@@ -296,20 +302,20 @@ describe('utils', () => {
|
|
|
296
302
|
});
|
|
297
303
|
});
|
|
298
304
|
});
|
|
299
|
-
it('should use rows produced by the override function if provided', ()
|
|
300
|
-
|
|
305
|
+
it('should use rows produced by the override function if provided', function () {
|
|
306
|
+
var COMPONENT_A = {
|
|
301
307
|
type: 'text',
|
|
302
308
|
id: 'a',
|
|
303
309
|
fieldId: 'a',
|
|
304
310
|
label: 'Alpha'
|
|
305
311
|
};
|
|
306
|
-
|
|
312
|
+
var COMPONENT_B = {
|
|
307
313
|
type: 'text',
|
|
308
314
|
id: 'b',
|
|
309
315
|
fieldId: 'b',
|
|
310
316
|
label: 'Bravo'
|
|
311
317
|
};
|
|
312
|
-
|
|
318
|
+
var PAGE = {
|
|
313
319
|
id: 'page',
|
|
314
320
|
components: [COMPONENT_A, COMPONENT_B],
|
|
315
321
|
formData: {
|
|
@@ -318,16 +324,16 @@ describe('utils', () => {
|
|
|
318
324
|
},
|
|
319
325
|
cya_link: {}
|
|
320
326
|
};
|
|
321
|
-
|
|
327
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
322
328
|
// eslint-disable-next-line arrow-body-style
|
|
323
|
-
|
|
329
|
+
var OVERRIDE = function OVERRIDE(page, comp) {
|
|
324
330
|
// This will be called for each component on the page,
|
|
325
331
|
// returning a custom row object.
|
|
326
332
|
return {
|
|
327
333
|
key: "CustomRowFor".concat(comp.label)
|
|
328
334
|
};
|
|
329
335
|
};
|
|
330
|
-
|
|
336
|
+
var ROWS = (0, _getCYARowsForPage.default)(PAGE, ON_ACTION, OVERRIDE);
|
|
331
337
|
expect(ROWS.length).toEqual(2);
|
|
332
338
|
expect(ROWS).toEqual([{
|
|
333
339
|
key: 'CustomRowForAlpha'
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Answer = _interopRequireDefault(require("../../components/CheckYourAnswers/Answer"));
|
|
9
|
+
var _SummaryListRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListRow"));
|
|
10
|
+
var _SummaryListTitleRow = _interopRequireDefault(require("../../components/SummaryList/SummaryListTitleRow"));
|
|
11
|
+
var _getCYARow = _interopRequireDefault(require("./getCYARow"));
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
+
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); } // Local imports
|
|
19
|
+
var getSummaryListRowForDetails = function getSummaryListRowForDetails(page, component, customClasses, entryData, optionalFieldPlaceholder) {
|
|
20
|
+
var modifiedPage = _objectSpread(_objectSpread({}, page), {}, {
|
|
21
|
+
formData: _objectSpread(_objectSpread({}, page.formData), entryData)
|
|
22
|
+
});
|
|
23
|
+
var row = (0, _getCYARow.default)(modifiedPage, component);
|
|
24
|
+
return component.type === 'title' ? /*#__PURE__*/_react.default.createElement(_SummaryListTitleRow.default, {
|
|
25
|
+
title: component.key,
|
|
26
|
+
classes: customClasses
|
|
27
|
+
}) : /*#__PURE__*/_react.default.createElement(_SummaryListRow.default, {
|
|
28
|
+
key: "".concat(row.fieldId),
|
|
29
|
+
row: {
|
|
30
|
+
key: row.key,
|
|
31
|
+
value: /*#__PURE__*/_react.default.createElement(_Answer.default, {
|
|
32
|
+
value: row.value || component.value,
|
|
33
|
+
component: row.component,
|
|
34
|
+
formData: modifiedPage.formData,
|
|
35
|
+
placeholder: optionalFieldPlaceholder
|
|
36
|
+
}),
|
|
37
|
+
required: row.required
|
|
38
|
+
},
|
|
39
|
+
classes: customClasses
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
var _default = exports.default = getSummaryListRowForDetails;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _getSummaryListRowForDetails = _interopRequireDefault(require("./getSummaryListRowForDetails"));
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
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); }
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
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); }
|
|
11
|
+
describe('utils.CheckYourAnswers.getSummaryListRowForDetails', function () {
|
|
12
|
+
var COMPONENT_A = {
|
|
13
|
+
type: 'text',
|
|
14
|
+
id: 'a',
|
|
15
|
+
fieldId: 'a',
|
|
16
|
+
label: 'Alpha'
|
|
17
|
+
};
|
|
18
|
+
var TITLE = {
|
|
19
|
+
type: 'title',
|
|
20
|
+
key: 'Bravo'
|
|
21
|
+
};
|
|
22
|
+
var PAGE = {
|
|
23
|
+
id: 'page',
|
|
24
|
+
components: [COMPONENT_A],
|
|
25
|
+
formData: {
|
|
26
|
+
a: 'Alpha Value'
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
it('should get a summary list row for a component', function () {
|
|
30
|
+
var row = (0, _getSummaryListRowForDetails.default)(PAGE, COMPONENT_A, null, {});
|
|
31
|
+
expect(row.props.row.key).toEqual(COMPONENT_A.label);
|
|
32
|
+
expect(row.props.row.value.props).toMatchObject({
|
|
33
|
+
component: COMPONENT_A,
|
|
34
|
+
value: PAGE.formData[COMPONENT_A.fieldId]
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
it('should get a summary list title row for a component with a type of title', function () {
|
|
38
|
+
var row = (0, _getSummaryListRowForDetails.default)(PAGE, TITLE, null, {});
|
|
39
|
+
expect(row.props.title).toEqual(TITLE.key);
|
|
40
|
+
});
|
|
41
|
+
it('should use a placeholder value for empty optional fields if one is provided', function () {
|
|
42
|
+
var CUSTOM_PAGE = _objectSpread(_objectSpread({}, PAGE), {}, {
|
|
43
|
+
components: [{
|
|
44
|
+
type: 'text',
|
|
45
|
+
fieldId: 'componentA',
|
|
46
|
+
label: 'Component A',
|
|
47
|
+
required: false
|
|
48
|
+
}]
|
|
49
|
+
});
|
|
50
|
+
var summaryListRow = (0, _getSummaryListRowForDetails.default)(CUSTOM_PAGE, CUSTOM_PAGE.components[0], null, {}, 'Not entered');
|
|
51
|
+
expect(summaryListRow.props.row.key).toEqual('Component A');
|
|
52
|
+
expect(summaryListRow.props.row.value.props).toMatchObject({
|
|
53
|
+
placeholder: 'Not entered'
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -8,7 +8,7 @@ var _getCYARowsForPage = _interopRequireDefault(require("./getCYARowsForPage"));
|
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
// Local imports
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
var CheckYourAnswers = {
|
|
12
12
|
getRows: _getCYARowsForPage.default
|
|
13
13
|
};
|
|
14
14
|
var _default = exports.default = CheckYourAnswers;
|
|
@@ -11,7 +11,7 @@ var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
// Local imports
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALERT, _models.ComponentTypes.COLLECTION_SUMMARY, _models.ComponentTypes.DETAILS, _models.ComponentTypes.HEADING, _models.ComponentTypes.HTML, _models.ComponentTypes.INSET_TEXT];
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Determines whether a given component should display on the Check your answers screen.
|
|
@@ -21,7 +21,7 @@ const EXCLUDE_FROM_CYA = exports.EXCLUDE_FROM_CYA = [_models.ComponentTypes.ALER
|
|
|
21
21
|
*
|
|
22
22
|
* @returns A boolean true if the component should show; otherwise false.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
var showComponentCYA = function showComponentCYA(options, data) {
|
|
25
25
|
if (!options) {
|
|
26
26
|
return false;
|
|
27
27
|
}
|
|
@@ -33,12 +33,12 @@ const showComponentCYA = (options, data) => {
|
|
|
33
33
|
}
|
|
34
34
|
if (options.hideOnCyaWhenEmpty) {
|
|
35
35
|
if (options.type === _models.ComponentTypes.COLLECTION) {
|
|
36
|
-
|
|
36
|
+
var itemCollectionsData = (0, _getSourceData.default)(data, options.full_path || options.fieldId);
|
|
37
37
|
if (!(itemCollectionsData !== null && itemCollectionsData !== void 0 && itemCollectionsData.length)) {
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
40
|
} else {
|
|
41
|
-
|
|
41
|
+
var value = (0, _getSourceData.default)(data, options.fieldId);
|
|
42
42
|
if (!value && value !== false && value !== 0) {
|
|
43
43
|
return false;
|
|
44
44
|
}
|