@ukhomeoffice/cop-react-form-renderer 5.89.0 → 5.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +76 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
- package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
- package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -55
- package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
- package/dist/components/CollectionSummary/SummaryCard.js +121 -157
- package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
- package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +81 -117
- package/dist/components/FormComponent/Collection.scss +1 -1
- package/dist/components/FormComponent/Collection.test.js +910 -1082
- package/dist/components/FormComponent/Container.js +45 -38
- package/dist/components/FormComponent/Container.scss +15 -0
- package/dist/components/FormComponent/Container.test.js +379 -411
- package/dist/components/FormComponent/FormComponent.js +71 -74
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- 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 +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- 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 +71 -87
- package/dist/components/FormPage/FormPage.test.js +133 -170
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +153 -198
- package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- 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 +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +61 -54
- package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
- package/dist/components/FormRenderer/onPageAction.js +45 -41
- package/dist/components/FormRenderer/onPageAction.test.js +225 -210
- package/dist/components/FormRenderer/onTaskAction.js +11 -15
- package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
- package/dist/components/PageActions/ActionButton.js +13 -16
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +13 -21
- package/dist/components/SummaryList/GroupAction.test.js +41 -37
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +41 -37
- package/dist/components/SummaryList/SummaryList.js +23 -28
- package/dist/components/SummaryList/SummaryList.test.js +179 -206
- package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +8 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
- 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 +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +53 -84
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +56 -49
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +58 -81
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +28 -41
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- 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 +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +31 -32
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
- package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
- 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 +21 -22
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +19 -20
- package/dist/utils/Component/applyToComponentTree.test.js +28 -33
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -7
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +90 -97
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- 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 +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +3 -4
- 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 +20 -31
- 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 +14 -19
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +16 -22
- package/dist/utils/Container/setupNesting.test.js +28 -31
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +40 -50
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +20 -29
- package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
- package/dist/utils/Data/getDataPath.js +20 -30
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +27 -34
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +11 -15
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +14 -22
- package/dist/utils/Data/setupFormData.test.js +52 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
- package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +16 -17
- package/dist/utils/FormPage/getFormPage.test.js +49 -48
- package/dist/utils/FormPage/getFormPages.js +8 -13
- package/dist/utils/FormPage/getFormPages.test.js +22 -25
- package/dist/utils/FormPage/getPageActions.js +10 -17
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- 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 +21 -28
- package/dist/utils/FormPage/useComponent.test.js +78 -80
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +29 -32
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
- 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 +47 -53
- 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 +23 -21
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +36 -37
- 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 +22 -28
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +25 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +33 -0
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +10 -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 +9 -14
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
- 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 +36 -40
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- 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 +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +11 -24
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +21 -27
- package/dist/utils/Validate/validateCollection.test.js +85 -77
- package/dist/utils/Validate/validateComponent.js +22 -23
- package/dist/utils/Validate/validateComponent.test.js +188 -165
- package/dist/utils/Validate/validateContainer.js +16 -21
- package/dist/utils/Validate/validateContainer.test.js +62 -56
- package/dist/utils/Validate/validateDate.js +17 -23
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +20 -24
- package/dist/utils/Validate/validatePage.test.js +227 -215
- package/dist/utils/Validate/validateRegex.js +5 -8
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +5 -7
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +5 -7
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +8 -10
- package/package.json +3 -2
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getAutocompleteSource = _interopRequireDefault(require("./getAutocompleteSource"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 () {
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
13
9
|
// test data
|
|
14
|
-
|
|
10
|
+
const gbCurrency = {
|
|
15
11
|
currencyName: 'Great British Pounds',
|
|
16
12
|
currencyCode: 'GBP',
|
|
17
13
|
hint: 'hint',
|
|
@@ -19,7 +15,7 @@ describe('utils', function () {
|
|
|
19
15
|
label: 'GBP',
|
|
20
16
|
slangTerm: 'quid'
|
|
21
17
|
};
|
|
22
|
-
|
|
18
|
+
const usCurrency = {
|
|
23
19
|
currencyName: 'United States Dollars',
|
|
24
20
|
currencyCode: 'USD',
|
|
25
21
|
hint: 'hint',
|
|
@@ -28,7 +24,7 @@ describe('utils', function () {
|
|
|
28
24
|
slangTerm: 'bucks',
|
|
29
25
|
synonyms: ['greenbacks']
|
|
30
26
|
};
|
|
31
|
-
|
|
27
|
+
const options = {
|
|
32
28
|
alpha: {
|
|
33
29
|
value: 'a',
|
|
34
30
|
label: 'Alpha',
|
|
@@ -50,30 +46,30 @@ describe('utils', function () {
|
|
|
50
46
|
hint: 'hint'
|
|
51
47
|
}
|
|
52
48
|
};
|
|
53
|
-
|
|
54
|
-
describe('getAutocompleteSource',
|
|
55
|
-
it('should handle a null config',
|
|
56
|
-
|
|
49
|
+
const testCurrencies = [gbCurrency, usCurrency];
|
|
50
|
+
describe('getAutocompleteSource', () => {
|
|
51
|
+
it('should handle a null config', () => {
|
|
52
|
+
const SOURCE = (0, _getAutocompleteSource.default)(null);
|
|
57
53
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
58
|
-
SOURCE('query',
|
|
54
|
+
SOURCE('query', results => {
|
|
59
55
|
expect(Array.isArray(results)).toBeTruthy();
|
|
60
56
|
expect(results.length).toEqual(0);
|
|
61
57
|
});
|
|
62
58
|
});
|
|
63
|
-
describe('without custom item labels',
|
|
64
|
-
it('should get any specified options from the config',
|
|
65
|
-
|
|
59
|
+
describe('without custom item labels', () => {
|
|
60
|
+
it('should get any specified options from the config', () => {
|
|
61
|
+
const CONFIG = {
|
|
66
62
|
data: {
|
|
67
63
|
options: [options.alpha, options.bravo]
|
|
68
64
|
}
|
|
69
65
|
};
|
|
70
|
-
|
|
66
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
71
67
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
72
|
-
SOURCE('a',
|
|
68
|
+
SOURCE('a', results => {
|
|
73
69
|
expect(results.length).toEqual(2);
|
|
74
70
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
75
71
|
});
|
|
76
|
-
SOURCE('al',
|
|
72
|
+
SOURCE('al', results => {
|
|
77
73
|
expect(results.length).toEqual(1);
|
|
78
74
|
expect(results).toEqual([{
|
|
79
75
|
value: 'a',
|
|
@@ -82,93 +78,95 @@ describe('utils', function () {
|
|
|
82
78
|
}]);
|
|
83
79
|
});
|
|
84
80
|
});
|
|
85
|
-
it('should handle an empty query',
|
|
86
|
-
|
|
81
|
+
it('should handle an empty query', () => {
|
|
82
|
+
const CONFIG = {
|
|
87
83
|
data: {
|
|
88
84
|
options: [options.alpha, options.bravo]
|
|
89
85
|
}
|
|
90
86
|
};
|
|
91
|
-
|
|
92
|
-
SOURCE('',
|
|
87
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
88
|
+
SOURCE('', results => {
|
|
93
89
|
expect(results.length).toEqual(2);
|
|
94
90
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
95
91
|
});
|
|
96
92
|
});
|
|
97
|
-
it('should handle an undefined query',
|
|
98
|
-
|
|
93
|
+
it('should handle an undefined query', () => {
|
|
94
|
+
const CONFIG = {
|
|
99
95
|
data: {
|
|
100
96
|
options: [options.alpha, options.bravo]
|
|
101
97
|
}
|
|
102
98
|
};
|
|
103
|
-
|
|
104
|
-
SOURCE(undefined,
|
|
99
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
100
|
+
SOURCE(undefined, results => {
|
|
105
101
|
expect(results.length).toEqual(2);
|
|
106
102
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
107
103
|
});
|
|
108
104
|
});
|
|
109
|
-
it('should handle a null query',
|
|
110
|
-
|
|
105
|
+
it('should handle a null query', () => {
|
|
106
|
+
const CONFIG = {
|
|
111
107
|
data: {
|
|
112
108
|
options: [options.alpha, options.bravo]
|
|
113
109
|
}
|
|
114
110
|
};
|
|
115
|
-
|
|
116
|
-
SOURCE(null,
|
|
111
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
112
|
+
SOURCE(null, results => {
|
|
117
113
|
expect(results.length).toEqual(2);
|
|
118
114
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
119
115
|
});
|
|
120
116
|
});
|
|
121
|
-
it('should handle a missing label on an option',
|
|
122
|
-
|
|
117
|
+
it('should handle a missing label on an option', () => {
|
|
118
|
+
const CONFIG = {
|
|
123
119
|
data: {
|
|
124
120
|
options: [options.alpha, {
|
|
125
121
|
value: 'b'
|
|
126
122
|
}]
|
|
127
123
|
}
|
|
128
124
|
};
|
|
129
|
-
|
|
125
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
130
126
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
131
|
-
SOURCE('a',
|
|
127
|
+
SOURCE('a', results => {
|
|
132
128
|
expect(results.length).toEqual(1);
|
|
133
129
|
expect(results).toEqual([options.alpha]);
|
|
134
130
|
});
|
|
135
131
|
});
|
|
136
|
-
it('should return matches in the right order',
|
|
137
|
-
|
|
132
|
+
it('should return matches in the right order', () => {
|
|
133
|
+
const CONFIG = {
|
|
138
134
|
data: {
|
|
139
135
|
options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
|
|
140
136
|
}
|
|
141
137
|
};
|
|
142
|
-
|
|
138
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
143
139
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
144
|
-
SOURCE('al',
|
|
140
|
+
SOURCE('al', results => {
|
|
145
141
|
expect(results.length).toEqual(3);
|
|
146
142
|
expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
|
|
147
143
|
});
|
|
148
144
|
});
|
|
149
|
-
it('should match options using a defined synonym',
|
|
150
|
-
|
|
145
|
+
it('should match options using a defined synonym', () => {
|
|
146
|
+
const CONFIG = {
|
|
151
147
|
data: {
|
|
152
|
-
options: [
|
|
148
|
+
options: [{
|
|
149
|
+
...options.alpha,
|
|
153
150
|
synonyms: ['first']
|
|
154
|
-
}
|
|
151
|
+
}, {
|
|
155
152
|
value: 'b'
|
|
156
153
|
}]
|
|
157
154
|
}
|
|
158
155
|
};
|
|
159
|
-
|
|
156
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
160
157
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
161
|
-
SOURCE('first',
|
|
158
|
+
SOURCE('first', results => {
|
|
162
159
|
expect(results.length).toEqual(1);
|
|
163
|
-
expect(results).toEqual([
|
|
160
|
+
expect(results).toEqual([{
|
|
161
|
+
...options.alpha,
|
|
164
162
|
synonyms: ['first']
|
|
165
|
-
}
|
|
163
|
+
}]);
|
|
166
164
|
});
|
|
167
165
|
});
|
|
168
166
|
});
|
|
169
|
-
describe('with custom item labels',
|
|
170
|
-
it('should get any specified options from the config',
|
|
171
|
-
|
|
167
|
+
describe('with custom item labels', () => {
|
|
168
|
+
it('should get any specified options from the config', () => {
|
|
169
|
+
const CONFIG = {
|
|
172
170
|
item: {
|
|
173
171
|
value: 'currencyCode',
|
|
174
172
|
label: 'currencyCode',
|
|
@@ -179,19 +177,19 @@ describe('utils', function () {
|
|
|
179
177
|
options: testCurrencies
|
|
180
178
|
}
|
|
181
179
|
};
|
|
182
|
-
|
|
180
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
183
181
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
184
|
-
SOURCE('GB',
|
|
182
|
+
SOURCE('GB', results => {
|
|
185
183
|
expect(results.length).toEqual(1);
|
|
186
184
|
expect(results).toEqual([gbCurrency]);
|
|
187
185
|
});
|
|
188
|
-
SOURCE(' (',
|
|
186
|
+
SOURCE(' (', results => {
|
|
189
187
|
expect(results.length).toEqual(2);
|
|
190
188
|
expect(results).toEqual(testCurrencies);
|
|
191
189
|
});
|
|
192
190
|
});
|
|
193
|
-
it('should handle an empty query',
|
|
194
|
-
|
|
191
|
+
it('should handle an empty query', () => {
|
|
192
|
+
const CONFIG = {
|
|
195
193
|
item: {
|
|
196
194
|
value: 'currencyCode',
|
|
197
195
|
label: 'currencyCode',
|
|
@@ -202,14 +200,14 @@ describe('utils', function () {
|
|
|
202
200
|
options: testCurrencies
|
|
203
201
|
}
|
|
204
202
|
};
|
|
205
|
-
|
|
206
|
-
SOURCE('',
|
|
203
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
204
|
+
SOURCE('', results => {
|
|
207
205
|
expect(results.length).toEqual(2);
|
|
208
206
|
expect(results).toEqual(testCurrencies);
|
|
209
207
|
});
|
|
210
208
|
});
|
|
211
|
-
it('should handle an undefined query',
|
|
212
|
-
|
|
209
|
+
it('should handle an undefined query', () => {
|
|
210
|
+
const CONFIG = {
|
|
213
211
|
item: {
|
|
214
212
|
value: 'currencyCode',
|
|
215
213
|
label: 'currencyCode',
|
|
@@ -220,14 +218,14 @@ describe('utils', function () {
|
|
|
220
218
|
options: testCurrencies
|
|
221
219
|
}
|
|
222
220
|
};
|
|
223
|
-
|
|
224
|
-
SOURCE(undefined,
|
|
221
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
222
|
+
SOURCE(undefined, results => {
|
|
225
223
|
expect(results.length).toEqual(2);
|
|
226
224
|
expect(results).toEqual(testCurrencies);
|
|
227
225
|
});
|
|
228
226
|
});
|
|
229
|
-
it('should handle a null query',
|
|
230
|
-
|
|
227
|
+
it('should handle a null query', () => {
|
|
228
|
+
const CONFIG = {
|
|
231
229
|
item: {
|
|
232
230
|
value: 'currencyCode',
|
|
233
231
|
label: 'currencyCode',
|
|
@@ -238,14 +236,14 @@ describe('utils', function () {
|
|
|
238
236
|
options: testCurrencies
|
|
239
237
|
}
|
|
240
238
|
};
|
|
241
|
-
|
|
242
|
-
SOURCE(null,
|
|
239
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
240
|
+
SOURCE(null, results => {
|
|
243
241
|
expect(results.length).toEqual(2);
|
|
244
242
|
expect(results).toEqual(testCurrencies);
|
|
245
243
|
});
|
|
246
244
|
});
|
|
247
|
-
it('should handle a missing label on an option',
|
|
248
|
-
|
|
245
|
+
it('should handle a missing label on an option', () => {
|
|
246
|
+
const CONFIG = {
|
|
249
247
|
item: {
|
|
250
248
|
value: 'currencyCode',
|
|
251
249
|
label: 'currencyCode',
|
|
@@ -261,9 +259,9 @@ describe('utils', function () {
|
|
|
261
259
|
}]
|
|
262
260
|
}
|
|
263
261
|
};
|
|
264
|
-
|
|
262
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
265
263
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
266
|
-
SOURCE('a',
|
|
264
|
+
SOURCE('a', results => {
|
|
267
265
|
// We expect 2 results here instead of 1 because defining a custom
|
|
268
266
|
// format for item labels means the label is constructed upon processing
|
|
269
267
|
// a query - we're not relying on the 'label' field of the option.
|
|
@@ -277,8 +275,8 @@ describe('utils', function () {
|
|
|
277
275
|
}]);
|
|
278
276
|
});
|
|
279
277
|
});
|
|
280
|
-
it('should match options using a defined synonym',
|
|
281
|
-
|
|
278
|
+
it('should match options using a defined synonym', () => {
|
|
279
|
+
const CONFIG = {
|
|
282
280
|
item: {
|
|
283
281
|
value: 'currencyCode',
|
|
284
282
|
label: 'currencyCode',
|
|
@@ -289,17 +287,15 @@ describe('utils', function () {
|
|
|
289
287
|
options: testCurrencies
|
|
290
288
|
}
|
|
291
289
|
};
|
|
292
|
-
|
|
290
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
293
291
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
294
|
-
SOURCE('greenbacks',
|
|
292
|
+
SOURCE('greenbacks', results => {
|
|
295
293
|
expect(results.length).toEqual(1);
|
|
296
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
297
|
-
return c.currencyCode === 'USD';
|
|
298
|
-
}));
|
|
294
|
+
expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
|
|
299
295
|
});
|
|
300
296
|
});
|
|
301
|
-
it('should match options using defined extra searchable fields',
|
|
302
|
-
|
|
297
|
+
it('should match options using defined extra searchable fields', () => {
|
|
298
|
+
const CONFIG = {
|
|
303
299
|
item: {
|
|
304
300
|
value: 'currencyCode',
|
|
305
301
|
label: 'currencyCode',
|
|
@@ -311,13 +307,11 @@ describe('utils', function () {
|
|
|
311
307
|
options: testCurrencies
|
|
312
308
|
}
|
|
313
309
|
};
|
|
314
|
-
|
|
310
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
315
311
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
316
|
-
SOURCE('buc',
|
|
312
|
+
SOURCE('buc', results => {
|
|
317
313
|
expect(results.length).toEqual(1);
|
|
318
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
319
|
-
return c.currencyCode === 'USD';
|
|
320
|
-
}));
|
|
314
|
+
expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
|
|
321
315
|
});
|
|
322
316
|
});
|
|
323
317
|
});
|
|
@@ -4,47 +4,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var toParts = function toParts(str) {
|
|
15
|
-
var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
|
|
7
|
+
const DOT = '.';
|
|
8
|
+
const SLASH = '/';
|
|
9
|
+
const DOT_DOT = `${DOT}${DOT}`;
|
|
10
|
+
const PARENT_PATH = `${DOT}${SLASH}`;
|
|
11
|
+
const toPath = arr => arr.join(DOT);
|
|
12
|
+
const toParts = function (str) {
|
|
13
|
+
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
|
|
16
14
|
return str.split(separator);
|
|
17
15
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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) {
|
|
16
|
+
const isDotDot = str => str === DOT_DOT;
|
|
17
|
+
const isDotOrDotDot = str => [DOT, DOT_DOT].indexOf(str) > -1;
|
|
18
|
+
const isRelativePath = path => path && path.indexOf(DOT) === 0;
|
|
19
|
+
const standardiseRelativePath = path => {
|
|
28
20
|
if (path.indexOf(PARENT_PATH) === 0) {
|
|
29
21
|
return path;
|
|
30
22
|
}
|
|
31
|
-
return
|
|
23
|
+
return `${PARENT_PATH}${path}`;
|
|
32
24
|
};
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
const ascendPath = (startPath, ascent) => {
|
|
26
|
+
const relativePath = standardiseRelativePath(ascent);
|
|
35
27
|
// Always add 1 because we're starting on a leaf node within a "directory".
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
const stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
|
|
29
|
+
const pathParts = startPath ? toParts(startPath) : [];
|
|
38
30
|
if (stepsToClimb >= pathParts.length) {
|
|
39
31
|
return '';
|
|
40
32
|
}
|
|
41
33
|
return toPath(pathParts.slice(0, -stepsToClimb));
|
|
42
34
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
return startPath ? "".concat(startPath, ".").concat(toPath(stepsDown)) : toPath(stepsDown);
|
|
35
|
+
const descendPath = (startPath, descent) => {
|
|
36
|
+
const stepsDown = toParts(descent, SLASH).filter(str => !isDotOrDotDot(str));
|
|
37
|
+
return startPath ? `${startPath}.${toPath(stepsDown)}` : toPath(stepsDown);
|
|
48
38
|
};
|
|
49
39
|
|
|
50
40
|
/**
|
|
@@ -66,7 +56,7 @@ var descendPath = function descendPath(startPath, descent) {
|
|
|
66
56
|
* getDataPath('../../relative.path', 'this.is.the.current.path');
|
|
67
57
|
* // => 'this.is.relative.path'
|
|
68
58
|
*/
|
|
69
|
-
|
|
59
|
+
const getDataPath = (path, currentPath) => {
|
|
70
60
|
if (isRelativePath(path)) {
|
|
71
61
|
return descendPath(ascendPath(currentPath, path), path);
|
|
72
62
|
}
|
|
@@ -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(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils.Data.getDataPath', () => {
|
|
6
|
+
const CURRENT_PATH = 'this.is.the.current.path';
|
|
7
|
+
const RELATIVE = 'relative.path';
|
|
8
|
+
const ABSOLUTE = 'absolute.path';
|
|
9
|
+
const 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`, () => {
|
|
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`, () => {
|
|
16
16
|
doTest(ABSOLUTE, null, ABSOLUTE);
|
|
17
17
|
});
|
|
18
18
|
[{
|
|
19
|
-
p:
|
|
20
|
-
e:
|
|
19
|
+
p: `./${RELATIVE}`,
|
|
20
|
+
e: `this.is.the.current.${RELATIVE}`,
|
|
21
21
|
d: 'a sibling node'
|
|
22
22
|
}, {
|
|
23
|
-
p:
|
|
24
|
-
e:
|
|
23
|
+
p: `../${RELATIVE}`,
|
|
24
|
+
e: `this.is.the.${RELATIVE}`,
|
|
25
25
|
d: 'a cousin node'
|
|
26
26
|
}, {
|
|
27
|
-
p:
|
|
28
|
-
e:
|
|
27
|
+
p: `./../${RELATIVE}`,
|
|
28
|
+
e: `this.is.the.${RELATIVE}`,
|
|
29
29
|
d: 'a cousin node with leading dot-slash'
|
|
30
30
|
}, {
|
|
31
|
-
p:
|
|
31
|
+
p: `../../../../../../../${RELATIVE}`,
|
|
32
32
|
e: RELATIVE,
|
|
33
33
|
d: 'an inappropriately nested node'
|
|
34
|
-
}].forEach(
|
|
35
|
-
it(
|
|
34
|
+
}].forEach(test => {
|
|
35
|
+
it(`should return ${test.d} appropriately`, () => {
|
|
36
36
|
doTest(test.p, CURRENT_PATH, test.e);
|
|
37
37
|
});
|
|
38
|
-
it(
|
|
38
|
+
it(`should return ${test.d} appropriately where the current path is null`, () => {
|
|
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', () => {
|
|
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', () => {
|
|
46
46
|
doTest(undefined, CURRENT_PATH, undefined);
|
|
47
47
|
});
|
|
48
48
|
});
|
|
@@ -7,43 +7,36 @@ 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
|
-
|
|
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
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
// Global Imports
|
|
12
|
+
|
|
17
13
|
// Local Imports
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
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];
|
|
14
|
+
|
|
15
|
+
const interpolateOptions = (config, options) => options.map(opt => {
|
|
16
|
+
if (opt.show_when) {
|
|
17
|
+
const result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
|
|
18
|
+
if (!result) {
|
|
19
|
+
return null;
|
|
32
20
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
21
|
+
}
|
|
22
|
+
if (typeof opt === 'string') {
|
|
23
|
+
return opt;
|
|
24
|
+
}
|
|
25
|
+
if (config.alternativeHintField) {
|
|
26
|
+
// eslint-disable-next-line no-param-reassign
|
|
27
|
+
opt.hint = opt[config.alternativeHintField];
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
...opt,
|
|
31
|
+
value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
|
|
32
|
+
label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
|
|
33
|
+
hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
|
|
34
|
+
};
|
|
35
|
+
}).filter(n => n);
|
|
36
|
+
const getOptions = (config, callback) => {
|
|
43
37
|
if (config) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
|
|
38
|
+
if (config.options && config?.data?.options && config?.data?.url) {
|
|
39
|
+
const combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
|
|
47
40
|
return callback(interpolateOptions(config, combinedOptions));
|
|
48
41
|
}
|
|
49
42
|
if (config.options) {
|