@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.90.2
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 +55 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +81 -82
- 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,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getAutocompleteSource = _interopRequireDefault(require("./getAutocompleteSource"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
11
|
+
describe('utils', function () {
|
|
12
|
+
describe('Data', function () {
|
|
9
13
|
// test data
|
|
10
|
-
|
|
14
|
+
var gbCurrency = {
|
|
11
15
|
currencyName: 'Great British Pounds',
|
|
12
16
|
currencyCode: 'GBP',
|
|
13
17
|
hint: 'hint',
|
|
@@ -15,7 +19,7 @@ describe('utils', () => {
|
|
|
15
19
|
label: 'GBP',
|
|
16
20
|
slangTerm: 'quid'
|
|
17
21
|
};
|
|
18
|
-
|
|
22
|
+
var usCurrency = {
|
|
19
23
|
currencyName: 'United States Dollars',
|
|
20
24
|
currencyCode: 'USD',
|
|
21
25
|
hint: 'hint',
|
|
@@ -24,7 +28,7 @@ describe('utils', () => {
|
|
|
24
28
|
slangTerm: 'bucks',
|
|
25
29
|
synonyms: ['greenbacks']
|
|
26
30
|
};
|
|
27
|
-
|
|
31
|
+
var options = {
|
|
28
32
|
alpha: {
|
|
29
33
|
value: 'a',
|
|
30
34
|
label: 'Alpha',
|
|
@@ -46,30 +50,30 @@ describe('utils', () => {
|
|
|
46
50
|
hint: 'hint'
|
|
47
51
|
}
|
|
48
52
|
};
|
|
49
|
-
|
|
50
|
-
describe('getAutocompleteSource', ()
|
|
51
|
-
it('should handle a null config', ()
|
|
52
|
-
|
|
53
|
+
var testCurrencies = [gbCurrency, usCurrency];
|
|
54
|
+
describe('getAutocompleteSource', function () {
|
|
55
|
+
it('should handle a null config', function () {
|
|
56
|
+
var SOURCE = (0, _getAutocompleteSource.default)(null);
|
|
53
57
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
54
|
-
SOURCE('query', results
|
|
58
|
+
SOURCE('query', function (results) {
|
|
55
59
|
expect(Array.isArray(results)).toBeTruthy();
|
|
56
60
|
expect(results.length).toEqual(0);
|
|
57
61
|
});
|
|
58
62
|
});
|
|
59
|
-
describe('without custom item labels', ()
|
|
60
|
-
it('should get any specified options from the config', ()
|
|
61
|
-
|
|
63
|
+
describe('without custom item labels', function () {
|
|
64
|
+
it('should get any specified options from the config', function () {
|
|
65
|
+
var CONFIG = {
|
|
62
66
|
data: {
|
|
63
67
|
options: [options.alpha, options.bravo]
|
|
64
68
|
}
|
|
65
69
|
};
|
|
66
|
-
|
|
70
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
67
71
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
68
|
-
SOURCE('a', results
|
|
72
|
+
SOURCE('a', function (results) {
|
|
69
73
|
expect(results.length).toEqual(2);
|
|
70
74
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
71
75
|
});
|
|
72
|
-
SOURCE('al', results
|
|
76
|
+
SOURCE('al', function (results) {
|
|
73
77
|
expect(results.length).toEqual(1);
|
|
74
78
|
expect(results).toEqual([{
|
|
75
79
|
value: 'a',
|
|
@@ -78,95 +82,93 @@ describe('utils', () => {
|
|
|
78
82
|
}]);
|
|
79
83
|
});
|
|
80
84
|
});
|
|
81
|
-
it('should handle an empty query', ()
|
|
82
|
-
|
|
85
|
+
it('should handle an empty query', function () {
|
|
86
|
+
var CONFIG = {
|
|
83
87
|
data: {
|
|
84
88
|
options: [options.alpha, options.bravo]
|
|
85
89
|
}
|
|
86
90
|
};
|
|
87
|
-
|
|
88
|
-
SOURCE('', results
|
|
91
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
92
|
+
SOURCE('', function (results) {
|
|
89
93
|
expect(results.length).toEqual(2);
|
|
90
94
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
91
95
|
});
|
|
92
96
|
});
|
|
93
|
-
it('should handle an undefined query', ()
|
|
94
|
-
|
|
97
|
+
it('should handle an undefined query', function () {
|
|
98
|
+
var CONFIG = {
|
|
95
99
|
data: {
|
|
96
100
|
options: [options.alpha, options.bravo]
|
|
97
101
|
}
|
|
98
102
|
};
|
|
99
|
-
|
|
100
|
-
SOURCE(undefined, results
|
|
103
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
104
|
+
SOURCE(undefined, function (results) {
|
|
101
105
|
expect(results.length).toEqual(2);
|
|
102
106
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
103
107
|
});
|
|
104
108
|
});
|
|
105
|
-
it('should handle a null query', ()
|
|
106
|
-
|
|
109
|
+
it('should handle a null query', function () {
|
|
110
|
+
var CONFIG = {
|
|
107
111
|
data: {
|
|
108
112
|
options: [options.alpha, options.bravo]
|
|
109
113
|
}
|
|
110
114
|
};
|
|
111
|
-
|
|
112
|
-
SOURCE(null, results
|
|
115
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
116
|
+
SOURCE(null, function (results) {
|
|
113
117
|
expect(results.length).toEqual(2);
|
|
114
118
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
115
119
|
});
|
|
116
120
|
});
|
|
117
|
-
it('should handle a missing label on an option', ()
|
|
118
|
-
|
|
121
|
+
it('should handle a missing label on an option', function () {
|
|
122
|
+
var CONFIG = {
|
|
119
123
|
data: {
|
|
120
124
|
options: [options.alpha, {
|
|
121
125
|
value: 'b'
|
|
122
126
|
}]
|
|
123
127
|
}
|
|
124
128
|
};
|
|
125
|
-
|
|
129
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
126
130
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
127
|
-
SOURCE('a', results
|
|
131
|
+
SOURCE('a', function (results) {
|
|
128
132
|
expect(results.length).toEqual(1);
|
|
129
133
|
expect(results).toEqual([options.alpha]);
|
|
130
134
|
});
|
|
131
135
|
});
|
|
132
|
-
it('should return matches in the right order', ()
|
|
133
|
-
|
|
136
|
+
it('should return matches in the right order', function () {
|
|
137
|
+
var CONFIG = {
|
|
134
138
|
data: {
|
|
135
139
|
options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
|
|
136
140
|
}
|
|
137
141
|
};
|
|
138
|
-
|
|
142
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
139
143
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
140
|
-
SOURCE('al', results
|
|
144
|
+
SOURCE('al', function (results) {
|
|
141
145
|
expect(results.length).toEqual(3);
|
|
142
146
|
expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
|
|
143
147
|
});
|
|
144
148
|
});
|
|
145
|
-
it('should match options using a defined synonym', ()
|
|
146
|
-
|
|
149
|
+
it('should match options using a defined synonym', function () {
|
|
150
|
+
var CONFIG = {
|
|
147
151
|
data: {
|
|
148
|
-
options: [{
|
|
149
|
-
...options.alpha,
|
|
152
|
+
options: [_objectSpread(_objectSpread({}, options.alpha), {}, {
|
|
150
153
|
synonyms: ['first']
|
|
151
|
-
}, {
|
|
154
|
+
}), {
|
|
152
155
|
value: 'b'
|
|
153
156
|
}]
|
|
154
157
|
}
|
|
155
158
|
};
|
|
156
|
-
|
|
159
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
157
160
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
158
|
-
SOURCE('first', results
|
|
161
|
+
SOURCE('first', function (results) {
|
|
159
162
|
expect(results.length).toEqual(1);
|
|
160
|
-
expect(results).toEqual([{
|
|
161
|
-
...options.alpha,
|
|
163
|
+
expect(results).toEqual([_objectSpread(_objectSpread({}, options.alpha), {}, {
|
|
162
164
|
synonyms: ['first']
|
|
163
|
-
}]);
|
|
165
|
+
})]);
|
|
164
166
|
});
|
|
165
167
|
});
|
|
166
168
|
});
|
|
167
|
-
describe('with custom item labels', ()
|
|
168
|
-
it('should get any specified options from the config', ()
|
|
169
|
-
|
|
169
|
+
describe('with custom item labels', function () {
|
|
170
|
+
it('should get any specified options from the config', function () {
|
|
171
|
+
var CONFIG = {
|
|
170
172
|
item: {
|
|
171
173
|
value: 'currencyCode',
|
|
172
174
|
label: 'currencyCode',
|
|
@@ -177,19 +179,19 @@ describe('utils', () => {
|
|
|
177
179
|
options: testCurrencies
|
|
178
180
|
}
|
|
179
181
|
};
|
|
180
|
-
|
|
182
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
181
183
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
182
|
-
SOURCE('GB', results
|
|
184
|
+
SOURCE('GB', function (results) {
|
|
183
185
|
expect(results.length).toEqual(1);
|
|
184
186
|
expect(results).toEqual([gbCurrency]);
|
|
185
187
|
});
|
|
186
|
-
SOURCE(' (', results
|
|
188
|
+
SOURCE(' (', function (results) {
|
|
187
189
|
expect(results.length).toEqual(2);
|
|
188
190
|
expect(results).toEqual(testCurrencies);
|
|
189
191
|
});
|
|
190
192
|
});
|
|
191
|
-
it('should handle an empty query', ()
|
|
192
|
-
|
|
193
|
+
it('should handle an empty query', function () {
|
|
194
|
+
var CONFIG = {
|
|
193
195
|
item: {
|
|
194
196
|
value: 'currencyCode',
|
|
195
197
|
label: 'currencyCode',
|
|
@@ -200,14 +202,14 @@ describe('utils', () => {
|
|
|
200
202
|
options: testCurrencies
|
|
201
203
|
}
|
|
202
204
|
};
|
|
203
|
-
|
|
204
|
-
SOURCE('', results
|
|
205
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
206
|
+
SOURCE('', function (results) {
|
|
205
207
|
expect(results.length).toEqual(2);
|
|
206
208
|
expect(results).toEqual(testCurrencies);
|
|
207
209
|
});
|
|
208
210
|
});
|
|
209
|
-
it('should handle an undefined query', ()
|
|
210
|
-
|
|
211
|
+
it('should handle an undefined query', function () {
|
|
212
|
+
var CONFIG = {
|
|
211
213
|
item: {
|
|
212
214
|
value: 'currencyCode',
|
|
213
215
|
label: 'currencyCode',
|
|
@@ -218,14 +220,14 @@ describe('utils', () => {
|
|
|
218
220
|
options: testCurrencies
|
|
219
221
|
}
|
|
220
222
|
};
|
|
221
|
-
|
|
222
|
-
SOURCE(undefined, results
|
|
223
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
224
|
+
SOURCE(undefined, function (results) {
|
|
223
225
|
expect(results.length).toEqual(2);
|
|
224
226
|
expect(results).toEqual(testCurrencies);
|
|
225
227
|
});
|
|
226
228
|
});
|
|
227
|
-
it('should handle a null query', ()
|
|
228
|
-
|
|
229
|
+
it('should handle a null query', function () {
|
|
230
|
+
var CONFIG = {
|
|
229
231
|
item: {
|
|
230
232
|
value: 'currencyCode',
|
|
231
233
|
label: 'currencyCode',
|
|
@@ -236,14 +238,14 @@ describe('utils', () => {
|
|
|
236
238
|
options: testCurrencies
|
|
237
239
|
}
|
|
238
240
|
};
|
|
239
|
-
|
|
240
|
-
SOURCE(null, results
|
|
241
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
242
|
+
SOURCE(null, function (results) {
|
|
241
243
|
expect(results.length).toEqual(2);
|
|
242
244
|
expect(results).toEqual(testCurrencies);
|
|
243
245
|
});
|
|
244
246
|
});
|
|
245
|
-
it('should handle a missing label on an option', ()
|
|
246
|
-
|
|
247
|
+
it('should handle a missing label on an option', function () {
|
|
248
|
+
var CONFIG = {
|
|
247
249
|
item: {
|
|
248
250
|
value: 'currencyCode',
|
|
249
251
|
label: 'currencyCode',
|
|
@@ -259,9 +261,9 @@ describe('utils', () => {
|
|
|
259
261
|
}]
|
|
260
262
|
}
|
|
261
263
|
};
|
|
262
|
-
|
|
264
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
263
265
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
264
|
-
SOURCE('a', results
|
|
266
|
+
SOURCE('a', function (results) {
|
|
265
267
|
// We expect 2 results here instead of 1 because defining a custom
|
|
266
268
|
// format for item labels means the label is constructed upon processing
|
|
267
269
|
// a query - we're not relying on the 'label' field of the option.
|
|
@@ -275,8 +277,8 @@ describe('utils', () => {
|
|
|
275
277
|
}]);
|
|
276
278
|
});
|
|
277
279
|
});
|
|
278
|
-
it('should match options using a defined synonym', ()
|
|
279
|
-
|
|
280
|
+
it('should match options using a defined synonym', function () {
|
|
281
|
+
var CONFIG = {
|
|
280
282
|
item: {
|
|
281
283
|
value: 'currencyCode',
|
|
282
284
|
label: 'currencyCode',
|
|
@@ -287,15 +289,17 @@ describe('utils', () => {
|
|
|
287
289
|
options: testCurrencies
|
|
288
290
|
}
|
|
289
291
|
};
|
|
290
|
-
|
|
292
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
291
293
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
292
|
-
SOURCE('greenbacks', results
|
|
294
|
+
SOURCE('greenbacks', function (results) {
|
|
293
295
|
expect(results.length).toEqual(1);
|
|
294
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
296
|
+
expect(results).toEqual(testCurrencies.filter(function (c) {
|
|
297
|
+
return c.currencyCode === 'USD';
|
|
298
|
+
}));
|
|
295
299
|
});
|
|
296
300
|
});
|
|
297
|
-
it('should match options using defined extra searchable fields', ()
|
|
298
|
-
|
|
301
|
+
it('should match options using defined extra searchable fields', function () {
|
|
302
|
+
var CONFIG = {
|
|
299
303
|
item: {
|
|
300
304
|
value: 'currencyCode',
|
|
301
305
|
label: 'currencyCode',
|
|
@@ -307,11 +311,13 @@ describe('utils', () => {
|
|
|
307
311
|
options: testCurrencies
|
|
308
312
|
}
|
|
309
313
|
};
|
|
310
|
-
|
|
314
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
311
315
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
312
|
-
SOURCE('buc', results
|
|
316
|
+
SOURCE('buc', function (results) {
|
|
313
317
|
expect(results.length).toEqual(1);
|
|
314
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
318
|
+
expect(results).toEqual(testCurrencies.filter(function (c) {
|
|
319
|
+
return c.currencyCode === 'USD';
|
|
320
|
+
}));
|
|
315
321
|
});
|
|
316
322
|
});
|
|
317
323
|
});
|
|
@@ -4,37 +4,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
var DOT = '.';
|
|
8
|
+
var SLASH = '/';
|
|
9
|
+
var DOT_DOT = "".concat(DOT).concat(DOT);
|
|
10
|
+
var PARENT_PATH = "".concat(DOT).concat(SLASH);
|
|
11
|
+
var toPath = function toPath(arr) {
|
|
12
|
+
return arr.join(DOT);
|
|
13
|
+
};
|
|
14
|
+
var toParts = function toParts(str) {
|
|
15
|
+
var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
|
|
14
16
|
return str.split(separator);
|
|
15
17
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var isDotDot = function isDotDot(str) {
|
|
19
|
+
return str === DOT_DOT;
|
|
20
|
+
};
|
|
21
|
+
var isDotOrDotDot = function isDotOrDotDot(str) {
|
|
22
|
+
return [DOT, DOT_DOT].indexOf(str) > -1;
|
|
23
|
+
};
|
|
24
|
+
var isRelativePath = function isRelativePath(path) {
|
|
25
|
+
return path && path.indexOf(DOT) === 0;
|
|
26
|
+
};
|
|
27
|
+
var standardiseRelativePath = function standardiseRelativePath(path) {
|
|
20
28
|
if (path.indexOf(PARENT_PATH) === 0) {
|
|
21
29
|
return path;
|
|
22
30
|
}
|
|
23
|
-
return
|
|
31
|
+
return "".concat(PARENT_PATH).concat(path);
|
|
24
32
|
};
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
var ascendPath = function ascendPath(startPath, ascent) {
|
|
34
|
+
var relativePath = standardiseRelativePath(ascent);
|
|
27
35
|
// Always add 1 because we're starting on a leaf node within a "directory".
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
var stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
|
|
37
|
+
var pathParts = startPath ? toParts(startPath) : [];
|
|
30
38
|
if (stepsToClimb >= pathParts.length) {
|
|
31
39
|
return '';
|
|
32
40
|
}
|
|
33
41
|
return toPath(pathParts.slice(0, -stepsToClimb));
|
|
34
42
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
var descendPath = function descendPath(startPath, descent) {
|
|
44
|
+
var stepsDown = toParts(descent, SLASH).filter(function (str) {
|
|
45
|
+
return !isDotOrDotDot(str);
|
|
46
|
+
});
|
|
47
|
+
return startPath ? "".concat(startPath, ".").concat(toPath(stepsDown)) : toPath(stepsDown);
|
|
38
48
|
};
|
|
39
49
|
|
|
40
50
|
/**
|
|
@@ -56,7 +66,7 @@ const descendPath = (startPath, descent) => {
|
|
|
56
66
|
* getDataPath('../../relative.path', 'this.is.the.current.path');
|
|
57
67
|
* // => 'this.is.relative.path'
|
|
58
68
|
*/
|
|
59
|
-
|
|
69
|
+
var getDataPath = function getDataPath(path, currentPath) {
|
|
60
70
|
if (isRelativePath(path)) {
|
|
61
71
|
return descendPath(ascendPath(currentPath, path), path);
|
|
62
72
|
}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getDataPath = _interopRequireDefault(require("./getDataPath"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils.Data.getDataPath', ()
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
describe('utils.Data.getDataPath', function () {
|
|
6
|
+
var CURRENT_PATH = 'this.is.the.current.path';
|
|
7
|
+
var RELATIVE = 'relative.path';
|
|
8
|
+
var ABSOLUTE = 'absolute.path';
|
|
9
|
+
var doTest = function doTest(path, currentPath, expected) {
|
|
10
10
|
expect((0, _getDataPath.default)(path, currentPath)).toEqual(expected);
|
|
11
11
|
};
|
|
12
|
-
it(
|
|
12
|
+
it("should return an absolute path appropriately", function () {
|
|
13
13
|
doTest(ABSOLUTE, CURRENT_PATH, ABSOLUTE);
|
|
14
14
|
});
|
|
15
|
-
it(
|
|
15
|
+
it("should return an absolute path appropriately where the current path is null", function () {
|
|
16
16
|
doTest(ABSOLUTE, null, ABSOLUTE);
|
|
17
17
|
});
|
|
18
18
|
[{
|
|
19
|
-
p:
|
|
20
|
-
e:
|
|
19
|
+
p: "./".concat(RELATIVE),
|
|
20
|
+
e: "this.is.the.current.".concat(RELATIVE),
|
|
21
21
|
d: 'a sibling node'
|
|
22
22
|
}, {
|
|
23
|
-
p:
|
|
24
|
-
e:
|
|
23
|
+
p: "../".concat(RELATIVE),
|
|
24
|
+
e: "this.is.the.".concat(RELATIVE),
|
|
25
25
|
d: 'a cousin node'
|
|
26
26
|
}, {
|
|
27
|
-
p:
|
|
28
|
-
e:
|
|
27
|
+
p: "./../".concat(RELATIVE),
|
|
28
|
+
e: "this.is.the.".concat(RELATIVE),
|
|
29
29
|
d: 'a cousin node with leading dot-slash'
|
|
30
30
|
}, {
|
|
31
|
-
p:
|
|
31
|
+
p: "../../../../../../../".concat(RELATIVE),
|
|
32
32
|
e: RELATIVE,
|
|
33
33
|
d: 'an inappropriately nested node'
|
|
34
|
-
}].forEach(test
|
|
35
|
-
it(
|
|
34
|
+
}].forEach(function (test) {
|
|
35
|
+
it("should return ".concat(test.d, " appropriately"), function () {
|
|
36
36
|
doTest(test.p, CURRENT_PATH, test.e);
|
|
37
37
|
});
|
|
38
|
-
it(
|
|
38
|
+
it("should return ".concat(test.d, " appropriately where the current path is null"), function () {
|
|
39
39
|
doTest(test.p, null, RELATIVE);
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
|
-
it('should handle a null path and return null', ()
|
|
42
|
+
it('should handle a null path and return null', function () {
|
|
43
43
|
doTest(null, CURRENT_PATH, null);
|
|
44
44
|
});
|
|
45
|
-
it('should handle an undefined path and return undefined', ()
|
|
45
|
+
it('should handle an undefined path and return undefined', function () {
|
|
46
46
|
doTest(undefined, CURRENT_PATH, undefined);
|
|
47
47
|
});
|
|
48
48
|
});
|
|
@@ -7,36 +7,43 @@ exports.default = void 0;
|
|
|
7
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
8
|
var _Condition = _interopRequireDefault(require("../Condition"));
|
|
9
9
|
var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
|
|
10
|
-
function _interopRequireDefault(
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
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); }
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
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); } // Global Imports
|
|
13
17
|
// Local Imports
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var interpolateOptions = function interpolateOptions(config, options) {
|
|
19
|
+
return options.map(function (opt) {
|
|
20
|
+
if (opt.show_when) {
|
|
21
|
+
var result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
|
|
22
|
+
if (!result) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
20
25
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})
|
|
36
|
-
|
|
26
|
+
if (typeof opt === 'string') {
|
|
27
|
+
return opt;
|
|
28
|
+
}
|
|
29
|
+
if (config.alternativeHintField) {
|
|
30
|
+
// eslint-disable-next-line no-param-reassign
|
|
31
|
+
opt.hint = opt[config.alternativeHintField];
|
|
32
|
+
}
|
|
33
|
+
return _objectSpread(_objectSpread({}, opt), {}, {
|
|
34
|
+
value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
|
|
35
|
+
label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
|
|
36
|
+
hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
|
|
37
|
+
});
|
|
38
|
+
}).filter(function (n) {
|
|
39
|
+
return n;
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
var getOptions = function getOptions(config, callback) {
|
|
37
43
|
if (config) {
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
var _config$data, _config$data2;
|
|
45
|
+
if (config.options && config !== null && config !== void 0 && (_config$data = config.data) !== null && _config$data !== void 0 && _config$data.options && config !== null && config !== void 0 && (_config$data2 = config.data) !== null && _config$data2 !== void 0 && _config$data2.url) {
|
|
46
|
+
var combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
|
|
40
47
|
return callback(interpolateOptions(config, combinedOptions));
|
|
41
48
|
}
|
|
42
49
|
if (config.options) {
|