@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.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 +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -2,19 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
var _getAutocompleteSource = _interopRequireDefault(require("./getAutocompleteSource"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
11
|
+
describe('utils', function () {
|
|
12
|
+
describe('Data', function () {
|
|
9
13
|
// test data
|
|
10
|
-
|
|
14
|
+
var gbCurrency = {
|
|
11
15
|
currencyName: 'Great British Pounds',
|
|
12
16
|
currencyCode: 'GBP',
|
|
13
17
|
value: 'GBP',
|
|
14
18
|
label: 'GBP',
|
|
15
19
|
slangTerm: 'quid'
|
|
16
20
|
};
|
|
17
|
-
|
|
21
|
+
var usCurrency = {
|
|
18
22
|
currencyName: 'United States Dollars',
|
|
19
23
|
currencyCode: 'USD',
|
|
20
24
|
value: 'USD',
|
|
@@ -22,7 +26,7 @@ describe('utils', () => {
|
|
|
22
26
|
slangTerm: 'bucks',
|
|
23
27
|
synonyms: ['greenbacks']
|
|
24
28
|
};
|
|
25
|
-
|
|
29
|
+
var options = {
|
|
26
30
|
alpha: {
|
|
27
31
|
value: 'a',
|
|
28
32
|
label: 'Alpha'
|
|
@@ -40,30 +44,30 @@ describe('utils', () => {
|
|
|
40
44
|
label: 'Word Alphabet'
|
|
41
45
|
}
|
|
42
46
|
};
|
|
43
|
-
|
|
44
|
-
describe('getAutocompleteSource', ()
|
|
45
|
-
it('should handle a null config', ()
|
|
46
|
-
|
|
47
|
+
var testCurrencies = [gbCurrency, usCurrency];
|
|
48
|
+
describe('getAutocompleteSource', function () {
|
|
49
|
+
it('should handle a null config', function () {
|
|
50
|
+
var SOURCE = (0, _getAutocompleteSource.default)(null);
|
|
47
51
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
48
|
-
SOURCE('query', results
|
|
52
|
+
SOURCE('query', function (results) {
|
|
49
53
|
expect(Array.isArray(results)).toBeTruthy();
|
|
50
54
|
expect(results.length).toEqual(0);
|
|
51
55
|
});
|
|
52
56
|
});
|
|
53
|
-
describe('without custom item labels', ()
|
|
54
|
-
it('should get any specified options from the config', ()
|
|
55
|
-
|
|
57
|
+
describe('without custom item labels', function () {
|
|
58
|
+
it('should get any specified options from the config', function () {
|
|
59
|
+
var CONFIG = {
|
|
56
60
|
data: {
|
|
57
61
|
options: [options.alpha, options.bravo]
|
|
58
62
|
}
|
|
59
63
|
};
|
|
60
|
-
|
|
64
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
61
65
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
62
|
-
SOURCE('a', results
|
|
66
|
+
SOURCE('a', function (results) {
|
|
63
67
|
expect(results.length).toEqual(2);
|
|
64
68
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
65
69
|
});
|
|
66
|
-
SOURCE('al', results
|
|
70
|
+
SOURCE('al', function (results) {
|
|
67
71
|
expect(results.length).toEqual(1);
|
|
68
72
|
expect(results).toEqual([{
|
|
69
73
|
value: 'a',
|
|
@@ -71,95 +75,93 @@ describe('utils', () => {
|
|
|
71
75
|
}]);
|
|
72
76
|
});
|
|
73
77
|
});
|
|
74
|
-
it('should handle an empty query', ()
|
|
75
|
-
|
|
78
|
+
it('should handle an empty query', function () {
|
|
79
|
+
var CONFIG = {
|
|
76
80
|
data: {
|
|
77
81
|
options: [options.alpha, options.bravo]
|
|
78
82
|
}
|
|
79
83
|
};
|
|
80
|
-
|
|
81
|
-
SOURCE('', results
|
|
84
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
85
|
+
SOURCE('', function (results) {
|
|
82
86
|
expect(results.length).toEqual(2);
|
|
83
87
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
84
88
|
});
|
|
85
89
|
});
|
|
86
|
-
it('should handle an undefined query', ()
|
|
87
|
-
|
|
90
|
+
it('should handle an undefined query', function () {
|
|
91
|
+
var CONFIG = {
|
|
88
92
|
data: {
|
|
89
93
|
options: [options.alpha, options.bravo]
|
|
90
94
|
}
|
|
91
95
|
};
|
|
92
|
-
|
|
93
|
-
SOURCE(undefined, results
|
|
96
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
97
|
+
SOURCE(undefined, function (results) {
|
|
94
98
|
expect(results.length).toEqual(2);
|
|
95
99
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
96
100
|
});
|
|
97
101
|
});
|
|
98
|
-
it('should handle a null query', ()
|
|
99
|
-
|
|
102
|
+
it('should handle a null query', function () {
|
|
103
|
+
var CONFIG = {
|
|
100
104
|
data: {
|
|
101
105
|
options: [options.alpha, options.bravo]
|
|
102
106
|
}
|
|
103
107
|
};
|
|
104
|
-
|
|
105
|
-
SOURCE(null, results
|
|
108
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
109
|
+
SOURCE(null, function (results) {
|
|
106
110
|
expect(results.length).toEqual(2);
|
|
107
111
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
108
112
|
});
|
|
109
113
|
});
|
|
110
|
-
it('should handle a missing label on an option', ()
|
|
111
|
-
|
|
114
|
+
it('should handle a missing label on an option', function () {
|
|
115
|
+
var CONFIG = {
|
|
112
116
|
data: {
|
|
113
117
|
options: [options.alpha, {
|
|
114
118
|
value: 'b'
|
|
115
119
|
}]
|
|
116
120
|
}
|
|
117
121
|
};
|
|
118
|
-
|
|
122
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
119
123
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
120
|
-
SOURCE('a', results
|
|
124
|
+
SOURCE('a', function (results) {
|
|
121
125
|
expect(results.length).toEqual(1);
|
|
122
126
|
expect(results).toEqual([options.alpha]);
|
|
123
127
|
});
|
|
124
128
|
});
|
|
125
|
-
it('should return matches in the right order', ()
|
|
126
|
-
|
|
129
|
+
it('should return matches in the right order', function () {
|
|
130
|
+
var CONFIG = {
|
|
127
131
|
data: {
|
|
128
132
|
options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
|
|
129
133
|
}
|
|
130
134
|
};
|
|
131
|
-
|
|
135
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
132
136
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
133
|
-
SOURCE('al', results
|
|
137
|
+
SOURCE('al', function (results) {
|
|
134
138
|
expect(results.length).toEqual(3);
|
|
135
139
|
expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
|
|
136
140
|
});
|
|
137
141
|
});
|
|
138
|
-
it('should match options using a defined synonym', ()
|
|
139
|
-
|
|
142
|
+
it('should match options using a defined synonym', function () {
|
|
143
|
+
var CONFIG = {
|
|
140
144
|
data: {
|
|
141
|
-
options: [{
|
|
142
|
-
...options.alpha,
|
|
145
|
+
options: [_objectSpread(_objectSpread({}, options.alpha), {}, {
|
|
143
146
|
synonyms: ['first']
|
|
144
|
-
}, {
|
|
147
|
+
}), {
|
|
145
148
|
value: 'b'
|
|
146
149
|
}]
|
|
147
150
|
}
|
|
148
151
|
};
|
|
149
|
-
|
|
152
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
150
153
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
151
|
-
SOURCE('first', results
|
|
154
|
+
SOURCE('first', function (results) {
|
|
152
155
|
expect(results.length).toEqual(1);
|
|
153
|
-
expect(results).toEqual([{
|
|
154
|
-
...options.alpha,
|
|
156
|
+
expect(results).toEqual([_objectSpread(_objectSpread({}, options.alpha), {}, {
|
|
155
157
|
synonyms: ['first']
|
|
156
|
-
}]);
|
|
158
|
+
})]);
|
|
157
159
|
});
|
|
158
160
|
});
|
|
159
161
|
});
|
|
160
|
-
describe('with custom item labels', ()
|
|
161
|
-
it('should get any specified options from the config', ()
|
|
162
|
-
|
|
162
|
+
describe('with custom item labels', function () {
|
|
163
|
+
it('should get any specified options from the config', function () {
|
|
164
|
+
var CONFIG = {
|
|
163
165
|
item: {
|
|
164
166
|
value: 'currencyCode',
|
|
165
167
|
label: 'currencyCode',
|
|
@@ -170,19 +172,19 @@ describe('utils', () => {
|
|
|
170
172
|
options: testCurrencies
|
|
171
173
|
}
|
|
172
174
|
};
|
|
173
|
-
|
|
175
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
174
176
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
175
|
-
SOURCE('GB', results
|
|
177
|
+
SOURCE('GB', function (results) {
|
|
176
178
|
expect(results.length).toEqual(1);
|
|
177
179
|
expect(results).toEqual([gbCurrency]);
|
|
178
180
|
});
|
|
179
|
-
SOURCE(' (', results
|
|
181
|
+
SOURCE(' (', function (results) {
|
|
180
182
|
expect(results.length).toEqual(2);
|
|
181
183
|
expect(results).toEqual(testCurrencies);
|
|
182
184
|
});
|
|
183
185
|
});
|
|
184
|
-
it('should handle an empty query', ()
|
|
185
|
-
|
|
186
|
+
it('should handle an empty query', function () {
|
|
187
|
+
var CONFIG = {
|
|
186
188
|
item: {
|
|
187
189
|
value: 'currencyCode',
|
|
188
190
|
label: 'currencyCode',
|
|
@@ -193,14 +195,14 @@ describe('utils', () => {
|
|
|
193
195
|
options: testCurrencies
|
|
194
196
|
}
|
|
195
197
|
};
|
|
196
|
-
|
|
197
|
-
SOURCE('', results
|
|
198
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
199
|
+
SOURCE('', function (results) {
|
|
198
200
|
expect(results.length).toEqual(2);
|
|
199
201
|
expect(results).toEqual(testCurrencies);
|
|
200
202
|
});
|
|
201
203
|
});
|
|
202
|
-
it('should handle an undefined query', ()
|
|
203
|
-
|
|
204
|
+
it('should handle an undefined query', function () {
|
|
205
|
+
var CONFIG = {
|
|
204
206
|
item: {
|
|
205
207
|
value: 'currencyCode',
|
|
206
208
|
label: 'currencyCode',
|
|
@@ -211,14 +213,14 @@ describe('utils', () => {
|
|
|
211
213
|
options: testCurrencies
|
|
212
214
|
}
|
|
213
215
|
};
|
|
214
|
-
|
|
215
|
-
SOURCE(undefined, results
|
|
216
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
217
|
+
SOURCE(undefined, function (results) {
|
|
216
218
|
expect(results.length).toEqual(2);
|
|
217
219
|
expect(results).toEqual(testCurrencies);
|
|
218
220
|
});
|
|
219
221
|
});
|
|
220
|
-
it('should handle a null query', ()
|
|
221
|
-
|
|
222
|
+
it('should handle a null query', function () {
|
|
223
|
+
var CONFIG = {
|
|
222
224
|
item: {
|
|
223
225
|
value: 'currencyCode',
|
|
224
226
|
label: 'currencyCode',
|
|
@@ -229,14 +231,14 @@ describe('utils', () => {
|
|
|
229
231
|
options: testCurrencies
|
|
230
232
|
}
|
|
231
233
|
};
|
|
232
|
-
|
|
233
|
-
SOURCE(null, results
|
|
234
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
235
|
+
SOURCE(null, function (results) {
|
|
234
236
|
expect(results.length).toEqual(2);
|
|
235
237
|
expect(results).toEqual(testCurrencies);
|
|
236
238
|
});
|
|
237
239
|
});
|
|
238
|
-
it('should handle a missing label on an option', ()
|
|
239
|
-
|
|
240
|
+
it('should handle a missing label on an option', function () {
|
|
241
|
+
var CONFIG = {
|
|
240
242
|
item: {
|
|
241
243
|
value: 'currencyCode',
|
|
242
244
|
label: 'currencyCode',
|
|
@@ -251,9 +253,9 @@ describe('utils', () => {
|
|
|
251
253
|
}]
|
|
252
254
|
}
|
|
253
255
|
};
|
|
254
|
-
|
|
256
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
255
257
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
256
|
-
SOURCE('a', results
|
|
258
|
+
SOURCE('a', function (results) {
|
|
257
259
|
// We expect 2 results here instead of 1 because defining a custom
|
|
258
260
|
// format for item labels means the label is constructed upon processing
|
|
259
261
|
// a query - we're not relying on the 'label' field of the option.
|
|
@@ -266,8 +268,8 @@ describe('utils', () => {
|
|
|
266
268
|
}]);
|
|
267
269
|
});
|
|
268
270
|
});
|
|
269
|
-
it('should match options using a defined synonym', ()
|
|
270
|
-
|
|
271
|
+
it('should match options using a defined synonym', function () {
|
|
272
|
+
var CONFIG = {
|
|
271
273
|
item: {
|
|
272
274
|
value: 'currencyCode',
|
|
273
275
|
label: 'currencyCode',
|
|
@@ -278,15 +280,17 @@ describe('utils', () => {
|
|
|
278
280
|
options: testCurrencies
|
|
279
281
|
}
|
|
280
282
|
};
|
|
281
|
-
|
|
283
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
282
284
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
283
|
-
SOURCE('greenbacks', results
|
|
285
|
+
SOURCE('greenbacks', function (results) {
|
|
284
286
|
expect(results.length).toEqual(1);
|
|
285
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
287
|
+
expect(results).toEqual(testCurrencies.filter(function (c) {
|
|
288
|
+
return c.currencyCode === 'USD';
|
|
289
|
+
}));
|
|
286
290
|
});
|
|
287
291
|
});
|
|
288
|
-
it('should match options using defined extra searchable fields', ()
|
|
289
|
-
|
|
292
|
+
it('should match options using defined extra searchable fields', function () {
|
|
293
|
+
var CONFIG = {
|
|
290
294
|
item: {
|
|
291
295
|
value: 'currencyCode',
|
|
292
296
|
label: 'currencyCode',
|
|
@@ -298,11 +302,13 @@ describe('utils', () => {
|
|
|
298
302
|
options: testCurrencies
|
|
299
303
|
}
|
|
300
304
|
};
|
|
301
|
-
|
|
305
|
+
var SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
302
306
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
303
|
-
SOURCE('buc', results
|
|
307
|
+
SOURCE('buc', function (results) {
|
|
304
308
|
expect(results.length).toEqual(1);
|
|
305
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
309
|
+
expect(results).toEqual(testCurrencies.filter(function (c) {
|
|
310
|
+
return c.currencyCode === 'USD';
|
|
311
|
+
}));
|
|
306
312
|
});
|
|
307
313
|
});
|
|
308
314
|
});
|
|
@@ -4,36 +4,46 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
var DOT = '.';
|
|
8
|
+
var SLASH = '/';
|
|
9
|
+
var DOT_DOT = "".concat(DOT).concat(DOT);
|
|
10
|
+
var PARENT_PATH = "".concat(DOT).concat(SLASH);
|
|
11
|
+
var toPath = function toPath(arr) {
|
|
12
|
+
return arr.join(DOT);
|
|
13
|
+
};
|
|
14
|
+
var toParts = function toParts(str) {
|
|
15
|
+
var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DOT;
|
|
14
16
|
return str.split(separator);
|
|
15
17
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var isDotDot = function isDotDot(str) {
|
|
19
|
+
return str === DOT_DOT;
|
|
20
|
+
};
|
|
21
|
+
var isDotOrDotDot = function isDotOrDotDot(str) {
|
|
22
|
+
return [DOT, DOT_DOT].indexOf(str) > -1;
|
|
23
|
+
};
|
|
24
|
+
var isRelativePath = function isRelativePath(path) {
|
|
25
|
+
return path && path.indexOf(DOT) === 0;
|
|
26
|
+
};
|
|
27
|
+
var standardiseRelativePath = function standardiseRelativePath(path) {
|
|
20
28
|
if (path.indexOf(PARENT_PATH) === 0) {
|
|
21
29
|
return path;
|
|
22
30
|
}
|
|
23
31
|
return "".concat(PARENT_PATH).concat(path);
|
|
24
32
|
};
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
var ascendPath = function ascendPath(startPath, ascent) {
|
|
34
|
+
var relativePath = standardiseRelativePath(ascent);
|
|
27
35
|
// Always add 1 because we're starting on a leaf node within a "directory".
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
var stepsToClimb = toParts(relativePath, SLASH).filter(isDotDot).length + 1;
|
|
37
|
+
var pathParts = startPath ? toParts(startPath) : [];
|
|
30
38
|
if (stepsToClimb >= pathParts.length) {
|
|
31
39
|
return '';
|
|
32
40
|
}
|
|
33
41
|
return toPath(pathParts.slice(0, -stepsToClimb));
|
|
34
42
|
};
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
var descendPath = function descendPath(startPath, descent) {
|
|
44
|
+
var stepsDown = toParts(descent, SLASH).filter(function (str) {
|
|
45
|
+
return !isDotOrDotDot(str);
|
|
46
|
+
});
|
|
37
47
|
return startPath ? "".concat(startPath, ".").concat(toPath(stepsDown)) : toPath(stepsDown);
|
|
38
48
|
};
|
|
39
49
|
|
|
@@ -56,7 +66,7 @@ const descendPath = (startPath, descent) => {
|
|
|
56
66
|
* getDataPath('../../relative.path', 'this.is.the.current.path');
|
|
57
67
|
* // => 'this.is.relative.path'
|
|
58
68
|
*/
|
|
59
|
-
|
|
69
|
+
var getDataPath = function getDataPath(path, currentPath) {
|
|
60
70
|
if (isRelativePath(path)) {
|
|
61
71
|
return descendPath(ascendPath(currentPath, path), path);
|
|
62
72
|
}
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var _getDataPath = _interopRequireDefault(require("./getDataPath"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.Data.getDataPath', ()
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
describe('utils.Data.getDataPath', function () {
|
|
6
|
+
var CURRENT_PATH = 'this.is.the.current.path';
|
|
7
|
+
var RELATIVE = 'relative.path';
|
|
8
|
+
var ABSOLUTE = 'absolute.path';
|
|
9
|
+
var doTest = function doTest(path, currentPath, expected) {
|
|
10
10
|
expect((0, _getDataPath.default)(path, currentPath)).toEqual(expected);
|
|
11
11
|
};
|
|
12
|
-
it("should return an absolute path appropriately", ()
|
|
12
|
+
it("should return an absolute path appropriately", function () {
|
|
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", function () {
|
|
16
16
|
doTest(ABSOLUTE, null, ABSOLUTE);
|
|
17
17
|
});
|
|
18
18
|
[{
|
|
@@ -31,18 +31,18 @@ describe('utils.Data.getDataPath', () => {
|
|
|
31
31
|
p: "../../../../../../../".concat(RELATIVE),
|
|
32
32
|
e: RELATIVE,
|
|
33
33
|
d: 'an inappropriately nested node'
|
|
34
|
-
}].forEach(test
|
|
35
|
-
it("should return ".concat(test.d, " appropriately"), ()
|
|
34
|
+
}].forEach(function (test) {
|
|
35
|
+
it("should return ".concat(test.d, " appropriately"), function () {
|
|
36
36
|
doTest(test.p, CURRENT_PATH, test.e);
|
|
37
37
|
});
|
|
38
|
-
it("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"), function () {
|
|
39
39
|
doTest(test.p, null, RELATIVE);
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
|
-
it('should handle a null path and return null', ()
|
|
42
|
+
it('should handle a null path and return null', function () {
|
|
43
43
|
doTest(null, CURRENT_PATH, null);
|
|
44
44
|
});
|
|
45
|
-
it('should handle an undefined path and return undefined', ()
|
|
45
|
+
it('should handle an undefined path and return undefined', function () {
|
|
46
46
|
doTest(undefined, CURRENT_PATH, undefined);
|
|
47
47
|
});
|
|
48
48
|
});
|
|
@@ -8,35 +8,41 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
|
8
8
|
var _Condition = _interopRequireDefault(require("../Condition"));
|
|
9
9
|
var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global Imports
|
|
13
17
|
// Local Imports
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var interpolateOptions = function interpolateOptions(config, options) {
|
|
19
|
+
return options.map(function (opt) {
|
|
20
|
+
if (opt.show_when) {
|
|
21
|
+
var result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
|
|
22
|
+
if (!result) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
20
25
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
})
|
|
35
|
-
|
|
26
|
+
if (typeof opt === 'string') {
|
|
27
|
+
return opt;
|
|
28
|
+
}
|
|
29
|
+
if (config.alternativeHintField) {
|
|
30
|
+
// eslint-disable-next-line no-param-reassign
|
|
31
|
+
opt.hint = opt[config.alternativeHintField];
|
|
32
|
+
}
|
|
33
|
+
return _objectSpread(_objectSpread({}, opt), {}, {
|
|
34
|
+
value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
|
|
35
|
+
label: _copReactComponents.Utils.interpolateString(opt.label, config.formData)
|
|
36
|
+
});
|
|
37
|
+
}).filter(function (n) {
|
|
38
|
+
return n;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var getOptions = function getOptions(config, callback) {
|
|
36
42
|
if (config) {
|
|
37
43
|
var _config$data, _config$data2;
|
|
38
44
|
if (config.options && config !== null && config !== void 0 && (_config$data = config.data) !== null && _config$data !== void 0 && _config$data.options && config !== null && config !== void 0 && (_config$data2 = config.data) !== null && _config$data2 !== void 0 && _config$data2.url) {
|
|
39
|
-
|
|
45
|
+
var combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
|
|
40
46
|
return callback(interpolateOptions(config, combinedOptions));
|
|
41
47
|
}
|
|
42
48
|
if (config.options) {
|