@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +66 -75
- package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
- package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
- package/dist/components/CollectionSummary/Confirmation.js +13 -15
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +63 -46
- package/dist/components/CollectionSummary/RenderListView.scss +9 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +120 -84
- package/dist/components/CollectionSummary/SummaryCard.js +157 -121
- package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
- package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +117 -80
- package/dist/components/FormComponent/Collection.test.js +1082 -910
- package/dist/components/FormComponent/Container.js +38 -43
- package/dist/components/FormComponent/Container.test.js +411 -379
- package/dist/components/FormComponent/FormComponent.js +74 -71
- package/dist/components/FormComponent/FormComponent.test.js +415 -354
- 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 +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +87 -71
- package/dist/components/FormPage/FormPage.test.js +170 -133
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +198 -153
- package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +54 -61
- package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
- package/dist/components/FormRenderer/onPageAction.js +41 -45
- package/dist/components/FormRenderer/onPageAction.test.js +210 -225
- package/dist/components/FormRenderer/onTaskAction.js +15 -11
- package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
- package/dist/components/PageActions/ActionButton.js +16 -13
- package/dist/components/PageActions/ActionButton.test.js +79 -57
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +116 -87
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +21 -13
- package/dist/components/SummaryList/GroupAction.test.js +37 -41
- package/dist/components/SummaryList/RowAction.js +17 -12
- package/dist/components/SummaryList/RowAction.test.js +37 -41
- package/dist/components/SummaryList/SummaryList.js +28 -23
- package/dist/components/SummaryList/SummaryList.test.js +206 -179
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
- package/dist/components/SummaryList/SummaryListRow.js +6 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +30 -20
- package/dist/components/TaskList/Task.test.js +77 -84
- package/dist/components/TaskList/TaskList.js +84 -53
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +6 -8
- package/dist/components/TaskList/TaskState.test.js +49 -56
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +81 -58
- package/dist/context/HooksContext/HooksContext.test.js +36 -27
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +95 -44
- package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +11 -10
- package/dist/hooks/useAxios.js +41 -15
- package/dist/hooks/useGetRequest.js +98 -62
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +41 -28
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +15 -14
- 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 +10 -10
- package/dist/setupTests.js +32 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
- package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
- package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +20 -19
- package/dist/utils/Component/applyToComponentTree.test.js +33 -28
- 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 +34 -34
- package/dist/utils/Component/getComponent.js +97 -90
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
- package/dist/utils/Component/getDefaultValue.js +9 -7
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +4 -2
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +4 -3
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +31 -20
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +19 -14
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +6 -4
- package/dist/utils/Container/getEditableComponents.test.js +46 -44
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +22 -16
- package/dist/utils/Container/setupNesting.test.js +31 -28
- package/dist/utils/Container/showContainer.js +8 -4
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +50 -40
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +8 -4
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +29 -20
- package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
- package/dist/utils/Data/getDataPath.js +30 -20
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +34 -27
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +81 -85
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +15 -11
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +22 -14
- package/dist/utils/Data/setupFormData.test.js +51 -52
- package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
- package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +17 -16
- package/dist/utils/FormPage/getFormPage.test.js +48 -49
- package/dist/utils/FormPage/getFormPages.js +13 -8
- package/dist/utils/FormPage/getFormPages.test.js +25 -22
- package/dist/utils/FormPage/getPageActions.js +17 -10
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +5 -3
- package/dist/utils/FormPage/showFormPage.js +8 -4
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +80 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +7 -6
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +17 -14
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +32 -29
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +4 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +37 -36
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +28 -22
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +5 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +14 -9
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +40 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
- package/dist/utils/Validate/additional/utils.js +24 -11
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +27 -21
- package/dist/utils/Validate/validateCollection.test.js +77 -85
- package/dist/utils/Validate/validateComponent.js +23 -22
- package/dist/utils/Validate/validateComponent.test.js +165 -188
- package/dist/utils/Validate/validateContainer.js +21 -16
- package/dist/utils/Validate/validateContainer.test.js +56 -62
- package/dist/utils/Validate/validateDate.js +23 -17
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +9 -7
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +24 -20
- package/dist/utils/Validate/validatePage.test.js +215 -227
- package/dist/utils/Validate/validateRegex.js +8 -5
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +7 -5
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +7 -5
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +19 -12
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +10 -8
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getIndexOfMatchingValueIn = _interopRequireDefault(require("./getIndexOfMatchingValueIn"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('Utils.Operate.getIndexOfPriorMatchingValueIn', ()
|
|
6
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
describe('Utils.Operate.getIndexOfPriorMatchingValueIn', function () {
|
|
6
|
+
var DATA = {
|
|
7
7
|
arrayOfValues: ['abc', 'bcd', 'cde', 'def', {
|
|
8
8
|
root: {
|
|
9
9
|
branch: 'leaf'
|
|
@@ -17,141 +17,147 @@ describe('Utils.Operate.getIndexOfPriorMatchingValueIn', () => {
|
|
|
17
17
|
cutoffName: 'cutoffIndex',
|
|
18
18
|
ignoreName: 'ignoreIndex'
|
|
19
19
|
};
|
|
20
|
-
it('Should return the index of a matching value if one exists', ()
|
|
21
|
-
|
|
20
|
+
it('Should return the index of a matching value if one exists', function () {
|
|
21
|
+
var CONFIG = {
|
|
22
22
|
target: 'arrayOfValues',
|
|
23
23
|
value: 'cde'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
26
26
|
expect(result).toEqual('2');
|
|
27
27
|
});
|
|
28
|
-
it('Should handle getting value from given field', ()
|
|
29
|
-
|
|
28
|
+
it('Should handle getting value from given field', function () {
|
|
29
|
+
var CONFIG = {
|
|
30
30
|
target: 'arrayOfValues',
|
|
31
31
|
field: 'valueToSearchFor'
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
34
34
|
expect(result).toEqual('2');
|
|
35
35
|
});
|
|
36
|
-
it('Should handle interpolated string for field', ()
|
|
36
|
+
it('Should handle interpolated string for field', function () {
|
|
37
37
|
// eslint-disable-next-line no-template-curly-in-string
|
|
38
|
-
|
|
38
|
+
var CONFIG = {
|
|
39
39
|
target: 'arrayOfValues',
|
|
40
40
|
field: '${fieldName}'
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
43
43
|
expect(result).toEqual('2');
|
|
44
44
|
});
|
|
45
|
-
it('Should handle interpolated string for key', ()
|
|
45
|
+
it('Should handle interpolated string for key', function () {
|
|
46
46
|
// eslint-disable-next-line no-template-curly-in-string
|
|
47
|
-
|
|
47
|
+
var CONFIG = {
|
|
48
48
|
target: 'arrayOfValues',
|
|
49
49
|
key: 'root.branch',
|
|
50
50
|
value: 'leaf'
|
|
51
51
|
};
|
|
52
|
-
|
|
52
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
53
53
|
expect(result).toEqual('4');
|
|
54
54
|
});
|
|
55
|
-
it('Should handle a cutoff value being specified', ()
|
|
56
|
-
|
|
55
|
+
it('Should handle a cutoff value being specified', function () {
|
|
56
|
+
var CONFIG = {
|
|
57
57
|
target: 'arrayOfValues',
|
|
58
58
|
value: 'cde',
|
|
59
59
|
cutoff: {
|
|
60
60
|
value: 1
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
|
-
|
|
63
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
64
64
|
expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
|
|
65
65
|
});
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
|
|
67
|
+
it('Should handle a cutoff field being specified', function () {
|
|
68
|
+
var CONFIG = {
|
|
68
69
|
target: 'arrayOfValues',
|
|
69
70
|
value: 'cde',
|
|
70
71
|
cutoff: {
|
|
71
72
|
field: 'cutoffIndex'
|
|
72
73
|
}
|
|
73
74
|
};
|
|
74
|
-
|
|
75
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
75
76
|
expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
|
|
76
77
|
});
|
|
77
|
-
|
|
78
|
+
|
|
79
|
+
it('Should handle interpolated string for cutoff.field', function () {
|
|
78
80
|
// eslint-disable-next-line no-template-curly-in-string
|
|
79
|
-
|
|
81
|
+
var CONFIG = {
|
|
80
82
|
target: 'arrayOfValues',
|
|
81
83
|
value: 'cde',
|
|
82
84
|
cutoff: {
|
|
83
85
|
field: '${cutoffName}'
|
|
84
86
|
}
|
|
85
87
|
};
|
|
86
|
-
|
|
88
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
87
89
|
expect(result).toEqual(null); // Cutoff occurs before matching value is reached.
|
|
88
90
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
|
|
92
|
+
it('Should handle an ignore value being specified', function () {
|
|
93
|
+
var CONFIG = {
|
|
91
94
|
target: 'arrayOfValues',
|
|
92
95
|
value: 'cde',
|
|
93
96
|
ignore: {
|
|
94
97
|
value: 2
|
|
95
98
|
}
|
|
96
99
|
};
|
|
97
|
-
|
|
100
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
98
101
|
expect(result).toEqual(null); // Should ignore the matching value.
|
|
99
102
|
});
|
|
100
|
-
|
|
101
|
-
|
|
103
|
+
|
|
104
|
+
it('Should handle an ignore field being specified', function () {
|
|
105
|
+
var CONFIG = {
|
|
102
106
|
target: 'arrayOfValues',
|
|
103
107
|
value: 'cde',
|
|
104
108
|
ignore: {
|
|
105
109
|
field: 'ignoreIndex'
|
|
106
110
|
}
|
|
107
111
|
};
|
|
108
|
-
|
|
112
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
109
113
|
expect(result).toEqual(null); // Should ignore the matching value.
|
|
110
114
|
});
|
|
111
|
-
|
|
115
|
+
|
|
116
|
+
it('Should handle interpolated string for ignore.field', function () {
|
|
112
117
|
// eslint-disable-next-line no-template-curly-in-string
|
|
113
|
-
|
|
118
|
+
var CONFIG = {
|
|
114
119
|
target: 'arrayOfValues',
|
|
115
120
|
value: 'cde',
|
|
116
121
|
ignore: {
|
|
117
122
|
field: '${ignoreName}'
|
|
118
123
|
}
|
|
119
124
|
};
|
|
120
|
-
|
|
125
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
121
126
|
expect(result).toEqual(null); // Should ignore the matching value.
|
|
122
127
|
});
|
|
123
|
-
|
|
128
|
+
|
|
129
|
+
it('Should handle interpolated string for target', function () {
|
|
124
130
|
// eslint-disable-next-line no-template-curly-in-string
|
|
125
|
-
|
|
131
|
+
var CONFIG = {
|
|
126
132
|
target: '${targetName}',
|
|
127
133
|
value: 'cde'
|
|
128
134
|
};
|
|
129
|
-
|
|
135
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
130
136
|
expect(result).toEqual('2');
|
|
131
137
|
});
|
|
132
|
-
it('Should return null when the target does not exist', ()
|
|
133
|
-
|
|
138
|
+
it('Should return null when the target does not exist', function () {
|
|
139
|
+
var CONFIG = {
|
|
134
140
|
target: 'notARealTarget',
|
|
135
141
|
value: 'cde'
|
|
136
142
|
};
|
|
137
|
-
|
|
143
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
138
144
|
expect(result).toEqual(null);
|
|
139
145
|
});
|
|
140
|
-
it('Should return null when config is missing fields', ()
|
|
141
|
-
|
|
142
|
-
|
|
146
|
+
it('Should return null when config is missing fields', function () {
|
|
147
|
+
var CONFIG = {};
|
|
148
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, DATA);
|
|
143
149
|
expect(result).toEqual(null);
|
|
144
150
|
});
|
|
145
|
-
it('Should return null when config is invalid', ()
|
|
146
|
-
|
|
151
|
+
it('Should return null when config is invalid', function () {
|
|
152
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(null, DATA);
|
|
147
153
|
expect(result).toEqual(null);
|
|
148
154
|
});
|
|
149
|
-
it('Should return null when data is invalid', ()
|
|
150
|
-
|
|
155
|
+
it('Should return null when data is invalid', function () {
|
|
156
|
+
var CONFIG = {
|
|
151
157
|
target: 'arrayOfValues',
|
|
152
158
|
value: 'cde'
|
|
153
159
|
};
|
|
154
|
-
|
|
160
|
+
var result = (0, _getIndexOfMatchingValueIn.default)(CONFIG, null);
|
|
155
161
|
expect(result).toEqual(null);
|
|
156
162
|
});
|
|
157
163
|
});
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
8
|
var _getCollectionPageActiveIndex = _interopRequireDefault(require("../CollectionPage/getCollectionPageActiveIndex"));
|
|
9
9
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
// Global imports.
|
|
12
12
|
|
|
13
13
|
// Local imports.
|
|
@@ -21,30 +21,30 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
21
21
|
* @param {object} data A page's formData.
|
|
22
22
|
* @returns The length of a field if found or 0
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
var getLength = function getLength(config, data) {
|
|
25
25
|
if (!config || !data) {
|
|
26
26
|
return null;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// Replace any instances of 'collectionName[]' with 'collectionName[activeIndex]'
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
pathParts.forEach(part
|
|
30
|
+
var pathParts = config.target.split('.');
|
|
31
|
+
var updatedPath = '';
|
|
32
|
+
pathParts.forEach(function (part) {
|
|
33
33
|
if (updatedPath !== '') {
|
|
34
34
|
updatedPath += '.';
|
|
35
35
|
}
|
|
36
36
|
if (part.slice(-2) === '[]') {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
updatedPath +=
|
|
37
|
+
var collectionName = part.slice(0, -2);
|
|
38
|
+
var activeIndex = (0, _getCollectionPageActiveIndex.default)(collectionName, data);
|
|
39
|
+
updatedPath += "".concat(collectionName, "[").concat(activeIndex, "]");
|
|
40
40
|
} else {
|
|
41
41
|
updatedPath += part;
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
// Get the field and return its length
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return target
|
|
46
|
+
var targetPath = _copReactComponents.Utils.interpolateString(updatedPath, data);
|
|
47
|
+
var target = (0, _getSourceData.default)(data, targetPath);
|
|
48
|
+
return (target === null || target === void 0 ? void 0 : target.length) || 0;
|
|
49
49
|
};
|
|
50
50
|
var _default = exports.default = getLength;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getLength = _interopRequireDefault(require("./getLength"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('Utils.Operate.getLength', ()
|
|
6
|
-
it('returns null if config is not defined', ()
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
describe('Utils.Operate.getLength', function () {
|
|
6
|
+
it('returns null if config is not defined', function () {
|
|
7
7
|
expect((0, _getLength.default)(null, {})).toEqual(null);
|
|
8
8
|
});
|
|
9
|
-
it('returns null if data is not defined', ()
|
|
9
|
+
it('returns null if data is not defined', function () {
|
|
10
10
|
expect((0, _getLength.default)({}, null)).toEqual(null);
|
|
11
11
|
});
|
|
12
|
-
it('returns the length of a top level string', ()
|
|
13
|
-
|
|
12
|
+
it('returns the length of a top level string', function () {
|
|
13
|
+
var CONFIG = {
|
|
14
14
|
target: 'alpha'
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
var DATA = {
|
|
17
17
|
alpha: 'abcdef'
|
|
18
18
|
};
|
|
19
19
|
expect((0, _getLength.default)(CONFIG, DATA)).toEqual(6);
|
|
20
20
|
});
|
|
21
|
-
it('returns the length of a top level array', ()
|
|
22
|
-
|
|
21
|
+
it('returns the length of a top level array', function () {
|
|
22
|
+
var CONFIG = {
|
|
23
23
|
target: 'alpha'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
var DATA = {
|
|
26
26
|
alpha: [{
|
|
27
27
|
test: 'test'
|
|
28
28
|
}, {
|
|
@@ -35,11 +35,11 @@ describe('Utils.Operate.getLength', () => {
|
|
|
35
35
|
};
|
|
36
36
|
expect((0, _getLength.default)(CONFIG, DATA)).toEqual(4);
|
|
37
37
|
});
|
|
38
|
-
it('returns 0 if the field cannot be found', ()
|
|
39
|
-
|
|
38
|
+
it('returns 0 if the field cannot be found', function () {
|
|
39
|
+
var CONFIG = {
|
|
40
40
|
target: 'alpha'
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
var DATA = {
|
|
43
43
|
beta: [{
|
|
44
44
|
test: 'test'
|
|
45
45
|
}, {
|
|
@@ -52,11 +52,11 @@ describe('Utils.Operate.getLength', () => {
|
|
|
52
52
|
};
|
|
53
53
|
expect((0, _getLength.default)(CONFIG, DATA)).toEqual(0);
|
|
54
54
|
});
|
|
55
|
-
it('returns the length of a field not on the top level', ()
|
|
56
|
-
|
|
55
|
+
it('returns the length of a field not on the top level', function () {
|
|
56
|
+
var CONFIG = {
|
|
57
57
|
target: 'alpha.beta'
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
var DATA = {
|
|
60
60
|
alphaActiveId: 3,
|
|
61
61
|
alpha: {
|
|
62
62
|
beta: 'qwerty'
|
|
@@ -64,11 +64,11 @@ describe('Utils.Operate.getLength', () => {
|
|
|
64
64
|
};
|
|
65
65
|
expect((0, _getLength.default)(CONFIG, DATA)).toEqual(6);
|
|
66
66
|
});
|
|
67
|
-
it('returns the length of an array nested under an array', ()
|
|
68
|
-
|
|
67
|
+
it('returns the length of an array nested under an array', function () {
|
|
68
|
+
var CONFIG = {
|
|
69
69
|
target: 'alpha[].beta'
|
|
70
70
|
};
|
|
71
|
-
|
|
71
|
+
var DATA = {
|
|
72
72
|
alphaActiveId: 3,
|
|
73
73
|
alpha: [{
|
|
74
74
|
id: 1,
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
|
|
8
|
-
function _interopRequireDefault(
|
|
9
|
-
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var Operate = {
|
|
10
10
|
runPageOperations: _runPageOperations.default
|
|
11
11
|
};
|
|
12
12
|
var _default = exports.default = Operate;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
8
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
// Global imports.
|
|
11
11
|
|
|
12
12
|
// Local imports.
|
|
@@ -18,13 +18,13 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
18
18
|
* @param {object} data The page's formData.
|
|
19
19
|
* @param {function} onChange The page's onChange handler.
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (config
|
|
24
|
-
|
|
21
|
+
var persistValueInFormData = function persistValueInFormData(config, data, onChange) {
|
|
22
|
+
var value;
|
|
23
|
+
if (config !== null && config !== void 0 && config.field) {
|
|
24
|
+
var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
|
|
25
25
|
value = (0, _getSourceData.default)(data, fieldPath);
|
|
26
26
|
} else {
|
|
27
|
-
value = config
|
|
27
|
+
value = config === null || config === void 0 ? void 0 : config.value;
|
|
28
28
|
}
|
|
29
29
|
/* eslint-disable object-shorthand */
|
|
30
30
|
if (value != null && config.name && data[config.name] !== value) {
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('Utils.Operate.persistValueInFormData', ()
|
|
6
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
describe('Utils.Operate.persistValueInFormData', function () {
|
|
6
|
+
var DATA = {
|
|
7
7
|
alpha: 'abc',
|
|
8
8
|
beta: 'charlie',
|
|
9
9
|
charlie: '123'
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
target
|
|
15
|
-
} = _ref;
|
|
11
|
+
var ON_CHANGE_COUNT = 0;
|
|
12
|
+
var ON_CHANGE = function ON_CHANGE(_ref) {
|
|
13
|
+
var target = _ref.target;
|
|
16
14
|
DATA[target.name] = target.value;
|
|
17
15
|
ON_CHANGE_COUNT += 1;
|
|
18
16
|
};
|
|
19
|
-
beforeEach(()
|
|
17
|
+
beforeEach(function () {
|
|
20
18
|
DATA = {
|
|
21
19
|
alpha: 'abc',
|
|
22
20
|
beta: 'charlie',
|
|
@@ -24,8 +22,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
24
22
|
};
|
|
25
23
|
ON_CHANGE_COUNT = 0;
|
|
26
24
|
});
|
|
27
|
-
it('Should trigger a change correctly', ()
|
|
28
|
-
|
|
25
|
+
it('Should trigger a change correctly', function () {
|
|
26
|
+
var CONFIG = {
|
|
29
27
|
name: 'alpha',
|
|
30
28
|
value: 'bcd'
|
|
31
29
|
};
|
|
@@ -37,8 +35,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
37
35
|
});
|
|
38
36
|
expect(ON_CHANGE_COUNT).toEqual(1);
|
|
39
37
|
});
|
|
40
|
-
it('Should trigger a change correctly with boolean false', ()
|
|
41
|
-
|
|
38
|
+
it('Should trigger a change correctly with boolean false', function () {
|
|
39
|
+
var CONFIG = {
|
|
42
40
|
name: 'alpha',
|
|
43
41
|
value: false
|
|
44
42
|
};
|
|
@@ -50,8 +48,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
50
48
|
});
|
|
51
49
|
expect(ON_CHANGE_COUNT).toEqual(1);
|
|
52
50
|
});
|
|
53
|
-
it('Should not call onChange when value is unchanged', ()
|
|
54
|
-
|
|
51
|
+
it('Should not call onChange when value is unchanged', function () {
|
|
52
|
+
var CONFIG = {
|
|
55
53
|
name: 'alpha',
|
|
56
54
|
value: 'abc'
|
|
57
55
|
};
|
|
@@ -63,8 +61,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
63
61
|
});
|
|
64
62
|
expect(ON_CHANGE_COUNT).toEqual(0);
|
|
65
63
|
});
|
|
66
|
-
it('Should not call onChange if no value or field is given', ()
|
|
67
|
-
|
|
64
|
+
it('Should not call onChange if no value or field is given', function () {
|
|
65
|
+
var CONFIG = {
|
|
68
66
|
name: 'alpha'
|
|
69
67
|
};
|
|
70
68
|
(0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
|
|
@@ -75,8 +73,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
75
73
|
});
|
|
76
74
|
expect(ON_CHANGE_COUNT).toEqual(0);
|
|
77
75
|
});
|
|
78
|
-
it('Should not call onChange if no name is given', ()
|
|
79
|
-
|
|
76
|
+
it('Should not call onChange if no name is given', function () {
|
|
77
|
+
var CONFIG = {
|
|
80
78
|
field: 'charlie'
|
|
81
79
|
};
|
|
82
80
|
(0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
|
|
@@ -87,8 +85,8 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
87
85
|
});
|
|
88
86
|
expect(ON_CHANGE_COUNT).toEqual(0);
|
|
89
87
|
});
|
|
90
|
-
it('Should not call onChange if field cannot be found', ()
|
|
91
|
-
|
|
88
|
+
it('Should not call onChange if field cannot be found', function () {
|
|
89
|
+
var CONFIG = {
|
|
92
90
|
name: 'alpha',
|
|
93
91
|
field: 'delta'
|
|
94
92
|
};
|
|
@@ -100,9 +98,9 @@ describe('Utils.Operate.persistValueInFormData', () => {
|
|
|
100
98
|
});
|
|
101
99
|
expect(ON_CHANGE_COUNT).toEqual(0);
|
|
102
100
|
});
|
|
103
|
-
it('Should correctly interpolate a field value', ()
|
|
101
|
+
it('Should correctly interpolate a field value', function () {
|
|
104
102
|
// eslint-disable-next-line no-template-curly-in-string
|
|
105
|
-
|
|
103
|
+
var CONFIG = {
|
|
106
104
|
name: 'alpha',
|
|
107
105
|
field: '${beta}'
|
|
108
106
|
};
|
|
@@ -14,12 +14,12 @@ var _shouldRun = _interopRequireDefault(require("./shouldRun"));
|
|
|
14
14
|
var _setDataItem = _interopRequireDefault(require("../Data/setDataItem"));
|
|
15
15
|
var _getFirstOf = _interopRequireDefault(require("./getFirstOf"));
|
|
16
16
|
var _getLength = _interopRequireDefault(require("./getLength"));
|
|
17
|
-
function _interopRequireDefault(
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
// Global imports.
|
|
19
19
|
|
|
20
20
|
// Local imports.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
var functions = {
|
|
23
23
|
checkValueIsTruthy: _checkValueIsTruthy.default,
|
|
24
24
|
getIndexOfMatchingValueIn: _getIndexOfMatchingValueIn.default,
|
|
25
25
|
persistValueInFormData: _persistValueInFormData.default,
|
|
@@ -28,8 +28,8 @@ const functions = {
|
|
|
28
28
|
getLength: _getLength.default,
|
|
29
29
|
getFirstOf: _getFirstOf.default
|
|
30
30
|
};
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
var doOperation = function doOperation(config, data, onChange) {
|
|
32
|
+
var fn = functions[config.function];
|
|
33
33
|
if (typeof fn === 'function') {
|
|
34
34
|
return fn(config, data, onChange);
|
|
35
35
|
}
|
|
@@ -53,15 +53,15 @@ const doOperation = (config, data, onChange) => {
|
|
|
53
53
|
* @param {function} onChange The page's onChange handler.
|
|
54
54
|
* @returns data with the results of any operations included.
|
|
55
55
|
*/
|
|
56
|
-
|
|
57
|
-
if (config
|
|
58
|
-
config.operations.forEach(op
|
|
56
|
+
var runPageOperations = function runPageOperations(config, data, onChange) {
|
|
57
|
+
if (config !== null && config !== void 0 && config.operations && data) {
|
|
58
|
+
config.operations.forEach(function (op) {
|
|
59
59
|
if ((0, _shouldRun.default)(op.run_when, data)) {
|
|
60
|
-
|
|
60
|
+
var result = doOperation(op, data, onChange);
|
|
61
61
|
if (op.output) {
|
|
62
62
|
// Remove array indexers and replace them with dot separators. This ensures that outputPath will
|
|
63
63
|
// work with setDataItem.
|
|
64
|
-
|
|
64
|
+
var outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
|
|
65
65
|
(0, _setDataItem.default)(data, outputPath, result);
|
|
66
66
|
}
|
|
67
67
|
}
|