@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +72 -63
- package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getFormPages = _interopRequireDefault(require("./getFormPages"));
|
|
4
|
-
function _interopRequireDefault(
|
|
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); }
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
5
|
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
6
|
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(
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
11
|
-
describe('utils',
|
|
12
|
-
describe('FormPage',
|
|
13
|
-
describe('getFormPages',
|
|
14
|
-
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
|
|
10
|
+
describe('utils', () => {
|
|
11
|
+
describe('FormPage', () => {
|
|
12
|
+
describe('getFormPages', () => {
|
|
13
|
+
const FORM_COMPONENTS = [{
|
|
15
14
|
id: 'a',
|
|
16
15
|
fieldId: 'a',
|
|
17
16
|
label: 'Alpha',
|
|
@@ -32,17 +31,17 @@ describe('utils', function () {
|
|
|
32
31
|
url: '${urls.refData}/v3/charlies'
|
|
33
32
|
}
|
|
34
33
|
}];
|
|
35
|
-
|
|
34
|
+
const FORM_DATA = {
|
|
36
35
|
urls: {
|
|
37
36
|
refData: 'https://ho.gov.uk/ref-data/'
|
|
38
37
|
}
|
|
39
38
|
};
|
|
40
|
-
it('should handle null or undefined pageOptions',
|
|
39
|
+
it('should handle null or undefined pageOptions', () => {
|
|
41
40
|
expect((0, _getFormPages.default)(null, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
|
|
42
41
|
expect((0, _getFormPages.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
|
|
43
42
|
});
|
|
44
|
-
it('should appropriately set up multiples pages with various configurations',
|
|
45
|
-
|
|
43
|
+
it('should appropriately set up multiples pages with various configurations', () => {
|
|
44
|
+
const PAGE_1 = {
|
|
46
45
|
title: 'Page 1',
|
|
47
46
|
components: [{
|
|
48
47
|
type: 'heading',
|
|
@@ -50,7 +49,7 @@ describe('utils', function () {
|
|
|
50
49
|
content: 'Page heading'
|
|
51
50
|
}]
|
|
52
51
|
};
|
|
53
|
-
|
|
52
|
+
const PAGE_2 = {
|
|
54
53
|
title: 'Page 2',
|
|
55
54
|
components: ["Opening paragraph", {
|
|
56
55
|
type: 'heading',
|
|
@@ -60,8 +59,8 @@ describe('utils', function () {
|
|
|
60
59
|
use: 'c'
|
|
61
60
|
}]
|
|
62
61
|
};
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
const PAGES = [PAGE_1, PAGE_2];
|
|
63
|
+
const C = FORM_COMPONENTS[2];
|
|
65
64
|
expect((0, _getFormPages.default)(PAGES, FORM_COMPONENTS, FORM_DATA)).toEqual([{
|
|
66
65
|
index: 0,
|
|
67
66
|
title: PAGE_1.title,
|
|
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
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); }
|
|
9
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; }
|
|
10
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; }
|
|
11
|
-
function _defineProperty(
|
|
12
|
-
function _toPropertyKey(
|
|
13
|
-
function _toPrimitive(
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
+
const standardiseAction = obj => {
|
|
14
|
+
const action = _objectSpread({}, obj);
|
|
16
15
|
// This is in place for backwards compatibility with version 1.
|
|
17
16
|
if (!action.page) {
|
|
18
17
|
if (action.href) {
|
|
@@ -35,15 +34,15 @@ var standardiseAction = function standardiseAction(obj) {
|
|
|
35
34
|
* will convert both by taking the final part of the relative path:
|
|
36
35
|
* - `href: '/bravo'` => `page: 'bravo'`
|
|
37
36
|
*/
|
|
38
|
-
|
|
37
|
+
const getPageActions = page => {
|
|
39
38
|
if (page && Array.isArray(page.actions)) {
|
|
40
|
-
return page.actions.map(
|
|
39
|
+
return page.actions.map(a => {
|
|
41
40
|
if (typeof a === 'string') {
|
|
42
41
|
return _models.PageAction.DEFAULTS[a];
|
|
43
42
|
}
|
|
44
|
-
if (a &&
|
|
43
|
+
if (a && typeof a === 'object') {
|
|
45
44
|
var _PageAction$DEFAULTS$;
|
|
46
|
-
|
|
45
|
+
const object = a;
|
|
47
46
|
// eslint-disable-next-line no-prototype-builtins
|
|
48
47
|
if ((_PageAction$DEFAULTS$ = _models.PageAction.DEFAULTS[object.type]) !== null && _PageAction$DEFAULTS$ !== void 0 && _PageAction$DEFAULTS$.validate && !object.hasOwnProperty('validate')) {
|
|
49
48
|
object.validate = true;
|
|
@@ -51,9 +50,7 @@ var getPageActions = function getPageActions(page) {
|
|
|
51
50
|
return standardiseAction(object);
|
|
52
51
|
}
|
|
53
52
|
return undefined;
|
|
54
|
-
}).filter(
|
|
55
|
-
return !!a;
|
|
56
|
-
});
|
|
53
|
+
}).filter(a => !!a);
|
|
57
54
|
}
|
|
58
55
|
return undefined;
|
|
59
56
|
};
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../models");
|
|
4
4
|
var _getPageActions = _interopRequireDefault(require("./getPageActions"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('utils',
|
|
9
|
-
describe('FormPage',
|
|
10
|
-
describe('getPageActions',
|
|
11
|
-
it('should handle a null or undefined page',
|
|
8
|
+
describe('utils', () => {
|
|
9
|
+
describe('FormPage', () => {
|
|
10
|
+
describe('getPageActions', () => {
|
|
11
|
+
it('should handle a null or undefined page', () => {
|
|
12
12
|
expect((0, _getPageActions.default)(null)).toBeUndefined();
|
|
13
13
|
expect((0, _getPageActions.default)(undefined)).toBeUndefined();
|
|
14
14
|
});
|
|
15
|
-
it('should handle a null or undefined actions array',
|
|
15
|
+
it('should handle a null or undefined actions array', () => {
|
|
16
16
|
expect((0, _getPageActions.default)({
|
|
17
17
|
actions: null
|
|
18
18
|
})).toBeUndefined();
|
|
@@ -20,89 +20,89 @@ describe('utils', function () {
|
|
|
20
20
|
actions: undefined
|
|
21
21
|
})).toBeUndefined();
|
|
22
22
|
});
|
|
23
|
-
it('should handle an array of strings',
|
|
24
|
-
|
|
23
|
+
it('should handle an array of strings', () => {
|
|
24
|
+
const actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
|
|
25
25
|
expect((0, _getPageActions.default)({
|
|
26
|
-
actions
|
|
26
|
+
actions
|
|
27
27
|
})).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
|
|
28
28
|
});
|
|
29
|
-
it('should handle a null entry in the array',
|
|
30
|
-
|
|
29
|
+
it('should handle a null entry in the array', () => {
|
|
30
|
+
const actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN, null];
|
|
31
31
|
expect((0, _getPageActions.default)({
|
|
32
|
-
actions
|
|
32
|
+
actions
|
|
33
33
|
})).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
|
|
34
34
|
});
|
|
35
|
-
it('should handle an undefined entry in the array',
|
|
36
|
-
|
|
35
|
+
it('should handle an undefined entry in the array', () => {
|
|
36
|
+
const actions = [undefined, _models.PageAction.TYPES.SAVE_AND_CONTINUE, undefined, _models.PageAction.TYPES.SAVE_AND_RETURN];
|
|
37
37
|
expect((0, _getPageActions.default)({
|
|
38
|
-
actions
|
|
38
|
+
actions
|
|
39
39
|
})).toEqual([_models.PageAction.DEFAULTS.saveAndContinue, _models.PageAction.DEFAULTS.saveAndReturn]);
|
|
40
40
|
});
|
|
41
|
-
it('should handle an object entry in the array',
|
|
42
|
-
|
|
41
|
+
it('should handle an object entry in the array', () => {
|
|
42
|
+
const actions = [{
|
|
43
43
|
type: 'navigate',
|
|
44
44
|
page: 'alpha'
|
|
45
45
|
}];
|
|
46
46
|
expect((0, _getPageActions.default)({
|
|
47
|
-
actions
|
|
47
|
+
actions
|
|
48
48
|
})).toEqual(actions);
|
|
49
49
|
});
|
|
50
|
-
it('should convert an href to a page',
|
|
51
|
-
|
|
50
|
+
it('should convert an href to a page', () => {
|
|
51
|
+
const actions = [{
|
|
52
52
|
type: 'navigate',
|
|
53
53
|
href: '/alpha/bravo'
|
|
54
54
|
}];
|
|
55
55
|
expect((0, _getPageActions.default)({
|
|
56
|
-
actions
|
|
56
|
+
actions
|
|
57
57
|
})).toEqual([{
|
|
58
58
|
type: 'navigate',
|
|
59
59
|
page: 'bravo',
|
|
60
60
|
href: '/alpha/bravo'
|
|
61
61
|
}]);
|
|
62
62
|
});
|
|
63
|
-
it('should convert a url to a page',
|
|
64
|
-
|
|
63
|
+
it('should convert a url to a page', () => {
|
|
64
|
+
const actions = [{
|
|
65
65
|
type: 'navigate',
|
|
66
66
|
url: '/alpha/bravo'
|
|
67
67
|
}];
|
|
68
68
|
expect((0, _getPageActions.default)({
|
|
69
|
-
actions
|
|
69
|
+
actions
|
|
70
70
|
})).toEqual([{
|
|
71
71
|
type: 'navigate',
|
|
72
72
|
page: 'bravo',
|
|
73
73
|
url: '/alpha/bravo'
|
|
74
74
|
}]);
|
|
75
75
|
});
|
|
76
|
-
it('should handle an action without a page, href, or url',
|
|
77
|
-
|
|
76
|
+
it('should handle an action without a page, href, or url', () => {
|
|
77
|
+
const actions = [{
|
|
78
78
|
type: 'submit',
|
|
79
79
|
label: 'Charlie'
|
|
80
80
|
}];
|
|
81
81
|
expect((0, _getPageActions.default)({
|
|
82
|
-
actions
|
|
82
|
+
actions
|
|
83
83
|
})).toEqual(actions);
|
|
84
84
|
});
|
|
85
|
-
it('should add a default validation prop if none are present',
|
|
86
|
-
|
|
85
|
+
it('should add a default validation prop if none are present', () => {
|
|
86
|
+
const actions = [{
|
|
87
87
|
type: 'saveAndContinue',
|
|
88
88
|
label: 'Charlie'
|
|
89
89
|
}];
|
|
90
90
|
expect((0, _getPageActions.default)({
|
|
91
|
-
actions
|
|
91
|
+
actions
|
|
92
92
|
})).toEqual([{
|
|
93
93
|
type: 'saveAndContinue',
|
|
94
94
|
label: 'Charlie',
|
|
95
95
|
validate: true
|
|
96
96
|
}]);
|
|
97
97
|
});
|
|
98
|
-
it('should not overwrite a validation prop when one exists',
|
|
99
|
-
|
|
98
|
+
it('should not overwrite a validation prop when one exists', () => {
|
|
99
|
+
const actions = [{
|
|
100
100
|
type: 'submit',
|
|
101
101
|
label: 'Charlie',
|
|
102
102
|
validate: false
|
|
103
103
|
}];
|
|
104
104
|
expect((0, _getPageActions.default)({
|
|
105
|
-
actions
|
|
105
|
+
actions
|
|
106
106
|
})).toEqual([{
|
|
107
107
|
type: 'submit',
|
|
108
108
|
label: 'Charlie',
|
|
@@ -12,11 +12,9 @@ var _models = require("../../models");
|
|
|
12
12
|
* @param {string} content The content to render as a paragraph.
|
|
13
13
|
* @returns An HTML component configuration for a paragraph of the supplied tect.
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
};
|
|
15
|
+
const getParagraphFromText = content => ({
|
|
16
|
+
type: _models.ComponentTypes.HTML,
|
|
17
|
+
tagName: 'p',
|
|
18
|
+
content
|
|
19
|
+
});
|
|
22
20
|
var _default = exports.default = getParagraphFromText;
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../models");
|
|
4
4
|
var _getParagraphFromText = _interopRequireDefault(require("./getParagraphFromText"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('utils',
|
|
9
|
-
describe('FormPage',
|
|
10
|
-
describe('getParagraphFromText',
|
|
11
|
-
it('should handle text content',
|
|
12
|
-
|
|
8
|
+
describe('utils', () => {
|
|
9
|
+
describe('FormPage', () => {
|
|
10
|
+
describe('getParagraphFromText', () => {
|
|
11
|
+
it('should handle text content', () => {
|
|
12
|
+
const CONTENT = 'Appropriate text content';
|
|
13
13
|
expect((0, _getParagraphFromText.default)(CONTENT)).toEqual({
|
|
14
14
|
type: _models.ComponentTypes.HTML,
|
|
15
15
|
tagName: 'p',
|
|
16
16
|
content: CONTENT
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
|
-
it('should handle undefined content',
|
|
19
|
+
it('should handle undefined content', () => {
|
|
20
20
|
expect((0, _getParagraphFromText.default)(undefined)).toEqual({
|
|
21
21
|
type: _models.ComponentTypes.HTML,
|
|
22
22
|
tagName: 'p'
|
|
@@ -10,15 +10,13 @@ var _getFormPage = _interopRequireDefault(require("./getFormPage"));
|
|
|
10
10
|
var _getFormPages = _interopRequireDefault(require("./getFormPages"));
|
|
11
11
|
var _showFormPage = _interopRequireDefault(require("./showFormPage"));
|
|
12
12
|
var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
|
|
13
|
-
function _interopRequireDefault(
|
|
14
|
-
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
const FormPage = {
|
|
15
15
|
applyConditionalProperties: _applyConditionalProperties.default,
|
|
16
16
|
getConditionalText: _getConditionalText.default,
|
|
17
17
|
get: _getFormPage.default,
|
|
18
18
|
getAll: _getFormPages.default,
|
|
19
|
-
getTitle:
|
|
20
|
-
return (0, _getConditionalText.default)(options, formData, 'title');
|
|
21
|
-
},
|
|
19
|
+
getTitle: (options, formData) => (0, _getConditionalText.default)(options, formData, 'title'),
|
|
22
20
|
show: _showFormPage.default,
|
|
23
21
|
showCYA: _showFormPageCYA.default
|
|
24
22
|
};
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _showComponent = _interopRequireDefault(require("../Component/showComponent"));
|
|
8
8
|
var _Condition = _interopRequireDefault(require("../Condition"));
|
|
9
9
|
var _Container = _interopRequireDefault(require("../Container"));
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
// Local imports
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -16,11 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
16
16
|
* @param {object} data The top-level form data.
|
|
17
17
|
* @returns Boolean true if ANY of the editable components should be shown; false otherwise.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
return editableComponents.some(function (component) {
|
|
21
|
-
return (0, _showComponent.default)(component, data);
|
|
22
|
-
});
|
|
23
|
-
};
|
|
19
|
+
const showEditableComponent = (editableComponents, data) => editableComponents.some(component => (0, _showComponent.default)(component, data));
|
|
24
20
|
|
|
25
21
|
/**
|
|
26
22
|
* Indicates whether or not a page should be shown.
|
|
@@ -28,7 +24,7 @@ var showEditableComponent = function showEditableComponent(editableComponents, d
|
|
|
28
24
|
* @param {object} data The top-level form data.
|
|
29
25
|
* @returns Boolean true if the page should be shown; false if not.
|
|
30
26
|
*/
|
|
31
|
-
|
|
27
|
+
const showFormPage = (page, data) => {
|
|
32
28
|
if (!page) {
|
|
33
29
|
return false;
|
|
34
30
|
}
|
|
@@ -43,7 +39,7 @@ var showFormPage = function showFormPage(page, data) {
|
|
|
43
39
|
|
|
44
40
|
// If the page itself doesn't have a show_when, we need to make sure that if it
|
|
45
41
|
// contains ANY editable components, at least one of them is shown.
|
|
46
|
-
|
|
42
|
+
const editableComponents = _Container.default.editableComponents(page);
|
|
47
43
|
if (editableComponents.length > 0) {
|
|
48
44
|
return showEditableComponent(editableComponents, data);
|
|
49
45
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _showFormPage = _interopRequireDefault(require("./showFormPage"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('FormPage',
|
|
7
|
-
describe('showFormPage',
|
|
8
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('FormPage', () => {
|
|
7
|
+
describe('showFormPage', () => {
|
|
8
|
+
const DATA = {
|
|
9
9
|
alpha: 'Alpha',
|
|
10
10
|
bravo: 'Bravo'
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
const HTML = {
|
|
13
13
|
type: 'html',
|
|
14
14
|
tagName: 'p',
|
|
15
15
|
content: 'Alpha'
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
const INSET_TEXT = {
|
|
18
18
|
type: 'inset-text',
|
|
19
19
|
content: 'Bravo'
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
const HEADING = {
|
|
22
22
|
type: 'heading',
|
|
23
23
|
size: 'm',
|
|
24
24
|
content: 'Charlie'
|
|
25
25
|
};
|
|
26
|
-
it('should NOT be shown when the page is null',
|
|
26
|
+
it('should NOT be shown when the page is null', () => {
|
|
27
27
|
expect((0, _showFormPage.default)(null, DATA)).toBeFalsy();
|
|
28
28
|
});
|
|
29
|
-
it('should NOT be shown when the page has a single show_when condition that is NOT matched',
|
|
30
|
-
|
|
29
|
+
it('should NOT be shown when the page has a single show_when condition that is NOT matched', () => {
|
|
30
|
+
const PAGE = {
|
|
31
31
|
show_when: {
|
|
32
32
|
field: 'charlie',
|
|
33
33
|
op: '=',
|
|
@@ -36,8 +36,8 @@ describe('utils', function () {
|
|
|
36
36
|
};
|
|
37
37
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
|
|
38
38
|
});
|
|
39
|
-
it('should NOT be shown when the page has a multiple show_when conditions and at least one is NOT matched',
|
|
40
|
-
|
|
39
|
+
it('should NOT be shown when the page has a multiple show_when conditions and at least one is NOT matched', () => {
|
|
40
|
+
const PAGE = {
|
|
41
41
|
show_when: [{
|
|
42
42
|
field: 'alpha',
|
|
43
43
|
op: '=',
|
|
@@ -50,8 +50,8 @@ describe('utils', function () {
|
|
|
50
50
|
};
|
|
51
51
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
|
|
52
52
|
});
|
|
53
|
-
it('SHOULD be shown when the page has a single show_when condition that IS matched',
|
|
54
|
-
|
|
53
|
+
it('SHOULD be shown when the page has a single show_when condition that IS matched', () => {
|
|
54
|
+
const PAGE = {
|
|
55
55
|
show_when: {
|
|
56
56
|
field: 'alpha',
|
|
57
57
|
op: '=',
|
|
@@ -60,8 +60,8 @@ describe('utils', function () {
|
|
|
60
60
|
};
|
|
61
61
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
|
|
62
62
|
});
|
|
63
|
-
it('SHOULD be shown when the page has a multiple show_when conditions that are ALL matched',
|
|
64
|
-
|
|
63
|
+
it('SHOULD be shown when the page has a multiple show_when conditions that are ALL matched', () => {
|
|
64
|
+
const PAGE = {
|
|
65
65
|
show_when: [{
|
|
66
66
|
field: 'alpha',
|
|
67
67
|
op: '=',
|
|
@@ -74,14 +74,14 @@ describe('utils', function () {
|
|
|
74
74
|
};
|
|
75
75
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
|
|
76
76
|
});
|
|
77
|
-
it('SHOULD be shown when the page has NO show_when conditions and NO editable components',
|
|
78
|
-
|
|
77
|
+
it('SHOULD be shown when the page has NO show_when conditions and NO editable components', () => {
|
|
78
|
+
const PAGE = {
|
|
79
79
|
components: [HTML, INSET_TEXT, HEADING]
|
|
80
80
|
};
|
|
81
81
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
|
|
82
82
|
});
|
|
83
|
-
it('should NOT be shown when the page has NO show_when conditions and NO SHOWN editable components',
|
|
84
|
-
|
|
83
|
+
it('should NOT be shown when the page has NO show_when conditions and NO SHOWN editable components', () => {
|
|
84
|
+
const TEXT = {
|
|
85
85
|
type: 'text',
|
|
86
86
|
show_when: {
|
|
87
87
|
field: 'charlie',
|
|
@@ -89,7 +89,7 @@ describe('utils', function () {
|
|
|
89
89
|
value: 'Charlie'
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
|
-
|
|
92
|
+
const RADIOS = {
|
|
93
93
|
type: 'radios',
|
|
94
94
|
show_when: {
|
|
95
95
|
field: 'charlie',
|
|
@@ -97,13 +97,13 @@ describe('utils', function () {
|
|
|
97
97
|
value: 'Charlie'
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
|
-
|
|
100
|
+
const PAGE = {
|
|
101
101
|
components: [TEXT, RADIOS]
|
|
102
102
|
};
|
|
103
103
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeFalsy();
|
|
104
104
|
});
|
|
105
|
-
it('SHOULD be shown when the page has NO show_when conditions and AT LEAST ONE SHOWN editable components',
|
|
106
|
-
|
|
105
|
+
it('SHOULD be shown when the page has NO show_when conditions and AT LEAST ONE SHOWN editable components', () => {
|
|
106
|
+
const TEXT = {
|
|
107
107
|
type: 'text',
|
|
108
108
|
show_when: {
|
|
109
109
|
field: 'alpha',
|
|
@@ -111,7 +111,7 @@ describe('utils', function () {
|
|
|
111
111
|
value: 'Alpha'
|
|
112
112
|
}
|
|
113
113
|
};
|
|
114
|
-
|
|
114
|
+
const RADIOS = {
|
|
115
115
|
type: 'radios',
|
|
116
116
|
show_when: {
|
|
117
117
|
field: 'charlie',
|
|
@@ -119,13 +119,13 @@ describe('utils', function () {
|
|
|
119
119
|
value: 'Charlie'
|
|
120
120
|
}
|
|
121
121
|
};
|
|
122
|
-
|
|
122
|
+
const PAGE = {
|
|
123
123
|
components: [TEXT, RADIOS]
|
|
124
124
|
};
|
|
125
125
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
|
|
126
126
|
});
|
|
127
|
-
it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and ALL are matched',
|
|
128
|
-
|
|
127
|
+
it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and ALL are matched', () => {
|
|
128
|
+
const PAGE = {
|
|
129
129
|
show_when: {
|
|
130
130
|
"type": "or",
|
|
131
131
|
"conditions": [{
|
|
@@ -141,8 +141,8 @@ describe('utils', function () {
|
|
|
141
141
|
};
|
|
142
142
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
|
|
143
143
|
});
|
|
144
|
-
it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and at least ONE is matched',
|
|
145
|
-
|
|
144
|
+
it('SHOULD be shown when the page has multiple show_when conditions, with type "or" provided and at least ONE is matched', () => {
|
|
145
|
+
const PAGE = {
|
|
146
146
|
show_when: {
|
|
147
147
|
"type": "or",
|
|
148
148
|
"conditions": [{
|
|
@@ -158,8 +158,8 @@ describe('utils', function () {
|
|
|
158
158
|
};
|
|
159
159
|
expect((0, _showFormPage.default)(PAGE, DATA)).toBeTruthy();
|
|
160
160
|
});
|
|
161
|
-
it('should NOT be shown when the page has multiple show_when conditions, with type "or" provided and NONE are matched',
|
|
162
|
-
|
|
161
|
+
it('should NOT be shown when the page has multiple show_when conditions, with type "or" provided and NONE are matched', () => {
|
|
162
|
+
const PAGE = {
|
|
163
163
|
show_when: {
|
|
164
164
|
"type": "or",
|
|
165
165
|
"conditions": [{
|
|
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _showFormPage = _interopRequireDefault(require("./showFormPage"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
/**
|
|
10
10
|
* Indicates whether or not a page should be shown on the CYA screen.
|
|
11
11
|
* @param {object} page The page to consider.
|
|
12
12
|
* @param {object} data The top-level form data.
|
|
13
13
|
* @returns Boolean true if the page should be shown; false if not.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
const showFormPageCYA = (page, data) => {
|
|
16
16
|
// eslint-disable-next-line no-prototype-builtins
|
|
17
17
|
if (page !== null && page !== void 0 && page.hasOwnProperty('show_on_cya') && !page.show_on_cya) {
|
|
18
18
|
return false;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _showFormPageCYA = _interopRequireDefault(require("./showFormPageCYA"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils.FormPage.showFormPageCYA',
|
|
6
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils.FormPage.showFormPageCYA', () => {
|
|
6
|
+
const DATA = {
|
|
7
7
|
alpha: 'Alpha',
|
|
8
8
|
bravo: 'Bravo'
|
|
9
9
|
};
|
|
10
|
-
it('should NOT be shown when the page is null',
|
|
10
|
+
it('should NOT be shown when the page is null', () => {
|
|
11
11
|
expect((0, _showFormPageCYA.default)(null, DATA)).toEqual(false);
|
|
12
12
|
});
|
|
13
|
-
it('should NOT be shown if the show_on_cya flag is false',
|
|
14
|
-
|
|
13
|
+
it('should NOT be shown if the show_on_cya flag is false', () => {
|
|
14
|
+
const PAGE = {
|
|
15
15
|
show_on_cya: false
|
|
16
16
|
};
|
|
17
17
|
expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(false);
|
|
18
18
|
});
|
|
19
|
-
it('SHOULD be shown if the show_on_cya flag is true',
|
|
20
|
-
|
|
19
|
+
it('SHOULD be shown if the show_on_cya flag is true', () => {
|
|
20
|
+
const PAGE = {
|
|
21
21
|
show_on_cya: true
|
|
22
22
|
};
|
|
23
23
|
expect((0, _showFormPageCYA.default)(PAGE, DATA)).toEqual(true);
|
|
24
24
|
});
|
|
25
|
-
it('SHOULD be shown if the show_on_cya flag is missing',
|
|
25
|
+
it('SHOULD be shown if the show_on_cya flag is missing', () => {
|
|
26
26
|
expect((0, _showFormPageCYA.default)({}, DATA)).toEqual(true);
|
|
27
27
|
});
|
|
28
28
|
});
|