@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-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/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- 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 +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- 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 +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- 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 +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- 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 +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- 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 +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- 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 +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- 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 +16 -25
- 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 +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- 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 +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- 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 +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- 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 +21 -27
- 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 +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- 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 +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- 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 +3 -4
- 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 +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -2,23 +2,19 @@
|
|
|
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
|
-
|
|
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 () {
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
13
9
|
// test data
|
|
14
|
-
|
|
10
|
+
const gbCurrency = {
|
|
15
11
|
currencyName: 'Great British Pounds',
|
|
16
12
|
currencyCode: 'GBP',
|
|
17
13
|
value: 'GBP',
|
|
18
14
|
label: 'GBP',
|
|
19
15
|
slangTerm: 'quid'
|
|
20
16
|
};
|
|
21
|
-
|
|
17
|
+
const usCurrency = {
|
|
22
18
|
currencyName: 'United States Dollars',
|
|
23
19
|
currencyCode: 'USD',
|
|
24
20
|
value: 'USD',
|
|
@@ -26,7 +22,7 @@ describe('utils', function () {
|
|
|
26
22
|
slangTerm: 'bucks',
|
|
27
23
|
synonyms: ['greenbacks']
|
|
28
24
|
};
|
|
29
|
-
|
|
25
|
+
const options = {
|
|
30
26
|
alpha: {
|
|
31
27
|
value: 'a',
|
|
32
28
|
label: 'Alpha'
|
|
@@ -44,30 +40,30 @@ describe('utils', function () {
|
|
|
44
40
|
label: 'Word Alphabet'
|
|
45
41
|
}
|
|
46
42
|
};
|
|
47
|
-
|
|
48
|
-
describe('getAutocompleteSource',
|
|
49
|
-
it('should handle a null config',
|
|
50
|
-
|
|
43
|
+
const testCurrencies = [gbCurrency, usCurrency];
|
|
44
|
+
describe('getAutocompleteSource', () => {
|
|
45
|
+
it('should handle a null config', () => {
|
|
46
|
+
const SOURCE = (0, _getAutocompleteSource.default)(null);
|
|
51
47
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
52
|
-
SOURCE('query',
|
|
48
|
+
SOURCE('query', results => {
|
|
53
49
|
expect(Array.isArray(results)).toBeTruthy();
|
|
54
50
|
expect(results.length).toEqual(0);
|
|
55
51
|
});
|
|
56
52
|
});
|
|
57
|
-
describe('without custom item labels',
|
|
58
|
-
it('should get any specified options from the config',
|
|
59
|
-
|
|
53
|
+
describe('without custom item labels', () => {
|
|
54
|
+
it('should get any specified options from the config', () => {
|
|
55
|
+
const CONFIG = {
|
|
60
56
|
data: {
|
|
61
57
|
options: [options.alpha, options.bravo]
|
|
62
58
|
}
|
|
63
59
|
};
|
|
64
|
-
|
|
60
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
65
61
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
66
|
-
SOURCE('a',
|
|
62
|
+
SOURCE('a', results => {
|
|
67
63
|
expect(results.length).toEqual(2);
|
|
68
64
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
69
65
|
});
|
|
70
|
-
SOURCE('al',
|
|
66
|
+
SOURCE('al', results => {
|
|
71
67
|
expect(results.length).toEqual(1);
|
|
72
68
|
expect(results).toEqual([{
|
|
73
69
|
value: 'a',
|
|
@@ -75,93 +71,95 @@ describe('utils', function () {
|
|
|
75
71
|
}]);
|
|
76
72
|
});
|
|
77
73
|
});
|
|
78
|
-
it('should handle an empty query',
|
|
79
|
-
|
|
74
|
+
it('should handle an empty query', () => {
|
|
75
|
+
const CONFIG = {
|
|
80
76
|
data: {
|
|
81
77
|
options: [options.alpha, options.bravo]
|
|
82
78
|
}
|
|
83
79
|
};
|
|
84
|
-
|
|
85
|
-
SOURCE('',
|
|
80
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
81
|
+
SOURCE('', results => {
|
|
86
82
|
expect(results.length).toEqual(2);
|
|
87
83
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
88
84
|
});
|
|
89
85
|
});
|
|
90
|
-
it('should handle an undefined query',
|
|
91
|
-
|
|
86
|
+
it('should handle an undefined query', () => {
|
|
87
|
+
const CONFIG = {
|
|
92
88
|
data: {
|
|
93
89
|
options: [options.alpha, options.bravo]
|
|
94
90
|
}
|
|
95
91
|
};
|
|
96
|
-
|
|
97
|
-
SOURCE(undefined,
|
|
92
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
93
|
+
SOURCE(undefined, results => {
|
|
98
94
|
expect(results.length).toEqual(2);
|
|
99
95
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
100
96
|
});
|
|
101
97
|
});
|
|
102
|
-
it('should handle a null query',
|
|
103
|
-
|
|
98
|
+
it('should handle a null query', () => {
|
|
99
|
+
const CONFIG = {
|
|
104
100
|
data: {
|
|
105
101
|
options: [options.alpha, options.bravo]
|
|
106
102
|
}
|
|
107
103
|
};
|
|
108
|
-
|
|
109
|
-
SOURCE(null,
|
|
104
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
105
|
+
SOURCE(null, results => {
|
|
110
106
|
expect(results.length).toEqual(2);
|
|
111
107
|
expect(results).toEqual([options.alpha, options.bravo]);
|
|
112
108
|
});
|
|
113
109
|
});
|
|
114
|
-
it('should handle a missing label on an option',
|
|
115
|
-
|
|
110
|
+
it('should handle a missing label on an option', () => {
|
|
111
|
+
const CONFIG = {
|
|
116
112
|
data: {
|
|
117
113
|
options: [options.alpha, {
|
|
118
114
|
value: 'b'
|
|
119
115
|
}]
|
|
120
116
|
}
|
|
121
117
|
};
|
|
122
|
-
|
|
118
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
123
119
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
124
|
-
SOURCE('a',
|
|
120
|
+
SOURCE('a', results => {
|
|
125
121
|
expect(results.length).toEqual(1);
|
|
126
122
|
expect(results).toEqual([options.alpha]);
|
|
127
123
|
});
|
|
128
124
|
});
|
|
129
|
-
it('should return matches in the right order',
|
|
130
|
-
|
|
125
|
+
it('should return matches in the right order', () => {
|
|
126
|
+
const CONFIG = {
|
|
131
127
|
data: {
|
|
132
128
|
options: [options.alIncluded, options.alStart, options.bravo, options.alpha]
|
|
133
129
|
}
|
|
134
130
|
};
|
|
135
|
-
|
|
131
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
136
132
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
137
|
-
SOURCE('al',
|
|
133
|
+
SOURCE('al', results => {
|
|
138
134
|
expect(results.length).toEqual(3);
|
|
139
135
|
expect(results).toEqual([options.alpha, options.alStart, options.alIncluded]);
|
|
140
136
|
});
|
|
141
137
|
});
|
|
142
|
-
it('should match options using a defined synonym',
|
|
143
|
-
|
|
138
|
+
it('should match options using a defined synonym', () => {
|
|
139
|
+
const CONFIG = {
|
|
144
140
|
data: {
|
|
145
|
-
options: [
|
|
141
|
+
options: [{
|
|
142
|
+
...options.alpha,
|
|
146
143
|
synonyms: ['first']
|
|
147
|
-
}
|
|
144
|
+
}, {
|
|
148
145
|
value: 'b'
|
|
149
146
|
}]
|
|
150
147
|
}
|
|
151
148
|
};
|
|
152
|
-
|
|
149
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
153
150
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
154
|
-
SOURCE('first',
|
|
151
|
+
SOURCE('first', results => {
|
|
155
152
|
expect(results.length).toEqual(1);
|
|
156
|
-
expect(results).toEqual([
|
|
153
|
+
expect(results).toEqual([{
|
|
154
|
+
...options.alpha,
|
|
157
155
|
synonyms: ['first']
|
|
158
|
-
}
|
|
156
|
+
}]);
|
|
159
157
|
});
|
|
160
158
|
});
|
|
161
159
|
});
|
|
162
|
-
describe('with custom item labels',
|
|
163
|
-
it('should get any specified options from the config',
|
|
164
|
-
|
|
160
|
+
describe('with custom item labels', () => {
|
|
161
|
+
it('should get any specified options from the config', () => {
|
|
162
|
+
const CONFIG = {
|
|
165
163
|
item: {
|
|
166
164
|
value: 'currencyCode',
|
|
167
165
|
label: 'currencyCode',
|
|
@@ -172,19 +170,19 @@ describe('utils', function () {
|
|
|
172
170
|
options: testCurrencies
|
|
173
171
|
}
|
|
174
172
|
};
|
|
175
|
-
|
|
173
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
176
174
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
177
|
-
SOURCE('GB',
|
|
175
|
+
SOURCE('GB', results => {
|
|
178
176
|
expect(results.length).toEqual(1);
|
|
179
177
|
expect(results).toEqual([gbCurrency]);
|
|
180
178
|
});
|
|
181
|
-
SOURCE(' (',
|
|
179
|
+
SOURCE(' (', results => {
|
|
182
180
|
expect(results.length).toEqual(2);
|
|
183
181
|
expect(results).toEqual(testCurrencies);
|
|
184
182
|
});
|
|
185
183
|
});
|
|
186
|
-
it('should handle an empty query',
|
|
187
|
-
|
|
184
|
+
it('should handle an empty query', () => {
|
|
185
|
+
const CONFIG = {
|
|
188
186
|
item: {
|
|
189
187
|
value: 'currencyCode',
|
|
190
188
|
label: 'currencyCode',
|
|
@@ -195,14 +193,14 @@ describe('utils', function () {
|
|
|
195
193
|
options: testCurrencies
|
|
196
194
|
}
|
|
197
195
|
};
|
|
198
|
-
|
|
199
|
-
SOURCE('',
|
|
196
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
197
|
+
SOURCE('', results => {
|
|
200
198
|
expect(results.length).toEqual(2);
|
|
201
199
|
expect(results).toEqual(testCurrencies);
|
|
202
200
|
});
|
|
203
201
|
});
|
|
204
|
-
it('should handle an undefined query',
|
|
205
|
-
|
|
202
|
+
it('should handle an undefined query', () => {
|
|
203
|
+
const CONFIG = {
|
|
206
204
|
item: {
|
|
207
205
|
value: 'currencyCode',
|
|
208
206
|
label: 'currencyCode',
|
|
@@ -213,14 +211,14 @@ describe('utils', function () {
|
|
|
213
211
|
options: testCurrencies
|
|
214
212
|
}
|
|
215
213
|
};
|
|
216
|
-
|
|
217
|
-
SOURCE(undefined,
|
|
214
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
215
|
+
SOURCE(undefined, results => {
|
|
218
216
|
expect(results.length).toEqual(2);
|
|
219
217
|
expect(results).toEqual(testCurrencies);
|
|
220
218
|
});
|
|
221
219
|
});
|
|
222
|
-
it('should handle a null query',
|
|
223
|
-
|
|
220
|
+
it('should handle a null query', () => {
|
|
221
|
+
const CONFIG = {
|
|
224
222
|
item: {
|
|
225
223
|
value: 'currencyCode',
|
|
226
224
|
label: 'currencyCode',
|
|
@@ -231,14 +229,14 @@ describe('utils', function () {
|
|
|
231
229
|
options: testCurrencies
|
|
232
230
|
}
|
|
233
231
|
};
|
|
234
|
-
|
|
235
|
-
SOURCE(null,
|
|
232
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
233
|
+
SOURCE(null, results => {
|
|
236
234
|
expect(results.length).toEqual(2);
|
|
237
235
|
expect(results).toEqual(testCurrencies);
|
|
238
236
|
});
|
|
239
237
|
});
|
|
240
|
-
it('should handle a missing label on an option',
|
|
241
|
-
|
|
238
|
+
it('should handle a missing label on an option', () => {
|
|
239
|
+
const CONFIG = {
|
|
242
240
|
item: {
|
|
243
241
|
value: 'currencyCode',
|
|
244
242
|
label: 'currencyCode',
|
|
@@ -253,9 +251,9 @@ describe('utils', function () {
|
|
|
253
251
|
}]
|
|
254
252
|
}
|
|
255
253
|
};
|
|
256
|
-
|
|
254
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
257
255
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
258
|
-
SOURCE('a',
|
|
256
|
+
SOURCE('a', results => {
|
|
259
257
|
// We expect 2 results here instead of 1 because defining a custom
|
|
260
258
|
// format for item labels means the label is constructed upon processing
|
|
261
259
|
// a query - we're not relying on the 'label' field of the option.
|
|
@@ -268,8 +266,8 @@ describe('utils', function () {
|
|
|
268
266
|
}]);
|
|
269
267
|
});
|
|
270
268
|
});
|
|
271
|
-
it('should match options using a defined synonym',
|
|
272
|
-
|
|
269
|
+
it('should match options using a defined synonym', () => {
|
|
270
|
+
const CONFIG = {
|
|
273
271
|
item: {
|
|
274
272
|
value: 'currencyCode',
|
|
275
273
|
label: 'currencyCode',
|
|
@@ -280,17 +278,15 @@ describe('utils', function () {
|
|
|
280
278
|
options: testCurrencies
|
|
281
279
|
}
|
|
282
280
|
};
|
|
283
|
-
|
|
281
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
284
282
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
285
|
-
SOURCE('greenbacks',
|
|
283
|
+
SOURCE('greenbacks', results => {
|
|
286
284
|
expect(results.length).toEqual(1);
|
|
287
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
288
|
-
return c.currencyCode === 'USD';
|
|
289
|
-
}));
|
|
285
|
+
expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
|
|
290
286
|
});
|
|
291
287
|
});
|
|
292
|
-
it('should match options using defined extra searchable fields',
|
|
293
|
-
|
|
288
|
+
it('should match options using defined extra searchable fields', () => {
|
|
289
|
+
const CONFIG = {
|
|
294
290
|
item: {
|
|
295
291
|
value: 'currencyCode',
|
|
296
292
|
label: 'currencyCode',
|
|
@@ -302,13 +298,11 @@ describe('utils', function () {
|
|
|
302
298
|
options: testCurrencies
|
|
303
299
|
}
|
|
304
300
|
};
|
|
305
|
-
|
|
301
|
+
const SOURCE = (0, _getAutocompleteSource.default)(CONFIG);
|
|
306
302
|
expect(typeof SOURCE === 'function').toBeTruthy();
|
|
307
|
-
SOURCE('buc',
|
|
303
|
+
SOURCE('buc', results => {
|
|
308
304
|
expect(results.length).toEqual(1);
|
|
309
|
-
expect(results).toEqual(testCurrencies.filter(
|
|
310
|
-
return c.currencyCode === 'USD';
|
|
311
|
-
}));
|
|
305
|
+
expect(results).toEqual(testCurrencies.filter(c => c.currencyCode === 'USD'));
|
|
312
306
|
});
|
|
313
307
|
});
|
|
314
308
|
});
|
|
@@ -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
|
}
|
|
@@ -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', () => {
|
|
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
|
});
|
|
@@ -8,41 +8,35 @@ 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
|
-
|
|
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
|
|
11
|
+
// Global Imports
|
|
12
|
+
|
|
17
13
|
// Local Imports
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (typeof opt === 'string') {
|
|
27
|
-
return opt;
|
|
28
|
-
}
|
|
29
|
-
if (config.alternativeHintField) {
|
|
30
|
-
// eslint-disable-next-line no-param-reassign
|
|
31
|
-
opt.hint = opt[config.alternativeHintField];
|
|
14
|
+
|
|
15
|
+
const interpolateOptions = (config, options) => options.map(opt => {
|
|
16
|
+
if (opt.show_when) {
|
|
17
|
+
const result = opt.show_when.type === 'or' ? _Condition.default.meetsOne(opt, config.formData) : _Condition.default.meetsAll(opt, config.formData);
|
|
18
|
+
if (!result) {
|
|
19
|
+
return null;
|
|
32
20
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
21
|
+
}
|
|
22
|
+
if (typeof opt === 'string') {
|
|
23
|
+
return opt;
|
|
24
|
+
}
|
|
25
|
+
if (config.alternativeHintField) {
|
|
26
|
+
// eslint-disable-next-line no-param-reassign
|
|
27
|
+
opt.hint = opt[config.alternativeHintField];
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
...opt,
|
|
31
|
+
value: _copReactComponents.Utils.interpolateString(opt.value, config.formData),
|
|
32
|
+
label: _copReactComponents.Utils.interpolateString(opt.label, config.formData)
|
|
33
|
+
};
|
|
34
|
+
}).filter(n => n);
|
|
35
|
+
const getOptions = (config, callback) => {
|
|
42
36
|
if (config) {
|
|
43
37
|
var _config$data, _config$data2;
|
|
44
38
|
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) {
|
|
45
|
-
|
|
39
|
+
const combinedOptions = (0, _nestInRefdataOptions.default)(config.options, config.data.options);
|
|
46
40
|
return callback(interpolateOptions(config, combinedOptions));
|
|
47
41
|
}
|
|
48
42
|
if (config.options) {
|