@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -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 +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -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 +72 -69
- 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 +80 -65
- 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 +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -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 +39 -43
- 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/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 +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -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/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -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/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 +9 -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 +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +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/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
|
@@ -10,41 +10,36 @@ var _getCYARow = _interopRequireDefault(require("./getCYARow"));
|
|
|
10
10
|
var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
|
|
11
11
|
var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})
|
|
25
|
-
|
|
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 getCYARowsForContainer = function getCYARowsForContainer(page, container, formData, onAction, fnOverride) {
|
|
20
|
+
if ((0, _showComponentCYA.default)(container, _objectSpread(_objectSpread({}, page.formData), formData))) {
|
|
21
|
+
var allComponents = (0, _elevateNestedComponents.default)(container.components, formData);
|
|
22
|
+
return allComponents.filter(function (c) {
|
|
23
|
+
return (0, _showComponentCYA.default)(c, _objectSpread(_objectSpread({}, page.formData), formData));
|
|
24
|
+
}).flatMap(function (component) {
|
|
25
|
+
var fd = formData ? formData[component.fieldId] : undefined;
|
|
26
26
|
if (typeof fnOverride === 'function') {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}, component, onAction);
|
|
27
|
+
var overrideRows = fnOverride(_objectSpread(_objectSpread({}, page), {}, {
|
|
28
|
+
formData: formData
|
|
29
|
+
}), component, onAction);
|
|
31
30
|
if (overrideRows) {
|
|
32
31
|
return overrideRows;
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
36
|
-
return getCYARowsForContainer(page, component, {
|
|
37
|
-
...fd,
|
|
38
|
-
...formData
|
|
39
|
-
}, onAction, fnOverride);
|
|
35
|
+
return getCYARowsForContainer(page, component, _objectSpread(_objectSpread({}, fd), formData), onAction, fnOverride);
|
|
40
36
|
}
|
|
41
37
|
if (component.type === _models.ComponentTypes.COLLECTION) {
|
|
42
38
|
return (0, _getCYARowsForCollection.default)(page, component, fd, onAction, fnOverride);
|
|
43
39
|
}
|
|
44
|
-
return (0, _getCYARow.default)({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}, component, onAction);
|
|
40
|
+
return (0, _getCYARow.default)(_objectSpread(_objectSpread({}, page), {}, {
|
|
41
|
+
formData: formData
|
|
42
|
+
}), component, onAction);
|
|
48
43
|
});
|
|
49
44
|
}
|
|
50
45
|
return null;
|
|
@@ -4,30 +4,32 @@ var _models = require("../../models");
|
|
|
4
4
|
var _setupTests = require("../../setupTests");
|
|
5
5
|
var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForContainer"));
|
|
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 _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); } // Local imports
|
|
11
|
+
describe('utils.CheckYourAnswers.getCYARowsForContainer', function () {
|
|
12
|
+
var OUTER_ID = 'a';
|
|
13
|
+
var INNER_ID = 'b';
|
|
14
|
+
it('should get an appropriate row for a container with a single readonly text component', function () {
|
|
15
|
+
var FORM_DATA = {
|
|
14
16
|
container: {
|
|
15
17
|
a: 'Bravo'
|
|
16
18
|
}
|
|
17
19
|
};
|
|
18
|
-
|
|
20
|
+
var PAGE = {
|
|
19
21
|
id: 'page',
|
|
20
22
|
formData: FORM_DATA,
|
|
21
23
|
cya_link: {}
|
|
22
24
|
};
|
|
23
|
-
|
|
25
|
+
var COMPONENT = {
|
|
24
26
|
type: 'text',
|
|
25
27
|
readonly: true,
|
|
26
28
|
id: 'a',
|
|
27
29
|
fieldId: 'a',
|
|
28
30
|
label: 'Alpha'
|
|
29
31
|
};
|
|
30
|
-
|
|
32
|
+
var CONTAINER = {
|
|
31
33
|
id: 'container',
|
|
32
34
|
fieldId: 'container',
|
|
33
35
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -35,10 +37,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
35
37
|
value: FORM_DATA.container,
|
|
36
38
|
formData: FORM_DATA
|
|
37
39
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
41
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
|
|
40
42
|
expect(ROWS.length).toEqual(1);
|
|
41
|
-
ROWS.forEach((row, index)
|
|
43
|
+
ROWS.forEach(function (row, index) {
|
|
42
44
|
(0, _setupTests.expectObjectLike)(row, {
|
|
43
45
|
pageId: PAGE.id,
|
|
44
46
|
fieldId: CONTAINER.components[index].fieldId,
|
|
@@ -49,31 +51,31 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
49
51
|
});
|
|
50
52
|
});
|
|
51
53
|
});
|
|
52
|
-
it('should get appropriate rows for a container with two editable text components', ()
|
|
53
|
-
|
|
54
|
+
it('should get appropriate rows for a container with two editable text components', function () {
|
|
55
|
+
var FORM_DATA = {
|
|
54
56
|
container: {
|
|
55
57
|
a: 'Alpha Charlie',
|
|
56
58
|
b: 'Bravo Charlie'
|
|
57
59
|
}
|
|
58
60
|
};
|
|
59
|
-
|
|
61
|
+
var PAGE = {
|
|
60
62
|
id: 'page',
|
|
61
63
|
formData: FORM_DATA,
|
|
62
64
|
cya_link: {}
|
|
63
65
|
};
|
|
64
|
-
|
|
66
|
+
var COMPONENT_A = {
|
|
65
67
|
type: 'text',
|
|
66
68
|
id: 'a',
|
|
67
69
|
fieldId: 'a',
|
|
68
70
|
label: 'Alpha'
|
|
69
71
|
};
|
|
70
|
-
|
|
72
|
+
var COMPONENT_B = {
|
|
71
73
|
type: 'text',
|
|
72
74
|
id: 'b',
|
|
73
75
|
fieldId: 'b',
|
|
74
76
|
label: 'Bravo'
|
|
75
77
|
};
|
|
76
|
-
|
|
78
|
+
var CONTAINER = {
|
|
77
79
|
id: 'container',
|
|
78
80
|
fieldId: 'container',
|
|
79
81
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -81,10 +83,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
81
83
|
value: FORM_DATA.container,
|
|
82
84
|
formData: FORM_DATA
|
|
83
85
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
87
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
|
|
86
88
|
expect(ROWS.length).toEqual(2);
|
|
87
|
-
ROWS.forEach((row, index)
|
|
89
|
+
ROWS.forEach(function (row, index) {
|
|
88
90
|
(0, _setupTests.expectObjectLike)(row, {
|
|
89
91
|
pageId: PAGE.id,
|
|
90
92
|
fieldId: CONTAINER.components[index].fieldId,
|
|
@@ -97,35 +99,35 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
97
99
|
});
|
|
98
100
|
});
|
|
99
101
|
});
|
|
100
|
-
it("should filter out any components that shouldn't be shown", ()
|
|
101
|
-
|
|
102
|
+
it("should filter out any components that shouldn't be shown", function () {
|
|
103
|
+
var FORM_DATA = {
|
|
102
104
|
container: {
|
|
103
105
|
a: 'Alpha Charlie',
|
|
104
106
|
b: 'Bravo Charlie'
|
|
105
107
|
}
|
|
106
108
|
};
|
|
107
|
-
|
|
109
|
+
var PAGE = {
|
|
108
110
|
id: 'page',
|
|
109
111
|
formData: FORM_DATA,
|
|
110
112
|
cya_link: {}
|
|
111
113
|
};
|
|
112
|
-
|
|
114
|
+
var COMPONENT_A = {
|
|
113
115
|
type: 'text',
|
|
114
116
|
id: 'a',
|
|
115
117
|
fieldId: 'a',
|
|
116
118
|
label: 'Alpha'
|
|
117
119
|
};
|
|
118
|
-
|
|
120
|
+
var COMPONENT_B = {
|
|
119
121
|
type: 'text',
|
|
120
122
|
id: 'b',
|
|
121
123
|
fieldId: 'b',
|
|
122
124
|
label: 'Bravo'
|
|
123
125
|
};
|
|
124
|
-
|
|
126
|
+
var COMPONENT_C = {
|
|
125
127
|
type: 'heading',
|
|
126
128
|
content: 'Heading component'
|
|
127
129
|
};
|
|
128
|
-
|
|
130
|
+
var CONTAINER = {
|
|
129
131
|
id: 'container',
|
|
130
132
|
fieldId: 'container',
|
|
131
133
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -133,10 +135,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
133
135
|
value: FORM_DATA.container,
|
|
134
136
|
formData: FORM_DATA
|
|
135
137
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
139
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
|
|
138
140
|
expect(ROWS.length).toEqual(2);
|
|
139
|
-
ROWS.forEach((row, index)
|
|
141
|
+
ROWS.forEach(function (row, index) {
|
|
140
142
|
(0, _setupTests.expectObjectLike)(row, {
|
|
141
143
|
pageId: PAGE.id,
|
|
142
144
|
fieldId: CONTAINER.components[index].fieldId,
|
|
@@ -149,27 +151,27 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
149
151
|
});
|
|
150
152
|
});
|
|
151
153
|
});
|
|
152
|
-
it('should get an appropriate row for a container with a single readonly text component inside a nested container', ()
|
|
153
|
-
|
|
154
|
+
it('should get an appropriate row for a container with a single readonly text component inside a nested container', function () {
|
|
155
|
+
var FORM_DATA = {
|
|
154
156
|
container: {
|
|
155
157
|
nested: {
|
|
156
158
|
a: 'Bravo'
|
|
157
159
|
}
|
|
158
160
|
}
|
|
159
161
|
};
|
|
160
|
-
|
|
162
|
+
var PAGE = {
|
|
161
163
|
id: 'page',
|
|
162
164
|
formData: FORM_DATA,
|
|
163
165
|
cya_link: {}
|
|
164
166
|
};
|
|
165
|
-
|
|
167
|
+
var COMPONENT = {
|
|
166
168
|
type: 'text',
|
|
167
169
|
readonly: true,
|
|
168
170
|
id: 'a',
|
|
169
171
|
fieldId: 'a',
|
|
170
172
|
label: 'Alpha'
|
|
171
173
|
};
|
|
172
|
-
|
|
174
|
+
var NESTED_CONTAINER = {
|
|
173
175
|
id: 'nested',
|
|
174
176
|
fieldId: 'nested',
|
|
175
177
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -177,7 +179,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
177
179
|
value: FORM_DATA.container.nested,
|
|
178
180
|
formData: FORM_DATA
|
|
179
181
|
};
|
|
180
|
-
|
|
182
|
+
var CONTAINER = {
|
|
181
183
|
id: 'container',
|
|
182
184
|
fieldId: 'container',
|
|
183
185
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -185,10 +187,10 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
185
187
|
value: FORM_DATA.container,
|
|
186
188
|
formData: FORM_DATA
|
|
187
189
|
};
|
|
188
|
-
|
|
189
|
-
|
|
190
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
191
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
|
|
190
192
|
expect(ROWS.length).toEqual(1);
|
|
191
|
-
ROWS.forEach((row, index)
|
|
193
|
+
ROWS.forEach(function (row, index) {
|
|
192
194
|
(0, _setupTests.expectObjectLike)(row, {
|
|
193
195
|
pageId: PAGE.id,
|
|
194
196
|
fieldId: NESTED_CONTAINER.components[index].fieldId,
|
|
@@ -199,36 +201,36 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
199
201
|
});
|
|
200
202
|
});
|
|
201
203
|
});
|
|
202
|
-
it('should get an appropriate row for a container with a single readonly text component inside a nested container but no formData', ()
|
|
203
|
-
|
|
204
|
-
|
|
204
|
+
it('should get an appropriate row for a container with a single readonly text component inside a nested container but no formData', function () {
|
|
205
|
+
var FORM_DATA = undefined;
|
|
206
|
+
var PAGE = {
|
|
205
207
|
id: 'page',
|
|
206
208
|
formData: FORM_DATA,
|
|
207
209
|
cya_link: {}
|
|
208
210
|
};
|
|
209
|
-
|
|
211
|
+
var COMPONENT = {
|
|
210
212
|
type: 'text',
|
|
211
213
|
readonly: true,
|
|
212
214
|
id: 'a',
|
|
213
215
|
fieldId: 'a',
|
|
214
216
|
label: 'Alpha'
|
|
215
217
|
};
|
|
216
|
-
|
|
218
|
+
var NESTED_CONTAINER = {
|
|
217
219
|
id: 'nested',
|
|
218
220
|
fieldId: 'nested',
|
|
219
221
|
type: _models.ComponentTypes.CONTAINER,
|
|
220
222
|
components: [COMPONENT]
|
|
221
223
|
};
|
|
222
|
-
|
|
224
|
+
var CONTAINER = {
|
|
223
225
|
id: 'container',
|
|
224
226
|
fieldId: 'container',
|
|
225
227
|
type: _models.ComponentTypes.CONTAINER,
|
|
226
228
|
components: [NESTED_CONTAINER]
|
|
227
229
|
};
|
|
228
|
-
|
|
229
|
-
|
|
230
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
231
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, undefined, ON_ACTION);
|
|
230
232
|
expect(ROWS.length).toEqual(1);
|
|
231
|
-
ROWS.forEach((row, index)
|
|
233
|
+
ROWS.forEach(function (row, index) {
|
|
232
234
|
(0, _setupTests.expectObjectLike)(row, {
|
|
233
235
|
pageId: PAGE.id,
|
|
234
236
|
fieldId: NESTED_CONTAINER.components[index].fieldId,
|
|
@@ -239,21 +241,15 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
239
241
|
});
|
|
240
242
|
});
|
|
241
243
|
});
|
|
242
|
-
it('should get an appropriate row for a collection with a single text component inside a container', ()
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
[INNER_ID]: 'Bravo'
|
|
246
|
-
}, {
|
|
247
|
-
[INNER_ID]: 'Charlie'
|
|
248
|
-
}]
|
|
249
|
-
};
|
|
250
|
-
const PAGE = {
|
|
244
|
+
it('should get an appropriate row for a collection with a single text component inside a container', function () {
|
|
245
|
+
var FORM_DATA = _defineProperty({}, OUTER_ID, [_defineProperty({}, INNER_ID, 'Bravo'), _defineProperty({}, INNER_ID, 'Charlie')]);
|
|
246
|
+
var PAGE = {
|
|
251
247
|
id: 'page',
|
|
252
248
|
formData: FORM_DATA,
|
|
253
249
|
cya_link: {},
|
|
254
250
|
collection: 'collectionName'
|
|
255
251
|
};
|
|
256
|
-
|
|
252
|
+
var COLLECTION_COMPONENT = {
|
|
257
253
|
type: 'collection',
|
|
258
254
|
id: OUTER_ID,
|
|
259
255
|
fieldId: OUTER_ID,
|
|
@@ -265,7 +261,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
265
261
|
type: 'text'
|
|
266
262
|
}]
|
|
267
263
|
};
|
|
268
|
-
|
|
264
|
+
var CONTAINER = {
|
|
269
265
|
id: 'container',
|
|
270
266
|
fieldId: 'container',
|
|
271
267
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -273,9 +269,9 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
273
269
|
value: FORM_DATA.container,
|
|
274
270
|
formData: FORM_DATA
|
|
275
271
|
};
|
|
276
|
-
|
|
272
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA, function () {});
|
|
277
273
|
expect(ROWS.length).toEqual(4);
|
|
278
|
-
|
|
274
|
+
var checkTitleRow = function checkTitleRow(index, row) {
|
|
279
275
|
expect(row).toEqual({
|
|
280
276
|
pageId: PAGE.id,
|
|
281
277
|
fieldId: CONTAINER.components[0].fieldId,
|
|
@@ -285,7 +281,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
285
281
|
type: 'title'
|
|
286
282
|
});
|
|
287
283
|
};
|
|
288
|
-
|
|
284
|
+
var checkValueRow = function checkValueRow(index, row, value) {
|
|
289
285
|
(0, _setupTests.expectObjectLike)(row, {
|
|
290
286
|
pageId: PAGE.id,
|
|
291
287
|
fieldId: INNER_ID,
|
|
@@ -298,7 +294,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
298
294
|
label: INNER_ID,
|
|
299
295
|
type: 'text'
|
|
300
296
|
},
|
|
301
|
-
value,
|
|
297
|
+
value: value,
|
|
302
298
|
full_path: "".concat(OUTER_ID, "[").concat(index, "].").concat(INNER_ID)
|
|
303
299
|
});
|
|
304
300
|
};
|
|
@@ -307,27 +303,23 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
307
303
|
checkTitleRow(1, ROWS[2]);
|
|
308
304
|
checkValueRow(1, ROWS[3], 'Charlie');
|
|
309
305
|
});
|
|
310
|
-
it('should conditionally show an appropriate row for a single text component inside a container belonging to a partial-collection', ()
|
|
311
|
-
|
|
306
|
+
it('should conditionally show an appropriate row for a single text component inside a container belonging to a partial-collection', function () {
|
|
307
|
+
var FORM_DATA = {
|
|
312
308
|
collectionName: [{
|
|
313
|
-
container: {
|
|
314
|
-
[INNER_ID]: 'Bravo'
|
|
315
|
-
},
|
|
309
|
+
container: _defineProperty({}, INNER_ID, 'Bravo'),
|
|
316
310
|
other_data: true
|
|
317
311
|
}, {
|
|
318
|
-
container: {
|
|
319
|
-
[INNER_ID]: 'Charlie'
|
|
320
|
-
},
|
|
312
|
+
container: _defineProperty({}, INNER_ID, 'Charlie'),
|
|
321
313
|
other_data: false
|
|
322
314
|
}]
|
|
323
315
|
};
|
|
324
|
-
|
|
316
|
+
var PAGE = {
|
|
325
317
|
id: 'page',
|
|
326
318
|
formData: FORM_DATA,
|
|
327
319
|
cya_link: {},
|
|
328
320
|
collection: 'collectionName'
|
|
329
321
|
};
|
|
330
|
-
|
|
322
|
+
var CONTAINER = {
|
|
331
323
|
id: 'container',
|
|
332
324
|
fieldId: 'container',
|
|
333
325
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -344,27 +336,27 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
344
336
|
value: true
|
|
345
337
|
}
|
|
346
338
|
};
|
|
347
|
-
expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[0], ()
|
|
348
|
-
expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[1], ()
|
|
339
|
+
expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[0], function () {}).length).toEqual(1);
|
|
340
|
+
expect((0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.collectionName[1], function () {})).toBeFalsy();
|
|
349
341
|
});
|
|
350
|
-
it('should get the appropriate number for rows components with nested components inside a container', ()
|
|
351
|
-
|
|
342
|
+
it('should get the appropriate number for rows components with nested components inside a container', function () {
|
|
343
|
+
var FORM_DATA = {
|
|
352
344
|
container: {
|
|
353
345
|
a: 'B',
|
|
354
346
|
nested: 'Bravo'
|
|
355
347
|
}
|
|
356
348
|
};
|
|
357
|
-
|
|
349
|
+
var PAGE = {
|
|
358
350
|
id: 'page',
|
|
359
351
|
formData: FORM_DATA,
|
|
360
352
|
cya_link: {}
|
|
361
353
|
};
|
|
362
|
-
|
|
354
|
+
var NESTED_COMPONENT = {
|
|
363
355
|
id: 'nested',
|
|
364
356
|
fieldId: 'nested',
|
|
365
357
|
type: _models.ComponentTypes.TEXT
|
|
366
358
|
};
|
|
367
|
-
|
|
359
|
+
var COMPONENT = {
|
|
368
360
|
type: 'radios',
|
|
369
361
|
id: 'a',
|
|
370
362
|
fieldId: 'a',
|
|
@@ -380,7 +372,7 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
380
372
|
}]
|
|
381
373
|
}
|
|
382
374
|
};
|
|
383
|
-
|
|
375
|
+
var CONTAINER = {
|
|
384
376
|
id: 'container',
|
|
385
377
|
fieldId: 'container',
|
|
386
378
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -388,35 +380,35 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
388
380
|
value: FORM_DATA.container,
|
|
389
381
|
formData: FORM_DATA
|
|
390
382
|
};
|
|
391
|
-
|
|
392
|
-
|
|
383
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
384
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION);
|
|
393
385
|
expect(ROWS.length).toEqual(2);
|
|
394
386
|
});
|
|
395
|
-
it('should ignore the result of the override function if it returns nullish', ()
|
|
396
|
-
|
|
387
|
+
it('should ignore the result of the override function if it returns nullish', function () {
|
|
388
|
+
var FORM_DATA = {
|
|
397
389
|
container: {
|
|
398
390
|
a: 'Alpha Charlie',
|
|
399
391
|
b: 'Bravo Charlie'
|
|
400
392
|
}
|
|
401
393
|
};
|
|
402
|
-
|
|
394
|
+
var PAGE = {
|
|
403
395
|
id: 'page',
|
|
404
396
|
formData: FORM_DATA,
|
|
405
397
|
cya_link: {}
|
|
406
398
|
};
|
|
407
|
-
|
|
399
|
+
var COMPONENT_A = {
|
|
408
400
|
type: 'text',
|
|
409
401
|
id: 'a',
|
|
410
402
|
fieldId: 'a',
|
|
411
403
|
label: 'Alpha'
|
|
412
404
|
};
|
|
413
|
-
|
|
405
|
+
var COMPONENT_B = {
|
|
414
406
|
type: 'text',
|
|
415
407
|
id: 'b',
|
|
416
408
|
fieldId: 'b',
|
|
417
409
|
label: 'Bravo'
|
|
418
410
|
};
|
|
419
|
-
|
|
411
|
+
var CONTAINER = {
|
|
420
412
|
id: 'container',
|
|
421
413
|
fieldId: 'container',
|
|
422
414
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -424,10 +416,12 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
424
416
|
value: FORM_DATA.container,
|
|
425
417
|
formData: FORM_DATA
|
|
426
418
|
};
|
|
427
|
-
|
|
428
|
-
|
|
419
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
420
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, function () {
|
|
421
|
+
return null;
|
|
422
|
+
});
|
|
429
423
|
expect(ROWS.length).toEqual(2);
|
|
430
|
-
ROWS.forEach((row, index)
|
|
424
|
+
ROWS.forEach(function (row, index) {
|
|
431
425
|
(0, _setupTests.expectObjectLike)(row, {
|
|
432
426
|
pageId: PAGE.id,
|
|
433
427
|
fieldId: CONTAINER.components[index].fieldId,
|
|
@@ -440,31 +434,31 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
440
434
|
});
|
|
441
435
|
});
|
|
442
436
|
});
|
|
443
|
-
it('should use rows produced by the override function if provided', ()
|
|
444
|
-
|
|
437
|
+
it('should use rows produced by the override function if provided', function () {
|
|
438
|
+
var FORM_DATA = {
|
|
445
439
|
container: {
|
|
446
440
|
a: 'Alpha Charlie',
|
|
447
441
|
b: 'Bravo Charlie'
|
|
448
442
|
}
|
|
449
443
|
};
|
|
450
|
-
|
|
444
|
+
var PAGE = {
|
|
451
445
|
id: 'page',
|
|
452
446
|
formData: FORM_DATA,
|
|
453
447
|
cya_link: {}
|
|
454
448
|
};
|
|
455
|
-
|
|
449
|
+
var COMPONENT_A = {
|
|
456
450
|
type: 'text',
|
|
457
451
|
id: 'a',
|
|
458
452
|
fieldId: 'a',
|
|
459
453
|
label: 'Alpha'
|
|
460
454
|
};
|
|
461
|
-
|
|
455
|
+
var COMPONENT_B = {
|
|
462
456
|
type: 'text',
|
|
463
457
|
id: 'b',
|
|
464
458
|
fieldId: 'b',
|
|
465
459
|
label: 'Bravo'
|
|
466
460
|
};
|
|
467
|
-
|
|
461
|
+
var CONTAINER = {
|
|
468
462
|
id: 'container',
|
|
469
463
|
fieldId: 'container',
|
|
470
464
|
type: _models.ComponentTypes.CONTAINER,
|
|
@@ -472,16 +466,16 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', () => {
|
|
|
472
466
|
value: FORM_DATA.container,
|
|
473
467
|
formData: FORM_DATA
|
|
474
468
|
};
|
|
475
|
-
|
|
469
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
476
470
|
// eslint-disable-next-line arrow-body-style
|
|
477
|
-
|
|
471
|
+
var OVERRIDE = function OVERRIDE(page, comp) {
|
|
478
472
|
// This will be called for each component in the container,
|
|
479
473
|
// returning a custom row object.
|
|
480
474
|
return {
|
|
481
475
|
key: "CustomRowFor".concat(comp.label)
|
|
482
476
|
};
|
|
483
477
|
};
|
|
484
|
-
|
|
478
|
+
var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA.container, ON_ACTION, OVERRIDE);
|
|
485
479
|
expect(ROWS.length).toEqual(2);
|
|
486
480
|
expect(ROWS).toEqual([{
|
|
487
481
|
key: 'CustomRowForAlpha'
|
|
@@ -9,7 +9,7 @@ var _models = require("../../models");
|
|
|
9
9
|
var _FormPage = _interopRequireDefault(require("../FormPage"));
|
|
10
10
|
var _getCYARow = _interopRequireDefault(require("./getCYARow"));
|
|
11
11
|
var _getCYARowsForCollectionPage = _interopRequireDefault(require("./getCYARowsForCollectionPage"));
|
|
12
|
-
var
|
|
12
|
+
var _getCYARowForGroup2 = _interopRequireDefault(require("./getCYARowForGroup"));
|
|
13
13
|
var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
|
|
14
14
|
var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForContainer"));
|
|
15
15
|
var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
|
|
@@ -25,17 +25,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
25
25
|
*
|
|
26
26
|
* @returns An array of configuration objects for Check your answers rows.
|
|
27
27
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
var getCYARowsForPage = function getCYARowsForPage(page, onAction) {
|
|
29
|
+
var fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
30
30
|
if (_FormPage.default.showCYA(page, page.formData)) {
|
|
31
31
|
var _page$groups;
|
|
32
32
|
if (page.collection) {
|
|
33
33
|
return (0, _getCYARowsForCollectionPage.default)(page, onAction, fnOverride, page.formData);
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
var allComponents = (0, _elevateNestedComponents.default)(page.components, page.formData);
|
|
36
|
+
var rows = allComponents.filter(function (c) {
|
|
37
|
+
return (0, _showComponentCYA.default)(c, page.formData);
|
|
38
|
+
}).flatMap(function (component) {
|
|
37
39
|
if (typeof fnOverride === 'function') {
|
|
38
|
-
|
|
40
|
+
var overrideRows = fnOverride(page, component, onAction);
|
|
39
41
|
if (overrideRows) {
|
|
40
42
|
return overrideRows;
|
|
41
43
|
}
|
|
@@ -50,19 +52,22 @@ const getCYARowsForPage = function (page, onAction) {
|
|
|
50
52
|
}
|
|
51
53
|
});
|
|
52
54
|
if (((_page$groups = page.groups) === null || _page$groups === void 0 ? void 0 : _page$groups.length) > 0) {
|
|
53
|
-
page.groups.forEach(group
|
|
54
|
-
|
|
55
|
-
row,
|
|
56
|
-
insertAt
|
|
57
|
-
} = (0, _getCYARowForGroup.default)(page, group, rows, onAction);
|
|
55
|
+
page.groups.forEach(function (group) {
|
|
56
|
+
var _getCYARowForGroup = (0, _getCYARowForGroup2.default)(page, group, rows, onAction),
|
|
57
|
+
row = _getCYARowForGroup.row,
|
|
58
|
+
insertAt = _getCYARowForGroup.insertAt;
|
|
58
59
|
if (insertAt > -1) {
|
|
59
60
|
rows.splice(insertAt, 0, row);
|
|
60
61
|
} else {
|
|
61
62
|
rows.push(row);
|
|
62
63
|
}
|
|
63
64
|
});
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
var allReplacedIds = page.groups.flatMap(function (g) {
|
|
66
|
+
return g.components;
|
|
67
|
+
});
|
|
68
|
+
return rows.filter(function (r) {
|
|
69
|
+
return !allReplacedIds.includes(r.id);
|
|
70
|
+
});
|
|
66
71
|
}
|
|
67
72
|
return rows;
|
|
68
73
|
}
|