@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-alpha
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/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- 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 +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- 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 +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- 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 +14 -25
- 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 +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- 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 +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- 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 +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- 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 +57 -69
- 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 +25 -37
- 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 +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- 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 +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- 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 +201 -226
- 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 +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- 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 +16 -20
- 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 +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- 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 +17 -26
- 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 +12 -15
- 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 +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +72 -63
- package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- 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 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- 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 +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- 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 +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- 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 +5 -6
- 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 +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- 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 +4 -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 +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -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 +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- 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 +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- 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 +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- 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 +5 -6
- package/package.json +2 -4
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getAutocompleteSource = _interopRequireDefault(require("./getAutocompleteSource"));
|
|
4
|
-
function _interopRequireDefault(
|
|
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); }
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
5
|
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
6
|
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(
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
11
|
-
describe('utils',
|
|
12
|
-
describe('Data',
|
|
13
|
-
|
|
14
|
-
var gbCurrency = {
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
+
describe('utils', () => {
|
|
11
|
+
describe('Data', () => {
|
|
12
|
+
const gbCurrency = {
|
|
15
13
|
currencyName: 'Great British Pounds',
|
|
16
14
|
currencyCode: 'GBP',
|
|
17
15
|
hint: 'hint',
|
|
@@ -19,16 +17,16 @@ describe('utils', function () {
|
|
|
19
17
|
label: 'GBP',
|
|
20
18
|
slangTerm: 'quid'
|
|
21
19
|
};
|
|
22
|
-
|
|
20
|
+
const usCurrency = {
|
|
23
21
|
currencyName: 'United States Dollars',
|
|
24
22
|
currencyCode: 'USD',
|
|
25
23
|
hint: 'hint',
|
|
26
24
|
value: 'USD',
|
|
27
25
|
label: 'USD',
|
|
28
26
|
slangTerm: 'bucks',
|
|
29
|
-
synonyms: ['greenbacks']
|
|
27
|
+
synonyms: ['greenbacks', 11]
|
|
30
28
|
};
|
|
31
|
-
|
|
29
|
+
const options = {
|
|
32
30
|
alpha: {
|
|
33
31
|
value: 'a',
|
|
34
32
|
label: 'Alpha',
|
|
@@ -50,30 +48,30 @@ describe('utils', function () {
|
|
|
50
48
|
hint: 'hint'
|
|
51
49
|
}
|
|
52
50
|
};
|
|
53
|
-
|
|
54
|
-
describe('getAutocompleteSource',
|
|
55
|
-
it('should handle a null config',
|
|
56
|
-
|
|
51
|
+
const testCurrencies = [gbCurrency, usCurrency];
|
|
52
|
+
describe('getAutocompleteSource', () => {
|
|
53
|
+
it('should handle a null config', () => {
|
|
54
|
+
const SOURCE = (0, _getAutocompleteSource.default)(null);
|
|
57
55
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
58
|
-
SOURCE('query',
|
|
56
|
+
SOURCE('query', results => {
|
|
59
57
|
expect(Array.isArray(results)).toBeTruthy();
|
|
60
58
|
expect(results.length).toEqual(0);
|
|
61
59
|
});
|
|
62
60
|
});
|
|
63
|
-
describe('without custom item labels',
|
|
64
|
-
it('should get any specified options from the config',
|
|
65
|
-
|
|
61
|
+
describe('without custom item labels', () => {
|
|
62
|
+
it('should get any specified options from the config', () => {
|
|
63
|
+
const CONFIG = {
|
|
66
64
|
data: {
|
|
67
65
|
options: [options.alpha, options.bravo]
|
|
68
66
|
}
|
|
69
67
|
};
|
|
70
|
-
|
|
68
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
71
69
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
72
|
-
SOURCE('a',
|
|
70
|
+
SOURCE('a', results => {
|
|
73
71
|
expect(results.length).toEqual(2);
|
|
74
72
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
75
73
|
});
|
|
76
|
-
SOURCE('al',
|
|
74
|
+
SOURCE('al', results => {
|
|
77
75
|
expect(results.length).toEqual(1);
|
|
78
76
|
expect(results).toEqual([{
|
|
79
77
|
value: 'a',
|
|
@@ -82,72 +80,93 @@ describe('utils', function () {
|
|
|
82
80
|
}]);
|
|
83
81
|
});
|
|
84
82
|
});
|
|
85
|
-
it('should
|
|
86
|
-
|
|
83
|
+
it('should only return first 6000 results that have some type of match', () => {
|
|
84
|
+
const moreThanMaxNumberOfOptions = Array(6001).fill(options.alpha);
|
|
85
|
+
const config = {
|
|
86
|
+
data: {
|
|
87
|
+
options: moreThanMaxNumberOfOptions
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
(0, _getAutocompleteSource.default)(config)(options.alpha.label, results => expect(results.length).toEqual(6000));
|
|
91
|
+
});
|
|
92
|
+
it('should handle an empty query', () => {
|
|
93
|
+
const CONFIG = {
|
|
94
|
+
data: {
|
|
95
|
+
options: [options.alpha, options.bravo]
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
99
|
+
SOURCE('', results => {
|
|
100
|
+
expect(results.length).toEqual(2);
|
|
101
|
+
expect(results).toEqual([options.alpha, options.bravo]);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
it('should handle an undefined query', () => {
|
|
105
|
+
const CONFIG = {
|
|
87
106
|
data: {
|
|
88
107
|
options: [options.alpha, options.bravo]
|
|
89
108
|
}
|
|
90
109
|
};
|
|
91
|
-
|
|
92
|
-
SOURCE(
|
|
110
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
111
|
+
SOURCE(undefined, results => {
|
|
93
112
|
expect(results.length).toEqual(2);
|
|
94
113
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
95
114
|
});
|
|
96
115
|
});
|
|
97
|
-
it('should handle
|
|
98
|
-
|
|
116
|
+
it('should handle a null query', () => {
|
|
117
|
+
const CONFIG = {
|
|
99
118
|
data: {
|
|
100
119
|
options: [options.alpha, options.bravo]
|
|
101
120
|
}
|
|
102
121
|
};
|
|
103
|
-
|
|
104
|
-
SOURCE(
|
|
122
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
123
|
+
SOURCE(null, results => {
|
|
105
124
|
expect(results.length).toEqual(2);
|
|
106
125
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
107
126
|
});
|
|
108
127
|
});
|
|
109
|
-
it('should handle a
|
|
110
|
-
|
|
128
|
+
it('should handle a non string query', () => {
|
|
129
|
+
const CONFIG = {
|
|
111
130
|
data: {
|
|
112
131
|
options: [options.alpha, options.bravo]
|
|
113
132
|
}
|
|
114
133
|
};
|
|
115
|
-
|
|
116
|
-
SOURCE(
|
|
134
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
135
|
+
SOURCE(1, results => {
|
|
117
136
|
expect(results.length).toEqual(2);
|
|
118
137
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
119
138
|
});
|
|
120
139
|
});
|
|
121
|
-
it('should handle a missing label on an option',
|
|
122
|
-
|
|
140
|
+
it('should handle a missing label on an option', () => {
|
|
141
|
+
const CONFIG = {
|
|
123
142
|
data: {
|
|
124
143
|
options: [options.alpha, {
|
|
125
144
|
value: 'b'
|
|
126
145
|
}]
|
|
127
146
|
}
|
|
128
147
|
};
|
|
129
|
-
|
|
148
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
130
149
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
131
|
-
SOURCE('a',
|
|
150
|
+
SOURCE('a', results => {
|
|
132
151
|
expect(results.length).toEqual(1);
|
|
133
152
|
expect(results).toEqual([options.alpha]);
|
|
134
153
|
});
|
|
135
154
|
});
|
|
136
|
-
it('should return matches in the right order',
|
|
137
|
-
|
|
155
|
+
it('should return matches in the right order', () => {
|
|
156
|
+
const CONFIG = {
|
|
138
157
|
data: {
|
|
139
158
|
options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
|
|
140
159
|
}
|
|
141
160
|
};
|
|
142
|
-
|
|
161
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
143
162
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
144
|
-
SOURCE('al',
|
|
163
|
+
SOURCE('al', results => {
|
|
145
164
|
expect(results.length).toEqual(3);
|
|
146
165
|
expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
|
|
147
166
|
});
|
|
148
167
|
});
|
|
149
|
-
it('should match options using a defined synonym',
|
|
150
|
-
|
|
168
|
+
it('should match options using a defined synonym', () => {
|
|
169
|
+
const CONFIG = {
|
|
151
170
|
data: {
|
|
152
171
|
options: [_objectSpread(_objectSpread({}, options.alpha), {}, {
|
|
153
172
|
synonyms: ['first']
|
|
@@ -156,9 +175,9 @@ describe('utils', function () {
|
|
|
156
175
|
}]
|
|
157
176
|
}
|
|
158
177
|
};
|
|
159
|
-
|
|
178
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
160
179
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
161
|
-
SOURCE('first',
|
|
180
|
+
SOURCE('first', results => {
|
|
162
181
|
expect(results.length).toEqual(1);
|
|
163
182
|
expect(results).toEqual([_objectSpread(_objectSpread({}, options.alpha), {}, {
|
|
164
183
|
synonyms: ['first']
|
|
@@ -166,91 +185,86 @@ describe('utils', function () {
|
|
|
166
185
|
});
|
|
167
186
|
});
|
|
168
187
|
});
|
|
169
|
-
describe('with custom item labels',
|
|
170
|
-
it('should get any specified options from the config',
|
|
171
|
-
|
|
188
|
+
describe('with custom item labels', () => {
|
|
189
|
+
it('should get any specified options from the config', () => {
|
|
190
|
+
const CONFIG = {
|
|
172
191
|
item: {
|
|
173
192
|
value: 'currencyCode',
|
|
174
193
|
label: 'currencyCode',
|
|
175
|
-
|
|
176
|
-
format: '${currencyName} (${currencyCode})'
|
|
194
|
+
format: "${currencyName} (${currencyCode})"
|
|
177
195
|
},
|
|
178
196
|
data: {
|
|
179
197
|
options: testCurrencies
|
|
180
198
|
}
|
|
181
199
|
};
|
|
182
|
-
|
|
200
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
183
201
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
184
|
-
SOURCE('GB',
|
|
202
|
+
SOURCE('GB', results => {
|
|
185
203
|
expect(results.length).toEqual(1);
|
|
186
204
|
expect(results).toEqual([gbCurrency]);
|
|
187
205
|
});
|
|
188
|
-
SOURCE(' (',
|
|
206
|
+
SOURCE(' (', results => {
|
|
189
207
|
expect(results.length).toEqual(2);
|
|
190
208
|
expect(results).toEqual(testCurrencies);
|
|
191
209
|
});
|
|
192
210
|
});
|
|
193
|
-
it('should handle an empty query',
|
|
194
|
-
|
|
211
|
+
it('should handle an empty query', () => {
|
|
212
|
+
const CONFIG = {
|
|
195
213
|
item: {
|
|
196
214
|
value: 'currencyCode',
|
|
197
215
|
label: 'currencyCode',
|
|
198
|
-
|
|
199
|
-
format: '${currencyName} (${currencyCode})'
|
|
216
|
+
format: "${currencyName} (${currencyCode})"
|
|
200
217
|
},
|
|
201
218
|
data: {
|
|
202
219
|
options: testCurrencies
|
|
203
220
|
}
|
|
204
221
|
};
|
|
205
|
-
|
|
206
|
-
SOURCE('',
|
|
222
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
223
|
+
SOURCE('', results => {
|
|
207
224
|
expect(results.length).toEqual(2);
|
|
208
225
|
expect(results).toEqual(testCurrencies);
|
|
209
226
|
});
|
|
210
227
|
});
|
|
211
|
-
it('should handle an undefined query',
|
|
212
|
-
|
|
228
|
+
it('should handle an undefined query', () => {
|
|
229
|
+
const CONFIG = {
|
|
213
230
|
item: {
|
|
214
231
|
value: 'currencyCode',
|
|
215
232
|
label: 'currencyCode',
|
|
216
|
-
|
|
217
|
-
format: '${currencyName} (${currencyCode})'
|
|
233
|
+
format: "${currencyName} (${currencyCode})"
|
|
218
234
|
},
|
|
219
235
|
data: {
|
|
220
236
|
options: testCurrencies
|
|
221
237
|
}
|
|
222
238
|
};
|
|
223
|
-
|
|
224
|
-
SOURCE(undefined,
|
|
239
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
240
|
+
SOURCE(undefined, results => {
|
|
225
241
|
expect(results.length).toEqual(2);
|
|
226
242
|
expect(results).toEqual(testCurrencies);
|
|
227
243
|
});
|
|
228
244
|
});
|
|
229
|
-
it('should handle a null query',
|
|
230
|
-
|
|
245
|
+
it('should handle a null query', () => {
|
|
246
|
+
const CONFIG = {
|
|
231
247
|
item: {
|
|
232
248
|
value: 'currencyCode',
|
|
233
249
|
label: 'currencyCode',
|
|
234
|
-
|
|
235
|
-
format: '${currencyName} (${currencyCode})'
|
|
250
|
+
format: "${currencyName} (${currencyCode})"
|
|
236
251
|
},
|
|
237
252
|
data: {
|
|
238
253
|
options: testCurrencies
|
|
239
254
|
}
|
|
240
255
|
};
|
|
241
|
-
|
|
242
|
-
SOURCE(null,
|
|
256
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
257
|
+
SOURCE(null, results => {
|
|
243
258
|
expect(results.length).toEqual(2);
|
|
244
259
|
expect(results).toEqual(testCurrencies);
|
|
245
260
|
});
|
|
246
261
|
});
|
|
247
|
-
it('should handle a missing label on an option',
|
|
248
|
-
|
|
262
|
+
it('should handle a missing label on an option', () => {
|
|
263
|
+
const CONFIG = {
|
|
249
264
|
item: {
|
|
250
265
|
value: 'currencyCode',
|
|
251
266
|
label: 'currencyCode',
|
|
252
|
-
|
|
253
|
-
format: '${currencyName} (${currencyCode})'
|
|
267
|
+
format: "${currencyName} (${currencyCode})"
|
|
254
268
|
},
|
|
255
269
|
data: {
|
|
256
270
|
options: [gbCurrency, {
|
|
@@ -261,9 +275,9 @@ describe('utils', function () {
|
|
|
261
275
|
}]
|
|
262
276
|
}
|
|
263
277
|
};
|
|
264
|
-
|
|
278
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
265
279
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
266
|
-
SOURCE('a',
|
|
280
|
+
SOURCE('a', results => {
|
|
267
281
|
// We expect 2 results here instead of 1 because defining a custom
|
|
268
282
|
// format for item labels means the label is constructed upon processing
|
|
269
283
|
// a query - we're not relying on the 'label' field of the option.
|
|
@@ -277,47 +291,41 @@ describe('utils', function () {
|
|
|
277
291
|
}]);
|
|
278
292
|
});
|
|
279
293
|
});
|
|
280
|
-
it('should match options using a defined synonym',
|
|
281
|
-
|
|
294
|
+
it('should match options using a defined synonym', () => {
|
|
295
|
+
const CONFIG = {
|
|
282
296
|
item: {
|
|
283
297
|
value: 'currencyCode',
|
|
284
298
|
label: 'currencyCode',
|
|
285
|
-
|
|
286
|
-
format: '${currencyName} (${currencyCode})'
|
|
299
|
+
format: "${currencyName} (${currencyCode})"
|
|
287
300
|
},
|
|
288
301
|
data: {
|
|
289
302
|
options: testCurrencies
|
|
290
303
|
}
|
|
291
304
|
};
|
|
292
|
-
|
|
305
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
293
306
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
294
|
-
SOURCE('greenbacks',
|
|
307
|
+
SOURCE('greenbacks', results => {
|
|
295
308
|
expect(results.length).toEqual(1);
|
|
296
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
297
|
-
return c.currencyCode === 'USD';
|
|
298
|
-
}));
|
|
309
|
+
expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
|
|
299
310
|
});
|
|
300
311
|
});
|
|
301
|
-
it('should match options using defined extra searchable fields',
|
|
302
|
-
|
|
312
|
+
it('should match options using defined extra searchable fields', () => {
|
|
313
|
+
const CONFIG = {
|
|
303
314
|
item: {
|
|
304
315
|
value: 'currencyCode',
|
|
305
316
|
label: 'currencyCode',
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
extraFieldsToSearch: ['slangTerm']
|
|
317
|
+
format: "${currencyName} (${currencyCode})",
|
|
318
|
+
extraFieldsToSearch: ['slangTerm', null]
|
|
309
319
|
},
|
|
310
320
|
data: {
|
|
311
321
|
options: testCurrencies
|
|
312
322
|
}
|
|
313
323
|
};
|
|
314
|
-
|
|
324
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
315
325
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
316
|
-
SOURCE('buc',
|
|
326
|
+
SOURCE('buc', results => {
|
|
317
327
|
expect(results.length).toEqual(1);
|
|
318
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
319
|
-
return c.currencyCode === 'USD';
|
|
320
|
-
}));
|
|
328
|
+
expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
|
|
321
329
|
});
|
|
322
330
|
});
|
|
323
331
|
});
|
|
@@ -4,46 +4,36 @@ 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 = "".concat(DOT).concat(DOT);
|
|
10
|
+
const PARENT_PATH = "".concat(DOT).concat(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
23
|
return "".concat(PARENT_PATH).concat(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
|
-
return !isDotOrDotDot(str);
|
|
46
|
-
});
|
|
35
|
+
const descendPath = (startPath, descent) => {
|
|
36
|
+
const stepsDown = toParts(descent, SLASH).filter(str => !isDotOrDotDot(str));
|
|
47
37
|
return startPath ? "".concat(startPath, ".").concat(toPath(stepsDown)) : toPath(stepsDown);
|
|
48
38
|
};
|
|
49
39
|
|
|
@@ -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,18 +1,18 @@
|
|
|
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("should return an absolute path appropriately",
|
|
12
|
+
it("should return an absolute path appropriately", () => {
|
|
13
13
|
doTest(ABSOLUTE, CURRENT_PATH, ABSOLUTE);
|
|
14
14
|
});
|
|
15
|
-
it("should return an absolute path appropriately where the current path is null",
|
|
15
|
+
it("should return an absolute path appropriately where the current path is null", () => {
|
|
16
16
|
doTest(ABSOLUTE, null, ABSOLUTE);
|
|
17
17
|
});
|
|
18
18
|
[{
|
|
@@ -31,18 +31,18 @@ describe('utils.Data.getDataPath', function () {
|
|
|
31
31
|
p: "../../../../../../../".concat(RELATIVE),
|
|
32
32
|
e: RELATIVE,
|
|
33
33
|
d: 'an inappropriately nested node'
|
|
34
|
-
}].forEach(
|
|
35
|
-
it("should return ".concat(test.d, " appropriately"),
|
|
34
|
+
}].forEach(test => {
|
|
35
|
+
it("should return ".concat(test.d, " appropriately"), () => {
|
|
36
36
|
doTest(test.p, CURRENT_PATH, test.e);
|
|
37
37
|
});
|
|
38
|
-
it("should return ".concat(test.d, " appropriately where the current path is null"),
|
|
38
|
+
it("should return ".concat(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,41 +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
|
-
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); }
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
12
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
-
function _defineProperty(
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global Imports
|
|
17
16
|
// Local Imports
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
17
|
+
const interpolateOptions = (config, options) => options.map(opt => {
|
|
18
|
+
if (opt.show_when) {
|
|
19
|
+
const result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
|
|
20
|
+
if (!result) {
|
|
21
|
+
return null;
|
|
25
22
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}).filter(function (n) {
|
|
42
|
-
return n;
|
|
23
|
+
}
|
|
24
|
+
if (typeof opt === 'string') {
|
|
25
|
+
return opt;
|
|
26
|
+
}
|
|
27
|
+
if (!opt.value) {
|
|
28
|
+
return opt.label;
|
|
29
|
+
}
|
|
30
|
+
if (config.alternativeHintField) {
|
|
31
|
+
// eslint-disable-next-line no-param-reassign
|
|
32
|
+
opt.hint = opt[config.alternativeHintField];
|
|
33
|
+
}
|
|
34
|
+
return _objectSpread(_objectSpread({}, opt), {}, {
|
|
35
|
+
value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
|
|
36
|
+
label: _copReactComponents.Utils.interpolateString(opt.label, config.formData),
|
|
37
|
+
hint: _copReactComponents.Utils.interpolateString(opt.hint, config.formData)
|
|
43
38
|
});
|
|
44
|
-
};
|
|
39
|
+
}).filter(n => n);
|
|
45
40
|
|
|
46
41
|
/**
|
|
47
42
|
* Returns a list of options templated from a collection specified.
|
|
@@ -55,30 +50,28 @@ var interpolateOptions = function interpolateOptions(config, options) {
|
|
|
55
50
|
* @param {*} collectionName
|
|
56
51
|
* @returns
|
|
57
52
|
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
};
|
|
65
|
-
});
|
|
53
|
+
const getCollectionOptions = (config, collectionName) => {
|
|
54
|
+
const collectionOptions = config.formData[collectionName].map(collection => ({
|
|
55
|
+
value: _copReactComponents.Utils.interpolateString(config.item.value, collection),
|
|
56
|
+
label: _copReactComponents.Utils.interpolateString(config.item.label, collection),
|
|
57
|
+
hint: _copReactComponents.Utils.interpolateString(config.item.hint, collection)
|
|
58
|
+
}));
|
|
66
59
|
if (config.data.options) {
|
|
67
60
|
return [].concat(collectionOptions, config.data.options);
|
|
68
61
|
}
|
|
69
62
|
return collectionOptions;
|
|
70
63
|
};
|
|
71
|
-
|
|
64
|
+
const getOptions = (config, callback) => {
|
|
72
65
|
if (config) {
|
|
73
66
|
var _config$data, _config$data3, _config$data4;
|
|
74
67
|
if (config !== null && config !== void 0 && (_config$data = config.data) !== null && _config$data !== void 0 && _config$data.collection && config !== null && config !== void 0 && config.item) {
|
|
75
68
|
var _config$data2;
|
|
76
|
-
|
|
69
|
+
const combinedOptions = getCollectionOptions(config, config === null || config === void 0 || (_config$data2 = config.data) === null || _config$data2 === void 0 ? void 0 : _config$data2.collection);
|
|
77
70
|
return callback(interpolateOptions(config, combinedOptions));
|
|
78
71
|
}
|
|
79
72
|
if (config.options && config !== null && config !== void 0 && (_config$data3 = config.data) !== null && _config$data3 !== void 0 && _config$data3.options && config !== null && config !== void 0 && (_config$data4 = config.data) !== null && _config$data4 !== void 0 && _config$data4.url) {
|
|
80
|
-
|
|
81
|
-
return callback(interpolateOptions(config,
|
|
73
|
+
const combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
|
|
74
|
+
return callback(interpolateOptions(config, combinedOptions));
|
|
82
75
|
}
|
|
83
76
|
if (config.options) {
|
|
84
77
|
return callback(interpolateOptions(config, config.options));
|