@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -5,16 +5,18 @@ var _formatDataForForm = _interopRequireDefault(require("./formatDataForForm"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('utils', ()
|
|
9
|
-
describe('Format', ()
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
describe('utils', function () {
|
|
9
|
+
describe('Format', function () {
|
|
10
|
+
var setupField = function setupField(fieldId, format) {
|
|
11
|
+
return {
|
|
12
|
+
fieldId: fieldId,
|
|
13
|
+
format: format
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
describe('formatDataForForm', function () {
|
|
17
|
+
it('should appropriately format entire form', function () {
|
|
18
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
19
|
+
var COMPONENTS = [setupField('alpha', {
|
|
18
20
|
type: 'lowercase',
|
|
19
21
|
on: _models.EventTypes.SUBMIT
|
|
20
22
|
}),
|
|
@@ -41,14 +43,15 @@ describe('utils', () => {
|
|
|
41
43
|
on: _models.EventTypes.SUBMIT
|
|
42
44
|
}) // Should not be formatted because of event type
|
|
43
45
|
];
|
|
44
|
-
|
|
46
|
+
|
|
47
|
+
var DATA = {
|
|
45
48
|
alpha: 'AlPhA',
|
|
46
49
|
bravo: 'bRaVo',
|
|
47
50
|
charlie: 'CHArlie',
|
|
48
51
|
delta: 'deLTA',
|
|
49
52
|
foxtrot: 'FOXTROT'
|
|
50
53
|
};
|
|
51
|
-
|
|
54
|
+
var FORM = {
|
|
52
55
|
components: COMPONENTS.slice(0, 1),
|
|
53
56
|
pages: [{
|
|
54
57
|
components: COMPONENTS.slice(2, 3)
|
|
@@ -56,7 +59,7 @@ describe('utils', () => {
|
|
|
56
59
|
components: COMPONENTS.slice(4)
|
|
57
60
|
}]
|
|
58
61
|
};
|
|
59
|
-
|
|
62
|
+
var FORMATTED_DATA = (0, _formatDataForForm.default)(FORM, DATA, EVENT_TYPE);
|
|
60
63
|
expect(FORMATTED_DATA).toEqual({
|
|
61
64
|
alpha: 'alpha',
|
|
62
65
|
bravo: 'bRaVo',
|
|
@@ -13,7 +13,7 @@ var _formatDataForComponent = require("./formatDataForComponent");
|
|
|
13
13
|
* @param {object} data The top-level form data.
|
|
14
14
|
* @param {string} eventType What type of event initiated this call.
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
var formatDataForPage = function formatDataForPage(page, data, eventType) {
|
|
17
17
|
(0, _formatDataForComponent.formatDataForComponents)(page.components, data, eventType);
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -23,8 +23,9 @@ const formatDataForPage = (page, data, eventType) => {
|
|
|
23
23
|
* @param {object} data The top-level form data.
|
|
24
24
|
* @param {string} eventType What type of event initiated this call.
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
|
-
pages.forEach(
|
|
26
|
+
var formatDataForPages = exports.formatDataForPages = function formatDataForPages(pages, data, eventType) {
|
|
27
|
+
pages.forEach(function (page) {
|
|
28
|
+
return formatDataForPage(page, data, eventType);
|
|
29
|
+
});
|
|
28
30
|
};
|
|
29
|
-
exports.formatDataForPages = formatDataForPages;
|
|
30
31
|
var _default = exports.default = formatDataForPage;
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
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); }
|
|
3
4
|
var _models = require("../../models");
|
|
4
5
|
var _formatDataForPage = _interopRequireWildcard(require("./formatDataForPage"));
|
|
5
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
6
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
6
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
7
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
7
8
|
// Local imports
|
|
8
9
|
|
|
9
|
-
describe('utils', ()
|
|
10
|
-
describe('Format', ()
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
describe('utils', function () {
|
|
11
|
+
describe('Format', function () {
|
|
12
|
+
var setupField = function setupField(fieldId, format) {
|
|
13
|
+
return {
|
|
14
|
+
fieldId: fieldId,
|
|
15
|
+
format: format
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
describe('formatDataForPage', function () {
|
|
19
|
+
it('should appropriately format a page of components', function () {
|
|
20
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
21
|
+
var COMPONENTS = [setupField('alpha', {
|
|
19
22
|
type: 'lowercase',
|
|
20
23
|
on: _models.EventTypes.SUBMIT
|
|
21
24
|
}),
|
|
@@ -32,13 +35,14 @@ describe('utils', () => {
|
|
|
32
35
|
on: _models.EventTypes.BLUR
|
|
33
36
|
}) // Should not be formatted because of event type
|
|
34
37
|
];
|
|
35
|
-
|
|
38
|
+
|
|
39
|
+
var DATA = {
|
|
36
40
|
alpha: 'AlPhA',
|
|
37
41
|
bravo: 'bRaVo',
|
|
38
42
|
charlie: 'CHArlie',
|
|
39
43
|
delta: 'deLTA'
|
|
40
44
|
};
|
|
41
|
-
|
|
45
|
+
var PAGE = {
|
|
42
46
|
components: COMPONENTS
|
|
43
47
|
};
|
|
44
48
|
(0, _formatDataForPage.default)(PAGE, DATA, EVENT_TYPE);
|
|
@@ -50,10 +54,10 @@ describe('utils', () => {
|
|
|
50
54
|
});
|
|
51
55
|
});
|
|
52
56
|
});
|
|
53
|
-
describe('formatDataForPages', ()
|
|
54
|
-
it('should appropriately format multiple pages', ()
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
describe('formatDataForPages', function () {
|
|
58
|
+
it('should appropriately format multiple pages', function () {
|
|
59
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
60
|
+
var COMPONENTS = [setupField('alpha', {
|
|
57
61
|
type: 'lowercase',
|
|
58
62
|
on: _models.EventTypes.SUBMIT
|
|
59
63
|
}),
|
|
@@ -70,13 +74,14 @@ describe('utils', () => {
|
|
|
70
74
|
on: _models.EventTypes.BLUR
|
|
71
75
|
}) // Should not be formatted because of event type
|
|
72
76
|
];
|
|
73
|
-
|
|
77
|
+
|
|
78
|
+
var DATA = {
|
|
74
79
|
alpha: 'AlPhA',
|
|
75
80
|
bravo: 'bRaVo',
|
|
76
81
|
charlie: 'CHArlie',
|
|
77
82
|
delta: 'deLTA'
|
|
78
83
|
};
|
|
79
|
-
|
|
84
|
+
var PAGES = [{
|
|
80
85
|
components: COMPONENTS.slice(0, 1)
|
|
81
86
|
}, {
|
|
82
87
|
components: COMPONENTS.slice(2)
|
|
@@ -11,7 +11,7 @@ var _formatDataForPage = _interopRequireDefault(require("./formatDataForPage"));
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
// Local imports
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
var Format = {
|
|
15
15
|
component: _formatDataForComponent.default,
|
|
16
16
|
data: _formatData.default,
|
|
17
17
|
form: _formatDataForForm.default,
|
|
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
22
22
|
* The string "CYA" if the CYA screen should be used, or;
|
|
23
23
|
* A page configuration object if the CYA screen should not be used and components are defined.
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
var getFormHub = function getFormHub(type, hub, components, formData) {
|
|
26
26
|
if (type === _models.FormTypes.HUB && hub) {
|
|
27
27
|
if (hub.format === _models.HubFormats.CYA) {
|
|
28
28
|
return _models.HubFormats.CYA;
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
var _models = require("../../models");
|
|
4
4
|
var _getFormHub = _interopRequireDefault(require("./getFormHub"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
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); }
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
11
|
+
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
|
|
12
|
+
describe('utils', function () {
|
|
13
|
+
describe('Hub', function () {
|
|
14
|
+
describe('getFormHub', function () {
|
|
15
|
+
var FORM_COMPONENTS = [{
|
|
12
16
|
id: 'a',
|
|
13
17
|
fieldId: 'a',
|
|
14
18
|
label: 'Alpha',
|
|
@@ -29,33 +33,33 @@ describe('utils', () => {
|
|
|
29
33
|
url: '${urls.refData}/v3/charlies'
|
|
30
34
|
}
|
|
31
35
|
}];
|
|
32
|
-
|
|
36
|
+
var FORM_DATA = {
|
|
33
37
|
urls: {
|
|
34
38
|
refData: 'https://ho.gov.uk/ref-data/'
|
|
35
39
|
}
|
|
36
40
|
};
|
|
37
|
-
[_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.WIZARD].forEach(formType
|
|
38
|
-
describe("when the FormType is \"".concat(formType, "\""), ()
|
|
39
|
-
it('should return undefined', ()
|
|
41
|
+
[_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.WIZARD].forEach(function (formType) {
|
|
42
|
+
describe("when the FormType is \"".concat(formType, "\""), function () {
|
|
43
|
+
it('should return undefined', function () {
|
|
40
44
|
expect((0, _getFormHub.default)(formType, {}, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
|
|
41
45
|
});
|
|
42
46
|
});
|
|
43
47
|
});
|
|
44
|
-
describe("when the FormType is \"".concat(_models.FormTypes.HUB, "\""), ()
|
|
45
|
-
it('should return undefined when there is no hub', ()
|
|
48
|
+
describe("when the FormType is \"".concat(_models.FormTypes.HUB, "\""), function () {
|
|
49
|
+
it('should return undefined when there is no hub', function () {
|
|
46
50
|
expect((0, _getFormHub.default)(_models.FormTypes.HUB, null, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
|
|
47
51
|
});
|
|
48
|
-
it("should return undefined when the format is not \"".concat(_models.HubFormats.CYA, "\" but hub also has no components"), ()
|
|
52
|
+
it("should return undefined when the format is not \"".concat(_models.HubFormats.CYA, "\" but hub also has no components"), function () {
|
|
49
53
|
expect((0, _getFormHub.default)(_models.FormTypes.HUB, {}, FORM_COMPONENTS, FORM_DATA)).toBeUndefined();
|
|
50
54
|
});
|
|
51
|
-
it("should return the string \"".concat(_models.HubFormats.CYA, "\" when the format is set to \"").concat(_models.HubFormats.CYA, "\""), ()
|
|
52
|
-
|
|
55
|
+
it("should return the string \"".concat(_models.HubFormats.CYA, "\" when the format is set to \"").concat(_models.HubFormats.CYA, "\""), function () {
|
|
56
|
+
var HUB = {
|
|
53
57
|
format: _models.HubFormats.CYA
|
|
54
58
|
};
|
|
55
59
|
expect((0, _getFormHub.default)(_models.FormTypes.HUB, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual(_models.HubFormats.CYA);
|
|
56
60
|
});
|
|
57
|
-
it("should return an appropriate page when the format is not \"".concat(_models.HubFormats.CYA, "\" and hub contains components"), ()
|
|
58
|
-
|
|
61
|
+
it("should return an appropriate page when the format is not \"".concat(_models.HubFormats.CYA, "\" and hub contains components"), function () {
|
|
62
|
+
var HUB = {
|
|
59
63
|
title: 'Hub title',
|
|
60
64
|
components: ['Opening paragraph', {
|
|
61
65
|
type: 'heading',
|
|
@@ -65,33 +69,32 @@ describe('utils', () => {
|
|
|
65
69
|
use: 'a'
|
|
66
70
|
}]
|
|
67
71
|
};
|
|
68
|
-
|
|
72
|
+
var A = FORM_COMPONENTS[0];
|
|
69
73
|
expect((0, _getFormHub.default)(_models.FormTypes.HUB, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual({
|
|
70
74
|
title: HUB.title,
|
|
71
75
|
components: [{
|
|
72
76
|
type: 'html',
|
|
73
77
|
tagName: 'p',
|
|
74
78
|
content: HUB.components[0]
|
|
75
|
-
}, {
|
|
76
|
-
...HUB.components[1],
|
|
79
|
+
}, _objectSpread(_objectSpread({}, HUB.components[1]), {}, {
|
|
77
80
|
full_path: HUB.components[1].fieldId
|
|
78
|
-
}, {
|
|
81
|
+
}), {
|
|
79
82
|
type: 'html',
|
|
80
83
|
tagName: 'p',
|
|
81
84
|
content: HUB.components[2]
|
|
82
|
-
}, {
|
|
83
|
-
use: 'a'
|
|
84
|
-
|
|
85
|
+
}, _objectSpread(_objectSpread({
|
|
86
|
+
use: 'a'
|
|
87
|
+
}, A), {}, {
|
|
85
88
|
cya_label: A.label,
|
|
86
89
|
full_path: A.fieldId
|
|
87
|
-
}],
|
|
90
|
+
})],
|
|
88
91
|
formData: FORM_DATA
|
|
89
92
|
});
|
|
90
93
|
});
|
|
91
94
|
});
|
|
92
|
-
describe("when the FormType is \"".concat(_models.FormTypes.TASK, "\""), ()
|
|
93
|
-
it("should return the string \"".concat(_models.HubFormats.TASK, "\" when the format is set to \"").concat(_models.HubFormats.TASK, "\""), ()
|
|
94
|
-
|
|
95
|
+
describe("when the FormType is \"".concat(_models.FormTypes.TASK, "\""), function () {
|
|
96
|
+
it("should return the string \"".concat(_models.HubFormats.TASK, "\" when the format is set to \"").concat(_models.HubFormats.TASK, "\""), function () {
|
|
97
|
+
var HUB = {
|
|
95
98
|
format: _models.HubFormats.TASK
|
|
96
99
|
};
|
|
97
100
|
expect((0, _getFormHub.default)(_models.FormTypes.TASK, HUB, FORM_COMPONENTS, FORM_DATA)).toEqual(_models.HubFormats.TASK);
|
package/dist/utils/Hub/index.js
CHANGED
|
@@ -8,7 +8,7 @@ var _getFormHub = _interopRequireDefault(require("./getFormHub"));
|
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
// Local imports
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
var Hub = {
|
|
12
12
|
get: _getFormHub.default
|
|
13
13
|
};
|
|
14
14
|
var _default = exports.default = Hub;
|
|
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.META_PROPERTY = exports.META_DOCUMENTS_PROPERTY = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var META_PROPERTY = exports.META_PROPERTY = 'meta';
|
|
8
|
+
var META_DOCUMENTS_PROPERTY = exports.META_DOCUMENTS_PROPERTY = 'documents';
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _constants = require("../constants");
|
|
8
8
|
// Local imports
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
var getDocuments = function getDocuments(formData) {
|
|
11
11
|
var _formData$META_PROPER;
|
|
12
12
|
return (formData === null || formData === void 0 || (_formData$META_PROPER = formData[_constants.META_PROPERTY]) === null || _formData$META_PROPER === void 0 ? void 0 : _formData$META_PROPER[_constants.META_DOCUMENTS_PROPERTY]) || [];
|
|
13
13
|
};
|
|
@@ -3,43 +3,35 @@
|
|
|
3
3
|
var _constants = require("../constants");
|
|
4
4
|
var _getDocuments = _interopRequireDefault(require("./getDocuments"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
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); }
|
|
7
|
+
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; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
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); }
|
|
10
|
+
describe('Utils.Meta.documents.get', function () {
|
|
11
|
+
it('should return an empty array if formData is null', function () {
|
|
8
12
|
expect((0, _getDocuments.default)(null)).toEqual([]);
|
|
9
13
|
});
|
|
10
|
-
it('should return an empty array if formData does not contain a meta property', ()
|
|
14
|
+
it('should return an empty array if formData does not contain a meta property', function () {
|
|
11
15
|
expect((0, _getDocuments.default)({})).toEqual([]);
|
|
12
16
|
});
|
|
13
|
-
it('should return an empty array if the meta property is undefined', ()
|
|
14
|
-
|
|
15
|
-
[_constants.META_PROPERTY]: undefined
|
|
16
|
-
};
|
|
17
|
+
it('should return an empty array if the meta property is undefined', function () {
|
|
18
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, undefined);
|
|
17
19
|
expect((0, _getDocuments.default)(FORM_DATA)).toEqual([]);
|
|
18
20
|
});
|
|
19
|
-
it('should return an empty array if the meta property contains no documents property', ()
|
|
20
|
-
|
|
21
|
-
[_constants.META_PROPERTY]: {}
|
|
22
|
-
};
|
|
21
|
+
it('should return an empty array if the meta property contains no documents property', function () {
|
|
22
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, {});
|
|
23
23
|
expect((0, _getDocuments.default)(FORM_DATA)).toEqual([]);
|
|
24
24
|
});
|
|
25
|
-
it('should return an empty array if the meta.documents property is undefined', ()
|
|
26
|
-
|
|
27
|
-
[_constants.META_PROPERTY]: {
|
|
28
|
-
[_constants.META_DOCUMENTS_PROPERTY]: undefined
|
|
29
|
-
}
|
|
30
|
-
};
|
|
25
|
+
it('should return an empty array if the meta.documents property is undefined', function () {
|
|
26
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, undefined));
|
|
31
27
|
expect((0, _getDocuments.default)(FORM_DATA)).toEqual([]);
|
|
32
28
|
});
|
|
33
|
-
it('should return the meta.documents property if it exists', ()
|
|
34
|
-
|
|
29
|
+
it('should return the meta.documents property if it exists', function () {
|
|
30
|
+
var DOCUMENTS = [{
|
|
35
31
|
field: 'alpha',
|
|
36
32
|
url: 'http://alpha-bravo.com/files/charlie'
|
|
37
33
|
}];
|
|
38
|
-
|
|
39
|
-
[_constants.META_PROPERTY]: {
|
|
40
|
-
[_constants.META_DOCUMENTS_PROPERTY]: DOCUMENTS
|
|
41
|
-
}
|
|
42
|
-
};
|
|
34
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, DOCUMENTS));
|
|
43
35
|
expect((0, _getDocuments.default)(FORM_DATA)).toEqual(DOCUMENTS);
|
|
44
36
|
});
|
|
45
37
|
});
|
|
@@ -10,7 +10,7 @@ var _getDocuments = _interopRequireDefault(require("./getDocuments"));
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
// Local imports
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
var documents = {
|
|
14
14
|
setForField: _setDocumentsForField.default,
|
|
15
15
|
get: _getDocuments.default,
|
|
16
16
|
name: _constants.META_DOCUMENTS_PROPERTY
|
|
@@ -7,22 +7,24 @@ exports.default = void 0;
|
|
|
7
7
|
var _constants = require("../constants");
|
|
8
8
|
var _getDocuments = _interopRequireDefault(require("./getDocuments"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
+
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
|
|
16
|
+
var setDocumentsForField = function setDocumentsForField(documents, formData, field, allowMultiple) {
|
|
17
|
+
var changedDocuments = allowMultiple ? (0, _getDocuments.default)(formData) : (0, _getDocuments.default)(formData).filter(function (d) {
|
|
18
|
+
return d.field !== field;
|
|
19
|
+
});
|
|
14
20
|
if (Array.isArray(documents)) {
|
|
15
|
-
documents.forEach(document
|
|
16
|
-
changedDocuments.push({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
});
|
|
21
|
+
documents.forEach(function (document) {
|
|
22
|
+
changedDocuments.push(_objectSpread(_objectSpread({}, document), {}, {
|
|
23
|
+
field: field
|
|
24
|
+
}));
|
|
20
25
|
});
|
|
21
26
|
}
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
...existing,
|
|
25
|
-
[_constants.META_DOCUMENTS_PROPERTY]: changedDocuments
|
|
26
|
-
};
|
|
27
|
+
var existing = formData ? formData[_constants.META_PROPERTY] : undefined;
|
|
28
|
+
return _objectSpread(_objectSpread({}, existing), {}, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, changedDocuments));
|
|
27
29
|
};
|
|
28
30
|
var _default = exports.default = setDocumentsForField;
|
|
@@ -3,91 +3,57 @@
|
|
|
3
3
|
var _constants = require("../constants");
|
|
4
4
|
var _setDocumentsForField = _interopRequireDefault(require("./setDocumentsForField"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
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); }
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
11
|
+
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); }
|
|
12
|
+
describe('Utils.Meta.documents.add', function () {
|
|
13
|
+
var ALPHA_DOCUMENT = {
|
|
8
14
|
field: 'alpha',
|
|
9
15
|
url: 'http://alpha-bravo.com/files/alpha'
|
|
10
16
|
};
|
|
11
|
-
|
|
17
|
+
var BRAVO_DOCUMENT = {
|
|
12
18
|
field: 'bravo',
|
|
13
19
|
url: 'http://alpha-bravo.com/files/bravo'
|
|
14
20
|
};
|
|
15
|
-
it('should return an appropriately set up object if formData is null', ()
|
|
16
|
-
expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT], null, ALPHA_DOCUMENT.field)).toEqual({
|
|
17
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
18
|
-
});
|
|
21
|
+
it('should return an appropriately set up object if formData is null', function () {
|
|
22
|
+
expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT], null, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
19
23
|
});
|
|
20
|
-
it('should add a new document to the array', ()
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
expect((0, _setDocumentsForField.default)([BRAVO_DOCUMENT], FORM_DATA, BRAVO_DOCUMENT.field)).toEqual({
|
|
27
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, BRAVO_DOCUMENT]
|
|
28
|
-
});
|
|
24
|
+
it('should add a new document to the array', function () {
|
|
25
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
26
|
+
expect((0, _setDocumentsForField.default)([BRAVO_DOCUMENT], FORM_DATA, BRAVO_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, BRAVO_DOCUMENT]));
|
|
29
27
|
});
|
|
30
|
-
it('should add multiple new documents to the array', ()
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const SECOND_DOCUMENT = {
|
|
37
|
-
...ALPHA_DOCUMENT
|
|
38
|
-
};
|
|
39
|
-
expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT, SECOND_DOCUMENT], FORM_DATA, ALPHA_DOCUMENT.field)).toEqual({
|
|
40
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, SECOND_DOCUMENT]
|
|
41
|
-
});
|
|
28
|
+
it('should add multiple new documents to the array', function () {
|
|
29
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, []));
|
|
30
|
+
var SECOND_DOCUMENT = _objectSpread({}, ALPHA_DOCUMENT);
|
|
31
|
+
expect((0, _setDocumentsForField.default)([ALPHA_DOCUMENT, SECOND_DOCUMENT], FORM_DATA, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, SECOND_DOCUMENT]));
|
|
42
32
|
});
|
|
43
|
-
it('should replace an existing document with the same field', ()
|
|
44
|
-
|
|
45
|
-
|
|
33
|
+
it('should replace an existing document with the same field', function () {
|
|
34
|
+
var NEW_URL = 'http://replacement.com/files/alpha';
|
|
35
|
+
var NEW_ALPHA = {
|
|
46
36
|
field: ALPHA_DOCUMENT.field,
|
|
47
37
|
url: NEW_URL
|
|
48
38
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field)).toEqual({
|
|
55
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [NEW_ALPHA]
|
|
56
|
-
});
|
|
39
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
40
|
+
expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [NEW_ALPHA]));
|
|
57
41
|
});
|
|
58
|
-
it('should add a document with the same field if allowMultiple is true', ()
|
|
59
|
-
|
|
60
|
-
|
|
42
|
+
it('should add a document with the same field if allowMultiple is true', function () {
|
|
43
|
+
var NEW_URL = 'http://replacement.com/files/alpha';
|
|
44
|
+
var NEW_ALPHA = {
|
|
61
45
|
field: ALPHA_DOCUMENT.field,
|
|
62
46
|
url: NEW_URL
|
|
63
47
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field, true)).toEqual({
|
|
70
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT, NEW_ALPHA]
|
|
71
|
-
});
|
|
48
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
49
|
+
expect((0, _setDocumentsForField.default)([NEW_ALPHA], FORM_DATA, NEW_ALPHA.field, true)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT, NEW_ALPHA]));
|
|
72
50
|
});
|
|
73
|
-
it('should handle a null document being passed where a document with that field already exists', ()
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
expect((0, _setDocumentsForField.default)(null, FORM_DATA, ALPHA_DOCUMENT.field)).toEqual({
|
|
80
|
-
[_constants.META_DOCUMENTS_PROPERTY]: []
|
|
81
|
-
});
|
|
51
|
+
it('should handle a null document being passed where a document with that field already exists', function () {
|
|
52
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
53
|
+
expect((0, _setDocumentsForField.default)(null, FORM_DATA, ALPHA_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, []));
|
|
82
54
|
});
|
|
83
|
-
it('should handle a null document being passed where a document with that field does not already exist', ()
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
expect((0, _setDocumentsForField.default)(null, FORM_DATA, BRAVO_DOCUMENT.field)).toEqual({
|
|
90
|
-
[_constants.META_DOCUMENTS_PROPERTY]: [ALPHA_DOCUMENT]
|
|
91
|
-
});
|
|
55
|
+
it('should handle a null document being passed where a document with that field does not already exist', function () {
|
|
56
|
+
var FORM_DATA = _defineProperty({}, _constants.META_PROPERTY, _defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
57
|
+
expect((0, _setDocumentsForField.default)(null, FORM_DATA, BRAVO_DOCUMENT.field)).toEqual(_defineProperty({}, _constants.META_DOCUMENTS_PROPERTY, [ALPHA_DOCUMENT]));
|
|
92
58
|
});
|
|
93
59
|
});
|
package/dist/utils/Meta/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var _documents = _interopRequireDefault(require("./documents"));
|
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
// Local imports
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
var Meta = {
|
|
13
13
|
documents: _documents.default,
|
|
14
14
|
name: _constants.META_PROPERTY
|
|
15
15
|
};
|
|
@@ -18,9 +18,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
18
18
|
* @param {object} data The page's formData.
|
|
19
19
|
* @returns true if the value is truthy, false if it isn't or doesn't exist.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
var checkValueIsTruthy = function checkValueIsTruthy(config, data) {
|
|
22
22
|
if (config !== null && config !== void 0 && config.field) {
|
|
23
|
-
|
|
23
|
+
var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
|
|
24
24
|
return !!(0, _getSourceData.default)(data, fieldPath);
|
|
25
25
|
}
|
|
26
26
|
return false;
|