@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-bravo
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +127 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +131 -101
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +769 -464
- package/dist/components/CollectionPage/CollectionPage.js +58 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +342 -300
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +59 -63
- package/dist/components/CollectionSummary/CollectionSummary.js +88 -61
- package/dist/components/CollectionSummary/CollectionSummary.test.js +96 -102
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/SummaryCard.js +148 -109
- package/dist/components/CollectionSummary/SummaryCard.scss +1 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +927 -905
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +29 -23
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +73 -61
- package/dist/components/FormComponent/Collection.js +107 -73
- package/dist/components/FormComponent/Collection.test.js +945 -809
- package/dist/components/FormComponent/Container.js +38 -40
- package/dist/components/FormComponent/Container.test.js +345 -314
- package/dist/components/FormComponent/FormComponent.js +70 -67
- package/dist/components/FormComponent/FormComponent.test.js +342 -284
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +181 -144
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +5 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +47 -11
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +91 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +73 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +40 -44
- package/dist/components/FormRenderer/onPageAction.test.js +206 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +26 -21
- package/dist/components/SummaryList/SummaryList.test.js +166 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +71 -45
- package/dist/components/TaskList/TaskList.test.js +111 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +79 -58
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +72 -32
- package/dist/context/ValidationContext/ValidationContext.test.js +59 -47
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -30
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +60 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +88 -79
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +124 -146
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -9
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +22 -27
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +16 -12
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +30 -29
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +95 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +70 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -23
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +17 -14
- package/dist/utils/Condition/meetsCondition.test.js +376 -376
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +25 -19
- package/dist/utils/Data/getOptions.test.js +20 -20
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +77 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +15 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +23 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +26 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +10 -8
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +35 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +127 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +16 -18
- package/dist/utils/Validate/validateComponent.test.js +146 -167
- package/dist/utils/Validate/validateContainer.js +19 -14
- package/dist/utils/Validate/validateContainer.test.js +45 -49
- package/dist/utils/Validate/validateDate.js +17 -11
- package/dist/utils/Validate/validateDate.test.js +29 -28
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +18 -17
- package/dist/utils/Validate/validatePage.test.js +182 -185
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +14 -7
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +9 -7
- package/package.json +1 -1
|
@@ -2,60 +2,65 @@
|
|
|
2
2
|
|
|
3
3
|
var _shouldRun = _interopRequireDefault(require("./shouldRun"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
11
|
+
describe('Utils.Operate.shouldRun', function () {
|
|
12
|
+
var DATA = {
|
|
7
13
|
alpha: 'abc',
|
|
8
14
|
bravo: ''
|
|
9
15
|
};
|
|
10
|
-
it('Should return true if the run_when config is invalid', ()
|
|
16
|
+
it('Should return true if the run_when config is invalid', function () {
|
|
11
17
|
expect((0, _shouldRun.default)(null, DATA)).toEqual(true);
|
|
12
18
|
});
|
|
13
|
-
it('Should return true when the condition is \'changes\' and target value has changed', ()
|
|
14
|
-
|
|
19
|
+
it('Should return true when the condition is \'changes\' and target value has changed', function () {
|
|
20
|
+
var CONFIG = {
|
|
15
21
|
condition: 'changes',
|
|
16
22
|
field: 'alpha'
|
|
17
23
|
};
|
|
18
|
-
|
|
24
|
+
var result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
19
25
|
expect(result).toEqual(false); // Expect false as this is the first render.
|
|
20
26
|
result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
21
27
|
expect(result).toEqual(false); // Expect false as the field hasn't changed.
|
|
22
|
-
result = (0, _shouldRun.default)(CONFIG, {
|
|
23
|
-
...DATA,
|
|
28
|
+
result = (0, _shouldRun.default)(CONFIG, _objectSpread(_objectSpread({}, DATA), {}, {
|
|
24
29
|
alpha: 'bcd'
|
|
25
|
-
});
|
|
30
|
+
}));
|
|
26
31
|
expect(result).toEqual(true); // Expect true as the field's value has been updated.
|
|
27
32
|
});
|
|
28
33
|
|
|
29
|
-
it('Should return true when the condition is \'isTruthy\' and target value is truthy', ()
|
|
30
|
-
|
|
34
|
+
it('Should return true when the condition is \'isTruthy\' and target value is truthy', function () {
|
|
35
|
+
var CONFIG = {
|
|
31
36
|
condition: 'isTruthy',
|
|
32
37
|
field: 'alpha'
|
|
33
38
|
};
|
|
34
|
-
|
|
39
|
+
var result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
35
40
|
expect(result).toEqual(true);
|
|
36
41
|
});
|
|
37
|
-
it('Should return false when the condition is \'isTruthy\' and target value is falsy', ()
|
|
38
|
-
|
|
42
|
+
it('Should return false when the condition is \'isTruthy\' and target value is falsy', function () {
|
|
43
|
+
var CONFIG = {
|
|
39
44
|
condition: 'isTruthy',
|
|
40
45
|
field: 'bravo'
|
|
41
46
|
};
|
|
42
|
-
|
|
47
|
+
var result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
43
48
|
expect(result).toEqual(false);
|
|
44
49
|
});
|
|
45
|
-
it('Should return true when the condition is \'isFalsy\' and target value is falsy', ()
|
|
46
|
-
|
|
50
|
+
it('Should return true when the condition is \'isFalsy\' and target value is falsy', function () {
|
|
51
|
+
var CONFIG = {
|
|
47
52
|
condition: 'isFalsy',
|
|
48
53
|
field: 'bravo'
|
|
49
54
|
};
|
|
50
|
-
|
|
55
|
+
var result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
51
56
|
expect(result).toEqual(true);
|
|
52
57
|
});
|
|
53
|
-
it('Should return false when the condition is \'isFalsy\' and target value is truthy', ()
|
|
54
|
-
|
|
58
|
+
it('Should return false when the condition is \'isFalsy\' and target value is truthy', function () {
|
|
59
|
+
var CONFIG = {
|
|
55
60
|
condition: 'isFalsy',
|
|
56
61
|
field: 'alpha'
|
|
57
62
|
};
|
|
58
|
-
|
|
63
|
+
var result = (0, _shouldRun.default)(CONFIG, DATA);
|
|
59
64
|
expect(result).toEqual(false);
|
|
60
65
|
});
|
|
61
66
|
});
|
|
@@ -13,11 +13,11 @@ exports.default = void 0;
|
|
|
13
13
|
* @returns true if the user has entered data into the 'base' field or entered a value into the 'check' field to turn off the validation
|
|
14
14
|
* otherwise returns false
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
var conditionallyRequired = function conditionallyRequired(data, config, component) {
|
|
17
17
|
var _data$component$id, _data$component$id2;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
var conditional = (_data$component$id = data[component.id]) === null || _data$component$id === void 0 ? void 0 : _data$component$id[config.base];
|
|
19
|
+
var checkFieldvalue = (_data$component$id2 = data[component.id]) === null || _data$component$id2 === void 0 ? void 0 : _data$component$id2[config.check];
|
|
20
|
+
var checkHasValue = checkFieldvalue && (checkFieldvalue === null || checkFieldvalue === void 0 ? void 0 : checkFieldvalue.length) > 0;
|
|
21
21
|
return !!(conditional || checkHasValue);
|
|
22
22
|
};
|
|
23
23
|
var _default = exports.default = conditionallyRequired;
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var _conditionallyRequired = _interopRequireDefault(require("./conditionallyRequired"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils', ()
|
|
6
|
-
describe('Validate', ()
|
|
7
|
-
describe('additional', ()
|
|
8
|
-
describe('conditionallyRequired', ()
|
|
9
|
-
|
|
5
|
+
describe('utils', function () {
|
|
6
|
+
describe('Validate', function () {
|
|
7
|
+
describe('additional', function () {
|
|
8
|
+
describe('conditionallyRequired', function () {
|
|
9
|
+
var CONFIG = {
|
|
10
10
|
base: 'componentOne',
|
|
11
11
|
check: 'componentTwo'
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
var COMPONENT = {
|
|
14
14
|
id: 'containerComponent',
|
|
15
15
|
fieldId: 'containerComponent',
|
|
16
16
|
type: 'container',
|
|
@@ -24,16 +24,16 @@ describe('utils', () => {
|
|
|
24
24
|
type: 'checkboxes'
|
|
25
25
|
}]
|
|
26
26
|
};
|
|
27
|
-
test('should pass if only the base field has a value', ()
|
|
28
|
-
|
|
27
|
+
test('should pass if only the base field has a value', function () {
|
|
28
|
+
var DATA = {
|
|
29
29
|
containerComponent: {
|
|
30
30
|
componentOne: 'value'
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should pass if the base and check fields have values', ()
|
|
36
|
-
|
|
35
|
+
test('should pass if the base and check fields have values', function () {
|
|
36
|
+
var DATA = {
|
|
37
37
|
containerComponent: {
|
|
38
38
|
componentOne: 'value',
|
|
39
39
|
componentTwo: 'value'
|
|
@@ -41,30 +41,30 @@ describe('utils', () => {
|
|
|
41
41
|
};
|
|
42
42
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
43
43
|
});
|
|
44
|
-
test('should pass if only the check field has a value', ()
|
|
45
|
-
|
|
44
|
+
test('should pass if only the check field has a value', function () {
|
|
45
|
+
var DATA = {
|
|
46
46
|
containerComponent: {
|
|
47
47
|
componentTwo: 'value'
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
51
51
|
});
|
|
52
|
-
test('should pass if only the check field has a value and that value is an array', ()
|
|
53
|
-
|
|
52
|
+
test('should pass if only the check field has a value and that value is an array', function () {
|
|
53
|
+
var DATA = {
|
|
54
54
|
containerComponent: {
|
|
55
55
|
componentTwo: ['value']
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
59
59
|
});
|
|
60
|
-
test('should fail if neither field has a value', ()
|
|
61
|
-
|
|
60
|
+
test('should fail if neither field has a value', function () {
|
|
61
|
+
var DATA = {
|
|
62
62
|
containerComponent: {}
|
|
63
63
|
};
|
|
64
64
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(false);
|
|
65
65
|
});
|
|
66
|
-
test('should fail if there is no data', ()
|
|
67
|
-
|
|
66
|
+
test('should fail if there is no data', function () {
|
|
67
|
+
var DATA = {};
|
|
68
68
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(false);
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -15,6 +15,7 @@ var _mustBeShorterThan = _interopRequireDefault(require("./mustBeShorterThan"));
|
|
|
15
15
|
var _mustBeGreaterThan = _interopRequireDefault(require("./mustBeGreaterThan"));
|
|
16
16
|
var _mustBeLessThan = _interopRequireDefault(require("./mustBeLessThan"));
|
|
17
17
|
var _mustBeNumbersOnly = _interopRequireDefault(require("./mustBeNumbersOnly"));
|
|
18
|
+
var _mustBeUniqueInCollection = _interopRequireDefault(require("./mustBeUniqueInCollection"));
|
|
18
19
|
var _mustEnterAtLeastOne = _interopRequireDefault(require("./mustEnterAtLeastOne"));
|
|
19
20
|
var _mustHaveLessThanDecimalPlaces = _interopRequireDefault(require("./mustHaveLessThanDecimalPlaces"));
|
|
20
21
|
var _mustNotContainSql = _interopRequireDefault(require("./mustNotContainSql"));
|
|
@@ -22,7 +23,7 @@ var _mustSelectOnlyOne = _interopRequireDefault(require("./mustSelectOnlyOne"));
|
|
|
22
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
24
|
// Local imports
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
var functions = {
|
|
26
27
|
conditionallyRequired: _conditionallyRequired.default,
|
|
27
28
|
mustBeAfter: _mustBeAfter.default,
|
|
28
29
|
mustBeBefore: _mustBeBefore.default,
|
|
@@ -34,28 +35,29 @@ const functions = {
|
|
|
34
35
|
mustBeLongerThan: _mustBeLongerThan.default,
|
|
35
36
|
mustBeNumbersOnly: _mustBeNumbersOnly.default,
|
|
36
37
|
mustBeShorterThan: _mustBeShorterThan.default,
|
|
38
|
+
mustBeUniqueInCollection: _mustBeUniqueInCollection.default,
|
|
37
39
|
mustEnterAtLeastOne: _mustEnterAtLeastOne.default,
|
|
38
40
|
mustHaveLessThanDecimalPlaces: _mustHaveLessThanDecimalPlaces.default,
|
|
39
41
|
mustNotContainSql: _mustNotContainSql.default,
|
|
40
42
|
mustSelectOnlyOne: _mustSelectOnlyOne.default
|
|
41
43
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
var additionalValidation = function additionalValidation(value, config, component, formData) {
|
|
45
|
+
var fn = functions[config.function];
|
|
44
46
|
if (typeof fn === 'function') {
|
|
45
|
-
return fn(value, config, component) ? undefined : config.message;
|
|
47
|
+
return fn(value, config, component, formData) ? undefined : config.message;
|
|
46
48
|
}
|
|
47
49
|
return undefined;
|
|
48
50
|
};
|
|
49
|
-
|
|
51
|
+
var runAdditionalComponentValidation = function runAdditionalComponentValidation(component, value, formData) {
|
|
50
52
|
// We only care when we have a value - if we don't have one but want one, set `required: true`.
|
|
51
53
|
// eslint-disable-next-line no-extra-boolean-cast
|
|
52
54
|
if (!!value) {
|
|
53
55
|
if (Array.isArray(component.additionalValidation)) {
|
|
54
|
-
|
|
55
|
-
component.additionalValidation.forEach(config
|
|
56
|
+
var error;
|
|
57
|
+
component.additionalValidation.forEach(function (config) {
|
|
56
58
|
// If we've already encountered an error, don't run any more validators.
|
|
57
59
|
if (!error) {
|
|
58
|
-
error = additionalValidation(value, config, component);
|
|
60
|
+
error = additionalValidation(value, config, component, formData);
|
|
59
61
|
}
|
|
60
62
|
});
|
|
61
63
|
return error;
|
|
@@ -6,11 +6,11 @@ var _utils = require("./utils");
|
|
|
6
6
|
var _index = _interopRequireDefault(require("./index"));
|
|
7
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
8
|
_dayjs.default.extend(_customParseFormat.default);
|
|
9
|
-
describe('utils', ()
|
|
10
|
-
describe('Validate', ()
|
|
11
|
-
describe('additional', ()
|
|
12
|
-
it('should apply optional validators when specified', ()
|
|
13
|
-
|
|
9
|
+
describe('utils', function () {
|
|
10
|
+
describe('Validate', function () {
|
|
11
|
+
describe('additional', function () {
|
|
12
|
+
it('should apply optional validators when specified', function () {
|
|
13
|
+
var COMPONENT = {
|
|
14
14
|
additionalValidation: [{
|
|
15
15
|
function: 'mustBeAfter',
|
|
16
16
|
value: 3,
|
|
@@ -18,11 +18,11 @@ describe('utils', () => {
|
|
|
18
18
|
message: 'Date must be more than 3 days in the future'
|
|
19
19
|
}]
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
var VALUE = (0, _dayjs.default)().add(1, 'day').format(_utils.DATE_FORMAT);
|
|
22
22
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual('Date must be more than 3 days in the future');
|
|
23
23
|
});
|
|
24
|
-
it('should apply multiple optional validators when specified', ()
|
|
25
|
-
|
|
24
|
+
it('should apply multiple optional validators when specified', function () {
|
|
25
|
+
var COMPONENT = {
|
|
26
26
|
additionalValidation: [{
|
|
27
27
|
function: 'mustBeAfter',
|
|
28
28
|
value: 100,
|
|
@@ -35,11 +35,11 @@ describe('utils', () => {
|
|
|
35
35
|
message: 'Date must be less than 200 days in the future'
|
|
36
36
|
}]
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
var VALUE = (0, _dayjs.default)().add(250, 'day').format(_utils.DATE_FORMAT);
|
|
39
39
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual('Date must be less than 200 days in the future');
|
|
40
40
|
});
|
|
41
|
-
it('should apply multiple optional validators when specified and return undefined if all are passed', ()
|
|
42
|
-
|
|
41
|
+
it('should apply multiple optional validators when specified and return undefined if all are passed', function () {
|
|
42
|
+
var COMPONENT = {
|
|
43
43
|
additionalValidation: [{
|
|
44
44
|
function: 'mustBeAfter',
|
|
45
45
|
value: 100,
|
|
@@ -55,7 +55,7 @@ describe('utils', () => {
|
|
|
55
55
|
message: 'Date must be in the future'
|
|
56
56
|
}]
|
|
57
57
|
};
|
|
58
|
-
|
|
58
|
+
var VALUE = (0, _dayjs.default)().add(150, 'day').format(_utils.DATE_FORMAT);
|
|
59
59
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual(undefined);
|
|
60
60
|
});
|
|
61
61
|
});
|
|
@@ -26,8 +26,8 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
26
26
|
* @param {number} config.value - number of the unit to be after
|
|
27
27
|
* @returns false if date is not after the given date/offset or true if it is.
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
var mustBeAfter = function mustBeAfter(date, config) {
|
|
30
|
+
var dateToCompare = config.date ? (0, _dayjs.default)((0, _utils.formatString)(config.date), _utils.DATE_FORMAT) : (0, _dayjs.default)().add(config.value, config.unit);
|
|
31
31
|
return (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isAfter(dateToCompare);
|
|
32
32
|
};
|
|
33
33
|
var _default = exports.default = mustBeAfter;
|
|
@@ -4,100 +4,100 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
|
4
4
|
var _mustBeAfter = _interopRequireDefault(require("./mustBeAfter"));
|
|
5
5
|
var _utils = require("./utils");
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
describe('utils', ()
|
|
8
|
-
describe('Validate', ()
|
|
9
|
-
describe('additional', ()
|
|
10
|
-
describe('mustBeAfter', ()
|
|
11
|
-
test('should return true given a date after the given number of months in the future', ()
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
describe('utils', function () {
|
|
8
|
+
describe('Validate', function () {
|
|
9
|
+
describe('additional', function () {
|
|
10
|
+
describe('mustBeAfter', function () {
|
|
11
|
+
test('should return true given a date after the given number of months in the future', function () {
|
|
12
|
+
var date = (0, _dayjs.default)().add(3, 'month').format(_utils.DATE_FORMAT);
|
|
13
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
14
14
|
value: 1,
|
|
15
15
|
unit: 'month'
|
|
16
16
|
});
|
|
17
17
|
expect(result).toEqual(true);
|
|
18
18
|
});
|
|
19
|
-
test('should return false given a date before the given number of months in the future', ()
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
test('should return false given a date before the given number of months in the future', function () {
|
|
20
|
+
var date = (0, _dayjs.default)().add(3, 'month').format(_utils.DATE_FORMAT);
|
|
21
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
22
22
|
value: 5,
|
|
23
23
|
unit: 'month'
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return true given a date after the given number of months in the past', ()
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
test('should return true given a date after the given number of months in the past', function () {
|
|
28
|
+
var date = (0, _dayjs.default)().add(-3, 'month').format(_utils.DATE_FORMAT);
|
|
29
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
30
30
|
value: -5,
|
|
31
31
|
unit: 'month'
|
|
32
32
|
});
|
|
33
33
|
expect(result).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should return false given a date before the given number of months in the past', ()
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
test('should return false given a date before the given number of months in the past', function () {
|
|
36
|
+
var date = (0, _dayjs.default)().add(-10, 'month').format(_utils.DATE_FORMAT);
|
|
37
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
38
38
|
value: -5,
|
|
39
39
|
unit: 'month'
|
|
40
40
|
});
|
|
41
41
|
expect(result).toEqual(false);
|
|
42
42
|
});
|
|
43
|
-
test('should return true given a date after the given number of years in the future', ()
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
test('should return true given a date after the given number of years in the future', function () {
|
|
44
|
+
var date = (0, _dayjs.default)().add(3, 'year').format(_utils.DATE_FORMAT);
|
|
45
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
46
46
|
value: 1,
|
|
47
47
|
unit: 'year'
|
|
48
48
|
});
|
|
49
49
|
expect(result).toEqual(true);
|
|
50
50
|
});
|
|
51
|
-
test('should return false given a date before the given number of years in the future', ()
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
test('should return false given a date before the given number of years in the future', function () {
|
|
52
|
+
var date = (0, _dayjs.default)().add(15, 'year').format(_utils.DATE_FORMAT);
|
|
53
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
54
54
|
value: 20,
|
|
55
55
|
unit: 'year'
|
|
56
56
|
});
|
|
57
57
|
expect(result).toEqual(false);
|
|
58
58
|
});
|
|
59
|
-
test('should return true given a date after the given number of years in the past', ()
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
test('should return true given a date after the given number of years in the past', function () {
|
|
60
|
+
var date = (0, _dayjs.default)().add(-15, 'year').format(_utils.DATE_FORMAT);
|
|
61
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
62
62
|
value: -20,
|
|
63
63
|
unit: 'year'
|
|
64
64
|
});
|
|
65
65
|
expect(result).toEqual(true);
|
|
66
66
|
});
|
|
67
|
-
test('should return false given a date before the given number of years in the past', ()
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
test('should return false given a date before the given number of years in the past', function () {
|
|
68
|
+
var date = (0, _dayjs.default)().add(-25, 'year').format(_utils.DATE_FORMAT);
|
|
69
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
70
70
|
value: -20,
|
|
71
71
|
unit: 'year'
|
|
72
72
|
});
|
|
73
73
|
expect(result).toEqual(false);
|
|
74
74
|
});
|
|
75
|
-
test('should return true given a date after the given number of days in the future', ()
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
test('should return true given a date after the given number of days in the future', function () {
|
|
76
|
+
var date = (0, _dayjs.default)().add(3, 'day').format(_utils.DATE_FORMAT);
|
|
77
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
78
78
|
value: 1,
|
|
79
79
|
unit: 'day'
|
|
80
80
|
});
|
|
81
81
|
expect(result).toEqual(true);
|
|
82
82
|
});
|
|
83
|
-
test('should return false given a date before the given number of days in the future', ()
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
test('should return false given a date before the given number of days in the future', function () {
|
|
84
|
+
var date = (0, _dayjs.default)().add(250, 'day').format(_utils.DATE_FORMAT);
|
|
85
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
86
86
|
value: 275,
|
|
87
87
|
unit: 'day'
|
|
88
88
|
});
|
|
89
89
|
expect(result).toEqual(false);
|
|
90
90
|
});
|
|
91
|
-
test('should return false given a date before the specified fixed date', ()
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
test('should return false given a date before the specified fixed date', function () {
|
|
92
|
+
var date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
93
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
94
94
|
date: '01-01-5000'
|
|
95
95
|
});
|
|
96
96
|
expect(result).toEqual(false);
|
|
97
97
|
});
|
|
98
|
-
test('should return true given a date after the specified fixed date', ()
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
test('should return true given a date after the specified fixed date', function () {
|
|
99
|
+
var date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
100
|
+
var result = (0, _mustBeAfter.default)(date, {
|
|
101
101
|
date: '01-01-2000'
|
|
102
102
|
});
|
|
103
103
|
expect(result).toEqual(true);
|
|
@@ -26,8 +26,8 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
26
26
|
* @param {number} config.value - number of the unit to be before
|
|
27
27
|
* @returns false if date is not before the given date/offset or true if it is.
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
var mustBeBefore = function mustBeBefore(date, config) {
|
|
30
|
+
var dateToCompare = config.date ? (0, _dayjs.default)((0, _utils.formatString)(config.date), _utils.DATE_FORMAT) : (0, _dayjs.default)().add(config.value, config.unit);
|
|
31
31
|
return (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isBefore(dateToCompare);
|
|
32
32
|
};
|
|
33
33
|
var _default = exports.default = mustBeBefore;
|
|
@@ -4,68 +4,68 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
|
4
4
|
var _mustBeBefore = _interopRequireDefault(require("./mustBeBefore"));
|
|
5
5
|
var _utils = require("./utils");
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
describe('utils', ()
|
|
8
|
-
describe('Validate', ()
|
|
9
|
-
describe('additional', ()
|
|
10
|
-
describe('mustBeBefore', ()
|
|
11
|
-
test('should return true given a date before the given number of months in the future', ()
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
describe('utils', function () {
|
|
8
|
+
describe('Validate', function () {
|
|
9
|
+
describe('additional', function () {
|
|
10
|
+
describe('mustBeBefore', function () {
|
|
11
|
+
test('should return true given a date before the given number of months in the future', function () {
|
|
12
|
+
var date = (0, _dayjs.default)().add(1, 'month').format(_utils.DATE_FORMAT);
|
|
13
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
14
14
|
value: 3,
|
|
15
15
|
unit: 'month'
|
|
16
16
|
});
|
|
17
17
|
expect(result).toEqual(true);
|
|
18
18
|
});
|
|
19
|
-
test('should return false given a date after the given number of months in the future', ()
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
test('should return false given a date after the given number of months in the future', function () {
|
|
20
|
+
var date = (0, _dayjs.default)().add(5, 'month').format(_utils.DATE_FORMAT);
|
|
21
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
22
22
|
value: 3,
|
|
23
23
|
unit: 'month'
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return true given a date before the given number of years in the future', ()
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
test('should return true given a date before the given number of years in the future', function () {
|
|
28
|
+
var date = (0, _dayjs.default)().add(1, 'year').format(_utils.DATE_FORMAT);
|
|
29
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
30
30
|
value: 3,
|
|
31
31
|
unit: 'year'
|
|
32
32
|
});
|
|
33
33
|
expect(result).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should return false given a date after the given number of years in the future', ()
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
test('should return false given a date after the given number of years in the future', function () {
|
|
36
|
+
var date = (0, _dayjs.default)().add(20, 'year').format(_utils.DATE_FORMAT);
|
|
37
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
38
38
|
value: 15,
|
|
39
39
|
unit: 'year'
|
|
40
40
|
});
|
|
41
41
|
expect(result).toEqual(false);
|
|
42
42
|
});
|
|
43
|
-
test('should return true given a date before the given number of days in the future', ()
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
test('should return true given a date before the given number of days in the future', function () {
|
|
44
|
+
var date = (0, _dayjs.default)().add(1, 'day').format(_utils.DATE_FORMAT);
|
|
45
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
46
46
|
value: 3,
|
|
47
47
|
unit: 'day'
|
|
48
48
|
});
|
|
49
49
|
expect(result).toEqual(true);
|
|
50
50
|
});
|
|
51
|
-
test('should return true given a date after the given number of days in the future', ()
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
test('should return true given a date after the given number of days in the future', function () {
|
|
52
|
+
var date = (0, _dayjs.default)().add(275, 'day').format(_utils.DATE_FORMAT);
|
|
53
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
54
54
|
value: 250,
|
|
55
55
|
unit: 'day'
|
|
56
56
|
});
|
|
57
57
|
expect(result).toEqual(false);
|
|
58
58
|
});
|
|
59
|
-
test('should return false given a date after the specified fixed date', ()
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
test('should return false given a date after the specified fixed date', function () {
|
|
60
|
+
var date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
61
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
62
62
|
date: '01-01-2000'
|
|
63
63
|
});
|
|
64
64
|
expect(result).toEqual(false);
|
|
65
65
|
});
|
|
66
|
-
test('should return true given a date before the specified fixed date', ()
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
test('should return true given a date before the specified fixed date', function () {
|
|
67
|
+
var date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
68
|
+
var result = (0, _mustBeBefore.default)(date, {
|
|
69
69
|
date: '01-01-5000'
|
|
70
70
|
});
|
|
71
71
|
expect(result).toEqual(true);
|
|
@@ -28,15 +28,19 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
28
28
|
* the individual components. False if the date & time is in the future, or
|
|
29
29
|
* the date/time component can't be found.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
var mustBeEarlierDateTime = function mustBeEarlierDateTime(data, config, container) {
|
|
32
32
|
var _container$components, _container$components2, _data$container$field, _data$container$field2, _data$container$field3, _data$container$field4;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
var date = (_container$components = container.components) === null || _container$components === void 0 ? void 0 : _container$components.find(function (c) {
|
|
34
|
+
return c.fieldId === config.date;
|
|
35
|
+
});
|
|
36
|
+
var time = (_container$components2 = container.components) === null || _container$components2 === void 0 ? void 0 : _container$components2.find(function (c) {
|
|
37
|
+
return c.fieldId === config.time;
|
|
38
|
+
});
|
|
35
39
|
if (!date || !time || !data) {
|
|
36
40
|
return false;
|
|
37
41
|
}
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
var dateFromData = (_data$container$field = data[container.fieldId]) === null || _data$container$field === void 0 ? void 0 : _data$container$field[config.date];
|
|
43
|
+
var timeFromData = (_data$container$field2 = data[container.fieldId]) === null || _data$container$field2 === void 0 ? void 0 : _data$container$field2[config.time];
|
|
40
44
|
if (!dateFromData || !timeFromData) {
|
|
41
45
|
return true;
|
|
42
46
|
}
|
|
@@ -49,8 +53,8 @@ const mustBeEarlierDateTime = (data, config, container) => {
|
|
|
49
53
|
if ((0, _validateComponent.default)(time, data[container.fieldId], data[container.fieldId])) {
|
|
50
54
|
return true;
|
|
51
55
|
}
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
var dateStr = (0, _utils.formatString)((_data$container$field3 = data[container.fieldId]) === null || _data$container$field3 === void 0 ? void 0 : _data$container$field3[config.date]);
|
|
57
|
+
var timeStr = (0, _utils.formattedTime)((_data$container$field4 = data[container.fieldId]) === null || _data$container$field4 === void 0 ? void 0 : _data$container$field4[config.time]);
|
|
54
58
|
return (0, _dayjs.default)("".concat(dateStr, " ").concat(timeStr), "".concat(_utils.DATE_FORMAT, " HH:mm")).isBefore((0, _dayjs.default)());
|
|
55
59
|
};
|
|
56
60
|
var _default = exports.default = mustBeEarlierDateTime;
|