@ukhomeoffice/cop-react-form-renderer 5.89.0 → 5.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +76 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
- package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
- package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -55
- package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
- package/dist/components/CollectionSummary/SummaryCard.js +121 -157
- package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
- package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +81 -117
- package/dist/components/FormComponent/Collection.scss +1 -1
- package/dist/components/FormComponent/Collection.test.js +910 -1082
- package/dist/components/FormComponent/Container.js +45 -38
- package/dist/components/FormComponent/Container.scss +15 -0
- package/dist/components/FormComponent/Container.test.js +379 -411
- package/dist/components/FormComponent/FormComponent.js +71 -74
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +71 -87
- package/dist/components/FormPage/FormPage.test.js +133 -170
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +153 -198
- package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +61 -54
- package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
- package/dist/components/FormRenderer/onPageAction.js +45 -41
- package/dist/components/FormRenderer/onPageAction.test.js +225 -210
- package/dist/components/FormRenderer/onTaskAction.js +11 -15
- package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
- package/dist/components/PageActions/ActionButton.js +13 -16
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +13 -21
- package/dist/components/SummaryList/GroupAction.test.js +41 -37
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +41 -37
- package/dist/components/SummaryList/SummaryList.js +23 -28
- package/dist/components/SummaryList/SummaryList.test.js +179 -206
- package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +8 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +53 -84
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +56 -49
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +58 -81
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +28 -41
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +31 -32
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
- package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +19 -20
- package/dist/utils/Component/applyToComponentTree.test.js +28 -33
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -7
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +90 -97
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +3 -4
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +20 -31
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +14 -19
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +16 -22
- package/dist/utils/Container/setupNesting.test.js +28 -31
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +40 -50
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +20 -29
- package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
- package/dist/utils/Data/getDataPath.js +20 -30
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +27 -34
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +11 -15
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +14 -22
- package/dist/utils/Data/setupFormData.test.js +52 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
- package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +16 -17
- package/dist/utils/FormPage/getFormPage.test.js +49 -48
- package/dist/utils/FormPage/getFormPages.js +8 -13
- package/dist/utils/FormPage/getFormPages.test.js +22 -25
- package/dist/utils/FormPage/getPageActions.js +10 -17
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +78 -80
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +29 -32
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +36 -37
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +22 -28
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +25 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +33 -0
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +10 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +9 -14
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -40
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +11 -24
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +21 -27
- package/dist/utils/Validate/validateCollection.test.js +85 -77
- package/dist/utils/Validate/validateComponent.js +22 -23
- package/dist/utils/Validate/validateComponent.test.js +188 -165
- package/dist/utils/Validate/validateContainer.js +16 -21
- package/dist/utils/Validate/validateContainer.test.js +62 -56
- package/dist/utils/Validate/validateDate.js +17 -23
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +20 -24
- package/dist/utils/Validate/validatePage.test.js +227 -215
- package/dist/utils/Validate/validateRegex.js +5 -8
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +5 -7
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +5 -7
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +8 -10
- package/package.json +3 -2
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getFormPage = _interopRequireDefault(require("./getFormPage"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
describe('utils', function () {
|
|
12
|
-
describe('FormPage', function () {
|
|
13
|
-
describe('getFormPage', function () {
|
|
14
|
-
var FORM_COMPONENTS = [{
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('FormPage', () => {
|
|
9
|
+
describe('getFormPage', () => {
|
|
10
|
+
const FORM_COMPONENTS = [{
|
|
15
11
|
id: 'a',
|
|
16
12
|
fieldId: 'a',
|
|
17
13
|
label: 'Alpha',
|
|
@@ -46,17 +42,17 @@ describe('utils', function () {
|
|
|
46
42
|
label: 'Bravo ${currentUser.surname}',
|
|
47
43
|
type: 'text'
|
|
48
44
|
}];
|
|
49
|
-
|
|
45
|
+
const FORM_DATA = {
|
|
50
46
|
urls: {
|
|
51
47
|
refData: 'https://ho.gov.uk/ref-data/'
|
|
52
48
|
}
|
|
53
49
|
};
|
|
54
|
-
it('should handle null or undefined pageOptions',
|
|
50
|
+
it('should handle null or undefined pageOptions', () => {
|
|
55
51
|
expect((0, _getFormPage.default)(null, FORM_COMPONENTS, FORM_DATA)).toBeNull();
|
|
56
52
|
expect((0, _getFormPage.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toBeNull();
|
|
57
53
|
});
|
|
58
|
-
it('should handle a page not using any form components',
|
|
59
|
-
|
|
54
|
+
it('should handle a page not using any form components', () => {
|
|
55
|
+
const PAGE = {
|
|
60
56
|
title: 'Page',
|
|
61
57
|
components: [{
|
|
62
58
|
type: 'heading',
|
|
@@ -70,8 +66,8 @@ describe('utils', function () {
|
|
|
70
66
|
formData: FORM_DATA
|
|
71
67
|
});
|
|
72
68
|
});
|
|
73
|
-
it('should handle a page with inline strings and convert them to paragraphs',
|
|
74
|
-
|
|
69
|
+
it('should handle a page with inline strings and convert them to paragraphs', () => {
|
|
70
|
+
const PAGE = {
|
|
75
71
|
title: 'Page',
|
|
76
72
|
components: ["Opening paragraph", {
|
|
77
73
|
type: 'heading',
|
|
@@ -85,9 +81,10 @@ describe('utils', function () {
|
|
|
85
81
|
type: 'html',
|
|
86
82
|
tagName: 'p',
|
|
87
83
|
content: PAGE.components[0]
|
|
88
|
-
},
|
|
84
|
+
}, {
|
|
85
|
+
...PAGE.components[1],
|
|
89
86
|
full_path: PAGE.components[1].fieldId
|
|
90
|
-
}
|
|
87
|
+
}, {
|
|
91
88
|
type: 'html',
|
|
92
89
|
tagName: 'p',
|
|
93
90
|
content: PAGE.components[2]
|
|
@@ -95,8 +92,8 @@ describe('utils', function () {
|
|
|
95
92
|
formData: FORM_DATA
|
|
96
93
|
});
|
|
97
94
|
});
|
|
98
|
-
it('should handle a page that references a form-level component',
|
|
99
|
-
|
|
95
|
+
it('should handle a page that references a form-level component', () => {
|
|
96
|
+
const PAGE = {
|
|
100
97
|
title: 'Page',
|
|
101
98
|
components: ["Opening paragraph", {
|
|
102
99
|
type: 'heading',
|
|
@@ -106,30 +103,31 @@ describe('utils', function () {
|
|
|
106
103
|
use: 'a'
|
|
107
104
|
}]
|
|
108
105
|
};
|
|
109
|
-
|
|
106
|
+
const A = FORM_COMPONENTS[0];
|
|
110
107
|
expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
|
|
111
108
|
title: PAGE.title,
|
|
112
109
|
components: [{
|
|
113
110
|
type: 'html',
|
|
114
111
|
tagName: 'p',
|
|
115
112
|
content: PAGE.components[0]
|
|
116
|
-
},
|
|
113
|
+
}, {
|
|
114
|
+
...PAGE.components[1],
|
|
117
115
|
full_path: PAGE.components[1].fieldId
|
|
118
|
-
}
|
|
116
|
+
}, {
|
|
119
117
|
type: 'html',
|
|
120
118
|
tagName: 'p',
|
|
121
119
|
content: PAGE.components[2]
|
|
122
|
-
},
|
|
123
|
-
use: 'a'
|
|
124
|
-
|
|
120
|
+
}, {
|
|
121
|
+
use: 'a',
|
|
122
|
+
...A,
|
|
125
123
|
cya_label: A.label,
|
|
126
124
|
full_path: A.fieldId
|
|
127
|
-
}
|
|
125
|
+
}],
|
|
128
126
|
formData: FORM_DATA
|
|
129
127
|
});
|
|
130
128
|
});
|
|
131
|
-
it('should handle a page that references a form-level component with a data url',
|
|
132
|
-
|
|
129
|
+
it('should handle a page that references a form-level component with a data url', () => {
|
|
130
|
+
const PAGE = {
|
|
133
131
|
title: 'Page',
|
|
134
132
|
components: ["Opening paragraph", {
|
|
135
133
|
type: 'heading',
|
|
@@ -139,33 +137,34 @@ describe('utils', function () {
|
|
|
139
137
|
use: 'c'
|
|
140
138
|
}]
|
|
141
139
|
};
|
|
142
|
-
|
|
140
|
+
const C = FORM_COMPONENTS[2];
|
|
143
141
|
expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
|
|
144
142
|
title: PAGE.title,
|
|
145
143
|
components: [{
|
|
146
144
|
type: 'html',
|
|
147
145
|
tagName: 'p',
|
|
148
146
|
content: PAGE.components[0]
|
|
149
|
-
},
|
|
147
|
+
}, {
|
|
148
|
+
...PAGE.components[1],
|
|
150
149
|
full_path: PAGE.components[1].fieldId
|
|
151
|
-
}
|
|
150
|
+
}, {
|
|
152
151
|
type: 'html',
|
|
153
152
|
tagName: 'p',
|
|
154
153
|
content: PAGE.components[2]
|
|
155
|
-
},
|
|
156
|
-
use: 'c'
|
|
157
|
-
|
|
154
|
+
}, {
|
|
155
|
+
use: 'c',
|
|
156
|
+
...C,
|
|
158
157
|
cya_label: C.label,
|
|
159
158
|
data: {
|
|
160
|
-
url:
|
|
159
|
+
url: `${FORM_DATA.urls.refData}/v3/charlies`
|
|
161
160
|
},
|
|
162
161
|
full_path: C.fieldId
|
|
163
|
-
}
|
|
162
|
+
}],
|
|
164
163
|
formData: FORM_DATA
|
|
165
164
|
});
|
|
166
165
|
});
|
|
167
|
-
it('should handle a page that references a form-level component with a data url without an environment context',
|
|
168
|
-
|
|
166
|
+
it('should handle a page that references a form-level component with a data url without an environment context', () => {
|
|
167
|
+
const PAGE = {
|
|
169
168
|
title: 'Page',
|
|
170
169
|
components: ["Opening paragraph", {
|
|
171
170
|
type: 'heading',
|
|
@@ -175,29 +174,31 @@ describe('utils', function () {
|
|
|
175
174
|
use: 'c'
|
|
176
175
|
}]
|
|
177
176
|
};
|
|
178
|
-
|
|
177
|
+
const C = FORM_COMPONENTS[2];
|
|
179
178
|
expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, {})).toEqual({
|
|
180
179
|
title: PAGE.title,
|
|
181
180
|
components: [{
|
|
182
181
|
type: 'html',
|
|
183
182
|
tagName: 'p',
|
|
184
183
|
content: PAGE.components[0]
|
|
185
|
-
},
|
|
184
|
+
}, {
|
|
185
|
+
...PAGE.components[1],
|
|
186
186
|
full_path: PAGE.components[1].fieldId
|
|
187
|
-
}
|
|
187
|
+
}, {
|
|
188
188
|
type: 'html',
|
|
189
189
|
tagName: 'p',
|
|
190
190
|
content: PAGE.components[2]
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
},
|
|
192
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
193
|
+
{
|
|
194
|
+
use: 'c',
|
|
195
|
+
...C,
|
|
195
196
|
cya_label: C.label,
|
|
196
197
|
full_path: C.fieldId,
|
|
197
198
|
data: {
|
|
198
199
|
url: '/v3/charlies'
|
|
199
200
|
}
|
|
200
|
-
}
|
|
201
|
+
}],
|
|
201
202
|
formData: {}
|
|
202
203
|
});
|
|
203
204
|
});
|
|
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getFormPage = _interopRequireDefault(require("./getFormPage"));
|
|
8
|
-
function _interopRequireDefault(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
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; }
|
|
12
|
-
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; }
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
-
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
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// Local imports
|
|
10
|
+
|
|
15
11
|
/**
|
|
16
12
|
* Converts pages objects defined in the JSON to page objects for rendering.
|
|
17
13
|
* @param {Array} pages The JSON pages.
|
|
@@ -19,13 +15,12 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
19
15
|
* @param {object} formData The top-level form data, used for setting up components.
|
|
20
16
|
* @returns An array of page objects for rendering.
|
|
21
17
|
*/
|
|
22
|
-
|
|
18
|
+
const getFormPages = (pages, components, formData) => {
|
|
23
19
|
if (Array.isArray(pages)) {
|
|
24
|
-
return pages.map(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
20
|
+
return pages.map((options, index) => ({
|
|
21
|
+
...(0, _getFormPage.default)(options, components, formData),
|
|
22
|
+
index
|
|
23
|
+
}));
|
|
29
24
|
}
|
|
30
25
|
return [];
|
|
31
26
|
};
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getFormPages = _interopRequireDefault(require("./getFormPages"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
describe('utils', function () {
|
|
12
|
-
describe('FormPage', function () {
|
|
13
|
-
describe('getFormPages', function () {
|
|
14
|
-
var FORM_COMPONENTS = [{
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('FormPage', () => {
|
|
9
|
+
describe('getFormPages', () => {
|
|
10
|
+
const FORM_COMPONENTS = [{
|
|
15
11
|
id: 'a',
|
|
16
12
|
fieldId: 'a',
|
|
17
13
|
label: 'Alpha',
|
|
@@ -32,17 +28,17 @@ describe('utils', function () {
|
|
|
32
28
|
url: '${urls.refData}/v3/charlies'
|
|
33
29
|
}
|
|
34
30
|
}];
|
|
35
|
-
|
|
31
|
+
const FORM_DATA = {
|
|
36
32
|
urls: {
|
|
37
33
|
refData: 'https://ho.gov.uk/ref-data/'
|
|
38
34
|
}
|
|
39
35
|
};
|
|
40
|
-
it('should handle null or undefined pageOptions',
|
|
36
|
+
it('should handle null or undefined pageOptions', () => {
|
|
41
37
|
expect((0, _getFormPages.default)(null, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
|
|
42
38
|
expect((0, _getFormPages.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
|
|
43
39
|
});
|
|
44
|
-
it('should appropriately set up multiples pages with various configurations',
|
|
45
|
-
|
|
40
|
+
it('should appropriately set up multiples pages with various configurations', () => {
|
|
41
|
+
const PAGE_1 = {
|
|
46
42
|
title: 'Page 1',
|
|
47
43
|
components: [{
|
|
48
44
|
type: 'heading',
|
|
@@ -50,7 +46,7 @@ describe('utils', function () {
|
|
|
50
46
|
content: 'Page heading'
|
|
51
47
|
}]
|
|
52
48
|
};
|
|
53
|
-
|
|
49
|
+
const PAGE_2 = {
|
|
54
50
|
title: 'Page 2',
|
|
55
51
|
components: ["Opening paragraph", {
|
|
56
52
|
type: 'heading',
|
|
@@ -60,8 +56,8 @@ describe('utils', function () {
|
|
|
60
56
|
use: 'c'
|
|
61
57
|
}]
|
|
62
58
|
};
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
const PAGES = [PAGE_1, PAGE_2];
|
|
60
|
+
const C = FORM_COMPONENTS[2];
|
|
65
61
|
expect((0, _getFormPages.default)(PAGES, FORM_COMPONENTS, FORM_DATA)).toEqual([{
|
|
66
62
|
index: 0,
|
|
67
63
|
title: PAGE_1.title,
|
|
@@ -74,21 +70,22 @@ describe('utils', function () {
|
|
|
74
70
|
type: 'html',
|
|
75
71
|
tagName: 'p',
|
|
76
72
|
content: PAGE_2.components[0]
|
|
77
|
-
},
|
|
73
|
+
}, {
|
|
74
|
+
...PAGE_2.components[1],
|
|
78
75
|
full_path: PAGE_2.components[1].fieldId
|
|
79
|
-
}
|
|
76
|
+
}, {
|
|
80
77
|
type: 'html',
|
|
81
78
|
tagName: 'p',
|
|
82
79
|
content: PAGE_2.components[2]
|
|
83
|
-
},
|
|
84
|
-
use: 'c'
|
|
85
|
-
|
|
80
|
+
}, {
|
|
81
|
+
use: 'c',
|
|
82
|
+
...C,
|
|
86
83
|
cya_label: C.label,
|
|
87
84
|
data: {
|
|
88
|
-
url:
|
|
85
|
+
url: `${FORM_DATA.urls.refData}/v3/charlies`
|
|
89
86
|
},
|
|
90
87
|
full_path: C.fieldId
|
|
91
|
-
}
|
|
88
|
+
}],
|
|
92
89
|
formData: FORM_DATA
|
|
93
90
|
}]);
|
|
94
91
|
});
|
|
@@ -5,14 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
-
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); }
|
|
14
|
-
var standardiseAction = function standardiseAction(obj) {
|
|
15
|
-
var action = _objectSpread({}, obj);
|
|
8
|
+
const standardiseAction = obj => {
|
|
9
|
+
const action = {
|
|
10
|
+
...obj
|
|
11
|
+
};
|
|
16
12
|
// This is in place for backwards compatibility with version 1.
|
|
17
13
|
if (!action.page) {
|
|
18
14
|
if (action.href) {
|
|
@@ -35,25 +31,22 @@ var standardiseAction = function standardiseAction(obj) {
|
|
|
35
31
|
* will convert both by taking the final part of the relative path:
|
|
36
32
|
* - `href: '/bravo'` => `page: 'bravo'`
|
|
37
33
|
*/
|
|
38
|
-
|
|
34
|
+
const getPageActions = page => {
|
|
39
35
|
if (page && Array.isArray(page.actions)) {
|
|
40
|
-
return page.actions.map(
|
|
36
|
+
return page.actions.map(a => {
|
|
41
37
|
if (typeof a === 'string') {
|
|
42
38
|
return _models.PageAction.DEFAULTS[a];
|
|
43
39
|
}
|
|
44
|
-
if (a &&
|
|
45
|
-
|
|
46
|
-
var object = a;
|
|
40
|
+
if (a && typeof a === 'object') {
|
|
41
|
+
const object = a;
|
|
47
42
|
// eslint-disable-next-line no-prototype-builtins
|
|
48
|
-
if (
|
|
43
|
+
if (_models.PageAction.DEFAULTS[object.type]?.validate && !object.hasOwnProperty('validate')) {
|
|
49
44
|
object.validate = true;
|
|
50
45
|
}
|
|
51
46
|
return standardiseAction(object);
|
|
52
47
|
}
|
|
53
48
|
return undefined;
|
|
54
|
-
}).filter(
|
|
55
|
-
return !!a;
|
|
56
|
-
});
|
|
49
|
+
}).filter(a => !!a);
|
|
57
50
|
}
|
|
58
51
|
return undefined;
|
|
59
52
|
};
|
|
@@ -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
|
}
|