@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-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/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +127 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +131 -101
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +769 -464
- package/dist/components/CollectionPage/CollectionPage.js +58 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +342 -300
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +59 -63
- package/dist/components/CollectionSummary/CollectionSummary.js +88 -61
- package/dist/components/CollectionSummary/CollectionSummary.test.js +96 -102
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/SummaryCard.js +148 -109
- package/dist/components/CollectionSummary/SummaryCard.scss +1 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +927 -905
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +29 -23
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +73 -61
- package/dist/components/FormComponent/Collection.js +107 -73
- package/dist/components/FormComponent/Collection.test.js +945 -809
- package/dist/components/FormComponent/Container.js +38 -40
- package/dist/components/FormComponent/Container.test.js +345 -314
- package/dist/components/FormComponent/FormComponent.js +70 -67
- package/dist/components/FormComponent/FormComponent.test.js +342 -284
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +181 -144
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +5 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +47 -11
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +91 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +73 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +40 -44
- package/dist/components/FormRenderer/onPageAction.test.js +206 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +26 -21
- package/dist/components/SummaryList/SummaryList.test.js +166 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +71 -45
- package/dist/components/TaskList/TaskList.test.js +111 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +79 -58
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +72 -32
- package/dist/context/ValidationContext/ValidationContext.test.js +59 -47
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -30
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +60 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +88 -79
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +124 -146
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -9
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +22 -27
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +16 -12
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +30 -29
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +70 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +17 -14
- package/dist/utils/Condition/meetsCondition.test.js +376 -376
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +25 -19
- package/dist/utils/Data/getOptions.test.js +20 -20
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +77 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +15 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +23 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +26 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +10 -8
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +35 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +127 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +16 -18
- package/dist/utils/Validate/validateComponent.test.js +146 -167
- package/dist/utils/Validate/validateContainer.js +19 -14
- package/dist/utils/Validate/validateContainer.test.js +45 -49
- package/dist/utils/Validate/validateDate.js +17 -11
- package/dist/utils/Validate/validateDate.test.js +29 -28
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +18 -17
- package/dist/utils/Validate/validatePage.test.js +182 -185
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +14 -7
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var _getFormPage = _interopRequireDefault(require("./getFormPage"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
11
|
+
describe('utils', function () {
|
|
12
|
+
describe('FormPage', function () {
|
|
13
|
+
describe('getFormPage', function () {
|
|
14
|
+
var FORM_COMPONENTS = [{
|
|
11
15
|
id: 'a',
|
|
12
16
|
fieldId: 'a',
|
|
13
17
|
label: 'Alpha',
|
|
@@ -42,17 +46,17 @@ describe('utils', () => {
|
|
|
42
46
|
label: 'Bravo ${currentUser.surname}',
|
|
43
47
|
type: 'text'
|
|
44
48
|
}];
|
|
45
|
-
|
|
49
|
+
var FORM_DATA = {
|
|
46
50
|
urls: {
|
|
47
51
|
refData: 'https://ho.gov.uk/ref-data/'
|
|
48
52
|
}
|
|
49
53
|
};
|
|
50
|
-
it('should handle null or undefined pageOptions', ()
|
|
54
|
+
it('should handle null or undefined pageOptions', function () {
|
|
51
55
|
expect((0, _getFormPage.default)(null, FORM_COMPONENTS, FORM_DATA)).toBeNull();
|
|
52
56
|
expect((0, _getFormPage.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toBeNull();
|
|
53
57
|
});
|
|
54
|
-
it('should handle a page not using any form components', ()
|
|
55
|
-
|
|
58
|
+
it('should handle a page not using any form components', function () {
|
|
59
|
+
var PAGE = {
|
|
56
60
|
title: 'Page',
|
|
57
61
|
components: [{
|
|
58
62
|
type: 'heading',
|
|
@@ -66,8 +70,8 @@ describe('utils', () => {
|
|
|
66
70
|
formData: FORM_DATA
|
|
67
71
|
});
|
|
68
72
|
});
|
|
69
|
-
it('should handle a page with inline strings and convert them to paragraphs', ()
|
|
70
|
-
|
|
73
|
+
it('should handle a page with inline strings and convert them to paragraphs', function () {
|
|
74
|
+
var PAGE = {
|
|
71
75
|
title: 'Page',
|
|
72
76
|
components: ["Opening paragraph", {
|
|
73
77
|
type: 'heading',
|
|
@@ -81,10 +85,9 @@ describe('utils', () => {
|
|
|
81
85
|
type: 'html',
|
|
82
86
|
tagName: 'p',
|
|
83
87
|
content: PAGE.components[0]
|
|
84
|
-
}, {
|
|
85
|
-
...PAGE.components[1],
|
|
88
|
+
}, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
|
|
86
89
|
full_path: PAGE.components[1].fieldId
|
|
87
|
-
}, {
|
|
90
|
+
}), {
|
|
88
91
|
type: 'html',
|
|
89
92
|
tagName: 'p',
|
|
90
93
|
content: PAGE.components[2]
|
|
@@ -92,8 +95,8 @@ describe('utils', () => {
|
|
|
92
95
|
formData: FORM_DATA
|
|
93
96
|
});
|
|
94
97
|
});
|
|
95
|
-
it('should handle a page that references a form-level component', ()
|
|
96
|
-
|
|
98
|
+
it('should handle a page that references a form-level component', function () {
|
|
99
|
+
var PAGE = {
|
|
97
100
|
title: 'Page',
|
|
98
101
|
components: ["Opening paragraph", {
|
|
99
102
|
type: 'heading',
|
|
@@ -103,31 +106,30 @@ describe('utils', () => {
|
|
|
103
106
|
use: 'a'
|
|
104
107
|
}]
|
|
105
108
|
};
|
|
106
|
-
|
|
109
|
+
var A = FORM_COMPONENTS[0];
|
|
107
110
|
expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
|
|
108
111
|
title: PAGE.title,
|
|
109
112
|
components: [{
|
|
110
113
|
type: 'html',
|
|
111
114
|
tagName: 'p',
|
|
112
115
|
content: PAGE.components[0]
|
|
113
|
-
}, {
|
|
114
|
-
...PAGE.components[1],
|
|
116
|
+
}, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
|
|
115
117
|
full_path: PAGE.components[1].fieldId
|
|
116
|
-
}, {
|
|
118
|
+
}), {
|
|
117
119
|
type: 'html',
|
|
118
120
|
tagName: 'p',
|
|
119
121
|
content: PAGE.components[2]
|
|
120
|
-
}, {
|
|
121
|
-
use: 'a'
|
|
122
|
-
|
|
122
|
+
}, _objectSpread(_objectSpread({
|
|
123
|
+
use: 'a'
|
|
124
|
+
}, A), {}, {
|
|
123
125
|
cya_label: A.label,
|
|
124
126
|
full_path: A.fieldId
|
|
125
|
-
}],
|
|
127
|
+
})],
|
|
126
128
|
formData: FORM_DATA
|
|
127
129
|
});
|
|
128
130
|
});
|
|
129
|
-
it('should handle a page that references a form-level component with a data url', ()
|
|
130
|
-
|
|
131
|
+
it('should handle a page that references a form-level component with a data url', function () {
|
|
132
|
+
var PAGE = {
|
|
131
133
|
title: 'Page',
|
|
132
134
|
components: ["Opening paragraph", {
|
|
133
135
|
type: 'heading',
|
|
@@ -137,34 +139,33 @@ describe('utils', () => {
|
|
|
137
139
|
use: 'c'
|
|
138
140
|
}]
|
|
139
141
|
};
|
|
140
|
-
|
|
142
|
+
var C = FORM_COMPONENTS[2];
|
|
141
143
|
expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, FORM_DATA)).toEqual({
|
|
142
144
|
title: PAGE.title,
|
|
143
145
|
components: [{
|
|
144
146
|
type: 'html',
|
|
145
147
|
tagName: 'p',
|
|
146
148
|
content: PAGE.components[0]
|
|
147
|
-
}, {
|
|
148
|
-
...PAGE.components[1],
|
|
149
|
+
}, _objectSpread(_objectSpread({}, PAGE.components[1]), {}, {
|
|
149
150
|
full_path: PAGE.components[1].fieldId
|
|
150
|
-
}, {
|
|
151
|
+
}), {
|
|
151
152
|
type: 'html',
|
|
152
153
|
tagName: 'p',
|
|
153
154
|
content: PAGE.components[2]
|
|
154
|
-
}, {
|
|
155
|
-
use: 'c'
|
|
156
|
-
|
|
155
|
+
}, _objectSpread(_objectSpread({
|
|
156
|
+
use: 'c'
|
|
157
|
+
}, C), {}, {
|
|
157
158
|
cya_label: C.label,
|
|
158
159
|
data: {
|
|
159
160
|
url: "".concat(FORM_DATA.urls.refData, "/v3/charlies")
|
|
160
161
|
},
|
|
161
162
|
full_path: C.fieldId
|
|
162
|
-
}],
|
|
163
|
+
})],
|
|
163
164
|
formData: FORM_DATA
|
|
164
165
|
});
|
|
165
166
|
});
|
|
166
|
-
it('should handle a page that references a form-level component with a data url without an environment context', ()
|
|
167
|
-
|
|
167
|
+
it('should handle a page that references a form-level component with a data url without an environment context', function () {
|
|
168
|
+
var PAGE = {
|
|
168
169
|
title: 'Page',
|
|
169
170
|
components: ["Opening paragraph", {
|
|
170
171
|
type: 'heading',
|
|
@@ -174,31 +175,29 @@ describe('utils', () => {
|
|
|
174
175
|
use: 'c'
|
|
175
176
|
}]
|
|
176
177
|
};
|
|
177
|
-
|
|
178
|
+
var C = FORM_COMPONENTS[2];
|
|
178
179
|
expect((0, _getFormPage.default)(PAGE, FORM_COMPONENTS, {})).toEqual({
|
|
179
180
|
title: PAGE.title,
|
|
180
181
|
components: [{
|
|
181
182
|
type: 'html',
|
|
182
183
|
tagName: 'p',
|
|
183
184
|
content: PAGE.components[0]
|
|
184
|
-
}, {
|
|
185
|
-
...PAGE.components[1],
|
|
185
|
+
}, _objectSpread(_objectSpread({}, 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
|
-
|
|
195
|
-
...C,
|
|
191
|
+
}, // eslint-disable-next-line no-template-curly-in-string
|
|
192
|
+
_objectSpread(_objectSpread({
|
|
193
|
+
use: 'c'
|
|
194
|
+
}, C), {}, {
|
|
196
195
|
cya_label: C.label,
|
|
197
196
|
full_path: C.fieldId,
|
|
198
197
|
data: {
|
|
199
198
|
url: '/v3/charlies'
|
|
200
199
|
}
|
|
201
|
-
}],
|
|
200
|
+
})],
|
|
202
201
|
formData: {}
|
|
203
202
|
});
|
|
204
203
|
});
|
|
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getFormPage = _interopRequireDefault(require("./getFormPage"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
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); }
|
|
10
|
+
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; }
|
|
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
|
|
11
15
|
/**
|
|
12
16
|
* Converts pages objects defined in the JSON to page objects for rendering.
|
|
13
17
|
* @param {Array} pages The JSON pages.
|
|
@@ -15,12 +19,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
19
|
* @param {object} formData The top-level form data, used for setting up components.
|
|
16
20
|
* @returns An array of page objects for rendering.
|
|
17
21
|
*/
|
|
18
|
-
|
|
22
|
+
var getFormPages = function getFormPages(pages, components, formData) {
|
|
19
23
|
if (Array.isArray(pages)) {
|
|
20
|
-
return pages.map((options, index)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
return pages.map(function (options, index) {
|
|
25
|
+
return _objectSpread(_objectSpread({}, (0, _getFormPage.default)(options, components, formData)), {}, {
|
|
26
|
+
index: index
|
|
27
|
+
});
|
|
28
|
+
});
|
|
24
29
|
}
|
|
25
30
|
return [];
|
|
26
31
|
};
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var _getFormPages = _interopRequireDefault(require("./getFormPages"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
11
|
+
describe('utils', function () {
|
|
12
|
+
describe('FormPage', function () {
|
|
13
|
+
describe('getFormPages', function () {
|
|
14
|
+
var FORM_COMPONENTS = [{
|
|
11
15
|
id: 'a',
|
|
12
16
|
fieldId: 'a',
|
|
13
17
|
label: 'Alpha',
|
|
@@ -28,17 +32,17 @@ describe('utils', () => {
|
|
|
28
32
|
url: '${urls.refData}/v3/charlies'
|
|
29
33
|
}
|
|
30
34
|
}];
|
|
31
|
-
|
|
35
|
+
var FORM_DATA = {
|
|
32
36
|
urls: {
|
|
33
37
|
refData: 'https://ho.gov.uk/ref-data/'
|
|
34
38
|
}
|
|
35
39
|
};
|
|
36
|
-
it('should handle null or undefined pageOptions', ()
|
|
40
|
+
it('should handle null or undefined pageOptions', function () {
|
|
37
41
|
expect((0, _getFormPages.default)(null, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
|
|
38
42
|
expect((0, _getFormPages.default)(undefined, FORM_COMPONENTS, FORM_DATA)).toEqual([]);
|
|
39
43
|
});
|
|
40
|
-
it('should appropriately set up multiples pages with various configurations', ()
|
|
41
|
-
|
|
44
|
+
it('should appropriately set up multiples pages with various configurations', function () {
|
|
45
|
+
var PAGE_1 = {
|
|
42
46
|
title: 'Page 1',
|
|
43
47
|
components: [{
|
|
44
48
|
type: 'heading',
|
|
@@ -46,7 +50,7 @@ describe('utils', () => {
|
|
|
46
50
|
content: 'Page heading'
|
|
47
51
|
}]
|
|
48
52
|
};
|
|
49
|
-
|
|
53
|
+
var PAGE_2 = {
|
|
50
54
|
title: 'Page 2',
|
|
51
55
|
components: ["Opening paragraph", {
|
|
52
56
|
type: 'heading',
|
|
@@ -56,8 +60,8 @@ describe('utils', () => {
|
|
|
56
60
|
use: 'c'
|
|
57
61
|
}]
|
|
58
62
|
};
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
var PAGES = [PAGE_1, PAGE_2];
|
|
64
|
+
var C = FORM_COMPONENTS[2];
|
|
61
65
|
expect((0, _getFormPages.default)(PAGES, FORM_COMPONENTS, FORM_DATA)).toEqual([{
|
|
62
66
|
index: 0,
|
|
63
67
|
title: PAGE_1.title,
|
|
@@ -70,22 +74,21 @@ describe('utils', () => {
|
|
|
70
74
|
type: 'html',
|
|
71
75
|
tagName: 'p',
|
|
72
76
|
content: PAGE_2.components[0]
|
|
73
|
-
}, {
|
|
74
|
-
...PAGE_2.components[1],
|
|
77
|
+
}, _objectSpread(_objectSpread({}, PAGE_2.components[1]), {}, {
|
|
75
78
|
full_path: PAGE_2.components[1].fieldId
|
|
76
|
-
}, {
|
|
79
|
+
}), {
|
|
77
80
|
type: 'html',
|
|
78
81
|
tagName: 'p',
|
|
79
82
|
content: PAGE_2.components[2]
|
|
80
|
-
}, {
|
|
81
|
-
use: 'c'
|
|
82
|
-
|
|
83
|
+
}, _objectSpread(_objectSpread({
|
|
84
|
+
use: 'c'
|
|
85
|
+
}, C), {}, {
|
|
83
86
|
cya_label: C.label,
|
|
84
87
|
data: {
|
|
85
88
|
url: "".concat(FORM_DATA.urls.refData, "/v3/charlies")
|
|
86
89
|
},
|
|
87
90
|
full_path: C.fieldId
|
|
88
|
-
}],
|
|
91
|
+
})],
|
|
89
92
|
formData: FORM_DATA
|
|
90
93
|
}]);
|
|
91
94
|
});
|
|
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
+
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
|
+
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(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; }
|
|
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);
|
|
12
16
|
// This is in place for backwards compatibility with version 1.
|
|
13
17
|
if (!action.page) {
|
|
14
18
|
if (action.href) {
|
|
@@ -31,15 +35,15 @@ const standardiseAction = obj => {
|
|
|
31
35
|
* will convert both by taking the final part of the relative path:
|
|
32
36
|
* - `href: '/bravo'` => `page: 'bravo'`
|
|
33
37
|
*/
|
|
34
|
-
|
|
38
|
+
var getPageActions = function getPageActions(page) {
|
|
35
39
|
if (page && Array.isArray(page.actions)) {
|
|
36
|
-
return page.actions.map(a
|
|
40
|
+
return page.actions.map(function (a) {
|
|
37
41
|
if (typeof a === 'string') {
|
|
38
42
|
return _models.PageAction.DEFAULTS[a];
|
|
39
43
|
}
|
|
40
|
-
if (a &&
|
|
44
|
+
if (a && _typeof(a) === 'object') {
|
|
41
45
|
var _PageAction$DEFAULTS$;
|
|
42
|
-
|
|
46
|
+
var object = a;
|
|
43
47
|
// eslint-disable-next-line no-prototype-builtins
|
|
44
48
|
if ((_PageAction$DEFAULTS$ = _models.PageAction.DEFAULTS[object.type]) !== null && _PageAction$DEFAULTS$ !== void 0 && _PageAction$DEFAULTS$.validate && !object.hasOwnProperty('validate')) {
|
|
45
49
|
object.validate = true;
|
|
@@ -47,7 +51,9 @@ const getPageActions = page => {
|
|
|
47
51
|
return standardiseAction(object);
|
|
48
52
|
}
|
|
49
53
|
return undefined;
|
|
50
|
-
}).filter(
|
|
54
|
+
}).filter(function (a) {
|
|
55
|
+
return !!a;
|
|
56
|
+
});
|
|
51
57
|
}
|
|
52
58
|
return undefined;
|
|
53
59
|
};
|
|
@@ -5,14 +5,14 @@ var _getPageActions = _interopRequireDefault(require("./getPageActions"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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', function () {
|
|
9
|
+
describe('FormPage', function () {
|
|
10
|
+
describe('getPageActions', function () {
|
|
11
|
+
it('should handle a null or undefined page', function () {
|
|
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', function () {
|
|
16
16
|
expect((0, _getPageActions.default)({
|
|
17
17
|
actions: null
|
|
18
18
|
})).toBeUndefined();
|
|
@@ -20,89 +20,89 @@ describe('utils', () => {
|
|
|
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', function () {
|
|
24
|
+
var actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN];
|
|
25
25
|
expect((0, _getPageActions.default)({
|
|
26
|
-
actions
|
|
26
|
+
actions: 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', function () {
|
|
30
|
+
var actions = [_models.PageAction.TYPES.SAVE_AND_CONTINUE, _models.PageAction.TYPES.SAVE_AND_RETURN, null];
|
|
31
31
|
expect((0, _getPageActions.default)({
|
|
32
|
-
actions
|
|
32
|
+
actions: 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', function () {
|
|
36
|
+
var 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: 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', function () {
|
|
42
|
+
var actions = [{
|
|
43
43
|
type: 'navigate',
|
|
44
44
|
page: 'alpha'
|
|
45
45
|
}];
|
|
46
46
|
expect((0, _getPageActions.default)({
|
|
47
|
-
actions
|
|
47
|
+
actions: 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', function () {
|
|
51
|
+
var actions = [{
|
|
52
52
|
type: 'navigate',
|
|
53
53
|
href: '/alpha/bravo'
|
|
54
54
|
}];
|
|
55
55
|
expect((0, _getPageActions.default)({
|
|
56
|
-
actions
|
|
56
|
+
actions: 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', function () {
|
|
64
|
+
var actions = [{
|
|
65
65
|
type: 'navigate',
|
|
66
66
|
url: '/alpha/bravo'
|
|
67
67
|
}];
|
|
68
68
|
expect((0, _getPageActions.default)({
|
|
69
|
-
actions
|
|
69
|
+
actions: 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', function () {
|
|
77
|
+
var actions = [{
|
|
78
78
|
type: 'submit',
|
|
79
79
|
label: 'Charlie'
|
|
80
80
|
}];
|
|
81
81
|
expect((0, _getPageActions.default)({
|
|
82
|
-
actions
|
|
82
|
+
actions: 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', function () {
|
|
86
|
+
var actions = [{
|
|
87
87
|
type: 'saveAndContinue',
|
|
88
88
|
label: 'Charlie'
|
|
89
89
|
}];
|
|
90
90
|
expect((0, _getPageActions.default)({
|
|
91
|
-
actions
|
|
91
|
+
actions: 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', function () {
|
|
99
|
+
var 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: actions
|
|
106
106
|
})).toEqual([{
|
|
107
107
|
type: 'submit',
|
|
108
108
|
label: 'Charlie',
|
|
@@ -11,14 +11,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
11
11
|
|
|
12
12
|
// Local imports.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var getPageTitle = function getPageTitle(title, formData) {
|
|
15
15
|
if (typeof title === 'string') {
|
|
16
16
|
return _copReactComponents.Utils.interpolateString(title, formData);
|
|
17
17
|
}
|
|
18
18
|
if (!Array.isArray(title)) {
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
var shownOption = title.find(function (option) {
|
|
22
22
|
if (typeof option === 'string') {
|
|
23
23
|
// This is intended to allow a plain string 'fallback' option in the array.
|
|
24
24
|
// As such, it should be the last option in the array as any options after
|
|
@@ -2,32 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
var _getPageTitle = _interopRequireDefault(require("./getPageTitle"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.FormPage.getPageTitle', ()
|
|
6
|
-
|
|
5
|
+
describe('utils.FormPage.getPageTitle', function () {
|
|
6
|
+
var FORM_DATA = {
|
|
7
7
|
testField: 'Alpha',
|
|
8
8
|
testField2: 'yes'
|
|
9
9
|
};
|
|
10
|
-
it('should return null if title is not defined', ()
|
|
11
|
-
|
|
10
|
+
it('should return null if title is not defined', function () {
|
|
11
|
+
var result = (0, _getPageTitle.default)(null, FORM_DATA);
|
|
12
12
|
expect(result).toEqual(null);
|
|
13
13
|
});
|
|
14
|
-
it('should return the defined page title if it\'s just a string', ()
|
|
15
|
-
|
|
14
|
+
it('should return the defined page title if it\'s just a string', function () {
|
|
15
|
+
var PAGE = {
|
|
16
16
|
title: 'Page title'
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
var result = (0, _getPageTitle.default)(PAGE.title, FORM_DATA);
|
|
19
19
|
expect(result).toEqual('Page title');
|
|
20
20
|
});
|
|
21
|
-
it('should return a correctly interpolated title', ()
|
|
21
|
+
it('should return a correctly interpolated title', function () {
|
|
22
22
|
// eslint-disable-next-line no-template-curly-in-string
|
|
23
|
-
|
|
23
|
+
var PAGE = {
|
|
24
24
|
title: '${testField} title'
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
var result = (0, _getPageTitle.default)(PAGE.title, FORM_DATA);
|
|
27
27
|
expect(result).toEqual("".concat(FORM_DATA.testField, " title"));
|
|
28
28
|
});
|
|
29
|
-
it('should return the title that has it\'s conditions met', ()
|
|
30
|
-
|
|
29
|
+
it('should return the title that has it\'s conditions met', function () {
|
|
30
|
+
var PAGE = {
|
|
31
31
|
title: [{
|
|
32
32
|
title: 'First title',
|
|
33
33
|
show_when: [{
|
|
@@ -44,11 +44,11 @@ describe('utils.FormPage.getPageTitle', () => {
|
|
|
44
44
|
}]
|
|
45
45
|
}]
|
|
46
46
|
};
|
|
47
|
-
|
|
47
|
+
var result = (0, _getPageTitle.default)(PAGE.title, FORM_DATA);
|
|
48
48
|
expect(result).toEqual('Second title');
|
|
49
49
|
});
|
|
50
|
-
it('should return a plain string title if one is encountered in the array', ()
|
|
51
|
-
|
|
50
|
+
it('should return a plain string title if one is encountered in the array', function () {
|
|
51
|
+
var PAGE = {
|
|
52
52
|
title: [{
|
|
53
53
|
title: 'First title',
|
|
54
54
|
show_when: [{
|
|
@@ -65,11 +65,11 @@ describe('utils.FormPage.getPageTitle', () => {
|
|
|
65
65
|
}]
|
|
66
66
|
}, "Default title"]
|
|
67
67
|
};
|
|
68
|
-
|
|
68
|
+
var result = (0, _getPageTitle.default)(PAGE.title, FORM_DATA);
|
|
69
69
|
expect(result).toEqual('Default title');
|
|
70
70
|
});
|
|
71
|
-
it('should correctly interpolate a plain string option in the title array', ()
|
|
72
|
-
|
|
71
|
+
it('should correctly interpolate a plain string option in the title array', function () {
|
|
72
|
+
var PAGE = {
|
|
73
73
|
title: [{
|
|
74
74
|
title: 'First title',
|
|
75
75
|
show_when: [{
|
|
@@ -88,11 +88,11 @@ describe('utils.FormPage.getPageTitle', () => {
|
|
|
88
88
|
// eslint-disable-next-line no-template-curly-in-string
|
|
89
89
|
"${testField} title"]
|
|
90
90
|
};
|
|
91
|
-
|
|
91
|
+
var result = (0, _getPageTitle.default)(PAGE.title, FORM_DATA);
|
|
92
92
|
expect(result).toEqual("".concat(FORM_DATA.testField, " title"));
|
|
93
93
|
});
|
|
94
|
-
it('should correctly interpolate a conditional title', ()
|
|
95
|
-
|
|
94
|
+
it('should correctly interpolate a conditional title', function () {
|
|
95
|
+
var PAGE = {
|
|
96
96
|
title: [{
|
|
97
97
|
title: 'First title',
|
|
98
98
|
show_when: [{
|
|
@@ -110,7 +110,7 @@ describe('utils.FormPage.getPageTitle', () => {
|
|
|
110
110
|
}]
|
|
111
111
|
}]
|
|
112
112
|
};
|
|
113
|
-
|
|
113
|
+
var result = (0, _getPageTitle.default)(PAGE.title, FORM_DATA);
|
|
114
114
|
expect(result).toEqual("".concat(FORM_DATA.testField, " title"));
|
|
115
115
|
});
|
|
116
116
|
});
|