@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
|
@@ -4,16 +4,16 @@ var _getOptions = _interopRequireDefault(require("./getOptions"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils', ()
|
|
8
|
-
describe('Data', ()
|
|
9
|
-
describe('getOptions', ()
|
|
10
|
-
it('should handle a null config', ()
|
|
11
|
-
(0, _getOptions.default)(null, options
|
|
7
|
+
describe('utils', function () {
|
|
8
|
+
describe('Data', function () {
|
|
9
|
+
describe('getOptions', function () {
|
|
10
|
+
it('should handle a null config', function () {
|
|
11
|
+
(0, _getOptions.default)(null, function (options) {
|
|
12
12
|
expect(options).toEqual([]);
|
|
13
13
|
});
|
|
14
14
|
});
|
|
15
|
-
it('should get any specified options from the config', ()
|
|
16
|
-
|
|
15
|
+
it('should get any specified options from the config', function () {
|
|
16
|
+
var CONFIG = {
|
|
17
17
|
options: [{
|
|
18
18
|
value: 'a',
|
|
19
19
|
label: 'Alpha'
|
|
@@ -22,12 +22,12 @@ describe('utils', () => {
|
|
|
22
22
|
label: 'Bravo'
|
|
23
23
|
}]
|
|
24
24
|
};
|
|
25
|
-
(0, _getOptions.default)(CONFIG, options
|
|
25
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
26
26
|
expect(options).toEqual(CONFIG.options);
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
-
it('should get any specified options from the data property of the config', ()
|
|
30
|
-
|
|
29
|
+
it('should get any specified options from the data property of the config', function () {
|
|
30
|
+
var CONFIG = {
|
|
31
31
|
data: {
|
|
32
32
|
options: [{
|
|
33
33
|
value: 'a',
|
|
@@ -38,12 +38,12 @@ describe('utils', () => {
|
|
|
38
38
|
}]
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
|
-
(0, _getOptions.default)(CONFIG, options
|
|
41
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
42
42
|
expect(options).toEqual(CONFIG.data.options);
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
|
-
it('should use the top-level options over those in the data property', ()
|
|
46
|
-
|
|
45
|
+
it('should use the top-level options over those in the data property', function () {
|
|
46
|
+
var CONFIG = {
|
|
47
47
|
options: [{
|
|
48
48
|
value: 'a',
|
|
49
49
|
label: 'Alpha'
|
|
@@ -61,12 +61,12 @@ describe('utils', () => {
|
|
|
61
61
|
}]
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
-
(0, _getOptions.default)(CONFIG, options
|
|
64
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
65
65
|
expect(options).toEqual(CONFIG.options);
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
it('should exclude options from the config that fail show_when checks', ()
|
|
69
|
-
|
|
68
|
+
it('should exclude options from the config that fail show_when checks', function () {
|
|
69
|
+
var CONFIG = {
|
|
70
70
|
id: 'test',
|
|
71
71
|
options: [{
|
|
72
72
|
value: 'a',
|
|
@@ -89,12 +89,12 @@ describe('utils', () => {
|
|
|
89
89
|
other: 'c'
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
|
-
(0, _getOptions.default)(CONFIG, options
|
|
92
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
93
93
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
|
-
it('should exclude options from the config that fail or type show_when checks', ()
|
|
97
|
-
|
|
96
|
+
it('should exclude options from the config that fail or type show_when checks', function () {
|
|
97
|
+
var CONFIG = {
|
|
98
98
|
id: 'test',
|
|
99
99
|
options: [{
|
|
100
100
|
value: 'a',
|
|
@@ -131,12 +131,12 @@ describe('utils', () => {
|
|
|
131
131
|
other: 'c'
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
|
-
(0, _getOptions.default)(CONFIG, options
|
|
134
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
135
135
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
136
136
|
});
|
|
137
137
|
});
|
|
138
|
-
it('should should use both data from refdata url and options if both present', ()
|
|
139
|
-
|
|
138
|
+
it('should should use both data from refdata url and options if both present', function () {
|
|
139
|
+
var CONFIG = {
|
|
140
140
|
data: {
|
|
141
141
|
options: [{
|
|
142
142
|
refdata_match: {
|
|
@@ -166,7 +166,7 @@ describe('utils', () => {
|
|
|
166
166
|
label: 'Third label'
|
|
167
167
|
}]
|
|
168
168
|
};
|
|
169
|
-
|
|
169
|
+
var MERGED_CONFIG = [{
|
|
170
170
|
id: 1,
|
|
171
171
|
description: 'First refdata item',
|
|
172
172
|
value: 'firstValue',
|
|
@@ -186,12 +186,12 @@ describe('utils', () => {
|
|
|
186
186
|
value: 'thirdValue',
|
|
187
187
|
label: 'Third label'
|
|
188
188
|
}];
|
|
189
|
-
(0, _getOptions.default)(CONFIG, options
|
|
189
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
190
190
|
expect(options).toEqual(MERGED_CONFIG);
|
|
191
191
|
});
|
|
192
192
|
});
|
|
193
|
-
it('should override the hint if specified in the config', ()
|
|
194
|
-
|
|
193
|
+
it('should override the hint if specified in the config', function () {
|
|
194
|
+
var CONFIG = {
|
|
195
195
|
alternativeHintField: 'description',
|
|
196
196
|
options: [{
|
|
197
197
|
value: 'a',
|
|
@@ -203,7 +203,7 @@ describe('utils', () => {
|
|
|
203
203
|
description: 'second'
|
|
204
204
|
}]
|
|
205
205
|
};
|
|
206
|
-
(0, _getOptions.default)(CONFIG, options
|
|
206
|
+
(0, _getOptions.default)(CONFIG, function (options) {
|
|
207
207
|
expect(options[0].hint).toEqual(CONFIG.options[0].description);
|
|
208
208
|
expect(options[1].hint).toEqual(CONFIG.options[1].description);
|
|
209
209
|
});
|
|
@@ -4,14 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
var getItemInArray = function getItemInArray(arr, index) {
|
|
8
14
|
if (Array.isArray(arr)) {
|
|
9
15
|
return arr[parseInt(index, 10)];
|
|
10
16
|
}
|
|
11
17
|
return undefined;
|
|
12
18
|
};
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
var isArrayProp = function isArrayProp(prop) {
|
|
20
|
+
return prop.includes('[');
|
|
21
|
+
};
|
|
22
|
+
var getPropertyAndIndex = function getPropertyAndIndex(prop) {
|
|
23
|
+
return prop.replace(']', '').split('[');
|
|
24
|
+
};
|
|
15
25
|
|
|
16
26
|
/**
|
|
17
27
|
* Gets the value of a field within the top-level JSON form data,
|
|
@@ -28,13 +38,16 @@ const getPropertyAndIndex = prop => prop.replace(']', '').split('[');
|
|
|
28
38
|
* @param {string} fieldId The dot-separated path to the field.
|
|
29
39
|
* @returns The value of the field specified.
|
|
30
40
|
*/
|
|
31
|
-
|
|
41
|
+
var getSourceData = function getSourceData(data, fieldId) {
|
|
32
42
|
if (!fieldId) {
|
|
33
43
|
return undefined;
|
|
34
44
|
}
|
|
35
|
-
return fieldId.split('.').reduce((obj, prop)
|
|
45
|
+
return fieldId.split('.').reduce(function (obj, prop) {
|
|
36
46
|
if (obj && isArrayProp(prop)) {
|
|
37
|
-
|
|
47
|
+
var _getPropertyAndIndex = getPropertyAndIndex(prop),
|
|
48
|
+
_getPropertyAndIndex2 = _slicedToArray(_getPropertyAndIndex, 2),
|
|
49
|
+
actualProp = _getPropertyAndIndex2[0],
|
|
50
|
+
index = _getPropertyAndIndex2[1];
|
|
38
51
|
return getItemInArray(obj[actualProp], index);
|
|
39
52
|
}
|
|
40
53
|
return obj ? obj[prop] : undefined;
|
|
@@ -2,53 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
|
|
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 _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; }
|
|
7
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
8
|
+
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
|
|
9
|
+
describe('utils', function () {
|
|
10
|
+
describe('Data', function () {
|
|
11
|
+
describe('getSourceData', function () {
|
|
12
|
+
it('should return the value at the top level', function () {
|
|
13
|
+
var FIELD_ID = 'field';
|
|
14
|
+
var VALUE = 'value';
|
|
15
|
+
var DATA = _defineProperty({}, FIELD_ID, VALUE);
|
|
16
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
17
17
|
expect(value).toEqual(VALUE);
|
|
18
18
|
});
|
|
19
|
-
it('should handle boolean true', ()
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
19
|
+
it('should handle boolean true', function () {
|
|
20
|
+
var FIELD_ID = 'field';
|
|
21
|
+
var VALUE = true;
|
|
22
|
+
var DATA = _defineProperty({}, FIELD_ID, VALUE);
|
|
23
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
26
24
|
expect(value).toStrictEqual(true);
|
|
27
25
|
});
|
|
28
|
-
it('should handle boolean false', ()
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
26
|
+
it('should handle boolean false', function () {
|
|
27
|
+
var FIELD_ID = 'field';
|
|
28
|
+
var VALUE = false;
|
|
29
|
+
var DATA = _defineProperty({}, FIELD_ID, VALUE);
|
|
30
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
35
31
|
expect(value).toStrictEqual(false);
|
|
36
32
|
});
|
|
37
|
-
it('should return a nested value', ()
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
it('should return a nested value', function () {
|
|
34
|
+
var FIELD_ID = 'field.nested';
|
|
35
|
+
var VALUE = 'nested value';
|
|
36
|
+
var DATA = {
|
|
41
37
|
field: {
|
|
42
38
|
nested: VALUE
|
|
43
39
|
}
|
|
44
40
|
};
|
|
45
|
-
|
|
41
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
46
42
|
expect(value).toEqual(VALUE);
|
|
47
43
|
});
|
|
48
|
-
it('should return a deeply nested value', ()
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
it('should return a deeply nested value', function () {
|
|
45
|
+
var FIELD_ID = 'field.nested.and.even.further.down';
|
|
46
|
+
var VALUE = 'deeply nested value';
|
|
47
|
+
var DATA = {
|
|
52
48
|
field: {
|
|
53
49
|
nested: {
|
|
54
50
|
and: {
|
|
@@ -61,95 +57,95 @@ describe('utils', () => {
|
|
|
61
57
|
}
|
|
62
58
|
}
|
|
63
59
|
};
|
|
64
|
-
|
|
60
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
65
61
|
expect(value).toEqual(VALUE);
|
|
66
62
|
});
|
|
67
|
-
it('should handle null data', ()
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
it('should handle null data', function () {
|
|
64
|
+
var FIELD_ID = 'field.nested';
|
|
65
|
+
var value = (0, _getSourceData.default)(null, FIELD_ID);
|
|
70
66
|
expect(value).toBeUndefined();
|
|
71
67
|
});
|
|
72
|
-
it('should handle undefined data', ()
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
it('should handle undefined data', function () {
|
|
69
|
+
var FIELD_ID = 'field.nested';
|
|
70
|
+
var value = (0, _getSourceData.default)(undefined, FIELD_ID);
|
|
75
71
|
expect(value).toBeUndefined();
|
|
76
72
|
});
|
|
77
|
-
it('should handle missing value', ()
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
it('should handle missing value', function () {
|
|
74
|
+
var FIELD_ID = 'field.nested';
|
|
75
|
+
var VALUE = 'other value';
|
|
76
|
+
var DATA = {
|
|
81
77
|
field: {
|
|
82
78
|
other: VALUE
|
|
83
79
|
}
|
|
84
80
|
};
|
|
85
|
-
|
|
81
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
86
82
|
expect(value).toBeUndefined();
|
|
87
83
|
});
|
|
88
|
-
it('should handle null fieldId', ()
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
it('should handle null fieldId', function () {
|
|
85
|
+
var VALUE = 'value';
|
|
86
|
+
var DATA = {
|
|
91
87
|
field: VALUE
|
|
92
88
|
};
|
|
93
|
-
|
|
89
|
+
var value = (0, _getSourceData.default)(DATA, null);
|
|
94
90
|
expect(value).toBeUndefined();
|
|
95
91
|
});
|
|
96
|
-
it('should handle undefined fieldId', ()
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
it('should handle undefined fieldId', function () {
|
|
93
|
+
var VALUE = 'value';
|
|
94
|
+
var DATA = {
|
|
99
95
|
field: VALUE
|
|
100
96
|
};
|
|
101
|
-
|
|
97
|
+
var value = (0, _getSourceData.default)(DATA, undefined);
|
|
102
98
|
expect(value).toBeUndefined();
|
|
103
99
|
});
|
|
104
|
-
it('should handle empty fieldId', ()
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
it('should handle empty fieldId', function () {
|
|
101
|
+
var VALUE = 'value';
|
|
102
|
+
var DATA = {
|
|
107
103
|
field: VALUE
|
|
108
104
|
};
|
|
109
|
-
|
|
105
|
+
var value = (0, _getSourceData.default)(DATA, '');
|
|
110
106
|
expect(value).toBeUndefined();
|
|
111
107
|
});
|
|
112
|
-
it('should handle fieldId with trailing dot', ()
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
108
|
+
it('should handle fieldId with trailing dot', function () {
|
|
109
|
+
var FIELD_ID = 'field.';
|
|
110
|
+
var VALUE = 'value';
|
|
111
|
+
var DATA = {
|
|
116
112
|
field: VALUE
|
|
117
113
|
};
|
|
118
|
-
|
|
114
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
119
115
|
expect(value).toBeUndefined();
|
|
120
116
|
});
|
|
121
|
-
it('should handle fieldId with leading dot', ()
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
117
|
+
it('should handle fieldId with leading dot', function () {
|
|
118
|
+
var FIELD_ID = '.field';
|
|
119
|
+
var VALUE = 'value';
|
|
120
|
+
var DATA = {
|
|
125
121
|
field: VALUE
|
|
126
122
|
};
|
|
127
|
-
|
|
123
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
128
124
|
expect(value).toBeUndefined();
|
|
129
125
|
});
|
|
130
|
-
it('should handle fieldId that is just a dot', ()
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
126
|
+
it('should handle fieldId that is just a dot', function () {
|
|
127
|
+
var FIELD_ID = '.';
|
|
128
|
+
var VALUE = 'value';
|
|
129
|
+
var DATA = {
|
|
134
130
|
field: VALUE
|
|
135
131
|
};
|
|
136
|
-
|
|
132
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
137
133
|
expect(value).toBeUndefined();
|
|
138
134
|
});
|
|
139
|
-
it('should handle a reference to an array item', ()
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
135
|
+
it('should handle a reference to an array item', function () {
|
|
136
|
+
var FIELD_ID = 'items[1]';
|
|
137
|
+
var ALPHA = 'alpha';
|
|
138
|
+
var BETA = 'beta';
|
|
139
|
+
var DATA = {
|
|
144
140
|
items: [ALPHA, BETA]
|
|
145
141
|
};
|
|
146
|
-
|
|
142
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
147
143
|
expect(value).toEqual(BETA);
|
|
148
144
|
});
|
|
149
|
-
it('should handle a reference to an array that does not exist', ()
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
145
|
+
it('should handle a reference to an array that does not exist', function () {
|
|
146
|
+
var FIELD_ID = 'items[1]';
|
|
147
|
+
var DATA = {};
|
|
148
|
+
var value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
153
149
|
expect(value).toBeUndefined();
|
|
154
150
|
});
|
|
155
151
|
});
|
package/dist/utils/Data/index.js
CHANGED
|
@@ -16,7 +16,7 @@ var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDat
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
// Local imports
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
var Data = {
|
|
20
20
|
applyFormula: _applyFormula.default,
|
|
21
21
|
getAutocompleteSource: _getAutocompleteSource.default,
|
|
22
22
|
getDataPath: _getDataPath.default,
|
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
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); }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
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); }
|
|
7
13
|
/**
|
|
8
14
|
* Combines refdata options with custom options with the use of `from_refdata` in the custom option
|
|
9
15
|
* Allowing for nesting of components within refdata lists of checkboxes or radios
|
|
@@ -12,18 +18,19 @@ exports.default = void 0;
|
|
|
12
18
|
* @param {Array} options The list of options being defined in the form
|
|
13
19
|
* @returns A combined list of refdata options and custom options to be rendered
|
|
14
20
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
options.forEach((option, index)
|
|
21
|
+
var nestInRefdataOptions = function nestInRefdataOptions(refdataOptions, options) {
|
|
22
|
+
var nestedRefdataOptions = refdataOptions;
|
|
23
|
+
options.forEach(function (option, index) {
|
|
18
24
|
if (option.refdata_match) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
25
|
+
var refdataMatch = option.refdata_match;
|
|
26
|
+
var refdataKey = Object.keys(refdataMatch)[0];
|
|
27
|
+
var refdataIndex = refdataOptions.findIndex(function (refdataOption) {
|
|
28
|
+
return refdataOption[refdataKey] === refdataMatch[refdataKey];
|
|
29
|
+
});
|
|
22
30
|
if (refdataIndex >= 0) {
|
|
23
|
-
nestedRefdataOptions[refdataIndex] = {
|
|
24
|
-
...refdataOptions[refdataIndex],
|
|
31
|
+
nestedRefdataOptions[refdataIndex] = _objectSpread(_objectSpread({}, refdataOptions[refdataIndex]), {}, {
|
|
25
32
|
nested: option.nested
|
|
26
|
-
};
|
|
33
|
+
});
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.Data.combineOptions', ()
|
|
6
|
-
it('should combine refdata options with a custom option', ()
|
|
7
|
-
|
|
5
|
+
describe('utils.Data.combineOptions', function () {
|
|
6
|
+
it('should combine refdata options with a custom option', function () {
|
|
7
|
+
var refdataOptions = [{
|
|
8
8
|
id: 1,
|
|
9
9
|
description: 'First refdata item',
|
|
10
10
|
value: 'firstValue',
|
|
@@ -20,7 +20,7 @@ describe('utils.Data.combineOptions', () => {
|
|
|
20
20
|
value: 'thirdValue',
|
|
21
21
|
label: 'Third label'
|
|
22
22
|
}];
|
|
23
|
-
|
|
23
|
+
var customOptions = [{
|
|
24
24
|
refdata_match: {
|
|
25
25
|
id: 2
|
|
26
26
|
},
|
|
@@ -54,8 +54,8 @@ describe('utils.Data.combineOptions', () => {
|
|
|
54
54
|
value: 'thirdValue'
|
|
55
55
|
}]);
|
|
56
56
|
});
|
|
57
|
-
it('should not combine options if it can`t find a matching refdata option', ()
|
|
58
|
-
|
|
57
|
+
it('should not combine options if it can`t find a matching refdata option', function () {
|
|
58
|
+
var refdataOptions = [{
|
|
59
59
|
id: 1,
|
|
60
60
|
description: 'First refdata item',
|
|
61
61
|
value: 'firstValue',
|
|
@@ -71,7 +71,7 @@ describe('utils.Data.combineOptions', () => {
|
|
|
71
71
|
value: 'thirdValue',
|
|
72
72
|
label: 'Third label'
|
|
73
73
|
}];
|
|
74
|
-
|
|
74
|
+
var customOptions = [{
|
|
75
75
|
refdata_match: {
|
|
76
76
|
id: 4
|
|
77
77
|
},
|
|
@@ -99,8 +99,8 @@ describe('utils.Data.combineOptions', () => {
|
|
|
99
99
|
value: 'thirdValue'
|
|
100
100
|
}]);
|
|
101
101
|
});
|
|
102
|
-
it('should append refdata options with a custom option when `combineWithRefdata` flag is set', ()
|
|
103
|
-
|
|
102
|
+
it('should append refdata options with a custom option when `combineWithRefdata` flag is set', function () {
|
|
103
|
+
var refdataOptions = [{
|
|
104
104
|
id: 1,
|
|
105
105
|
description: 'First refdata item',
|
|
106
106
|
value: 'firstValue',
|
|
@@ -116,7 +116,7 @@ describe('utils.Data.combineOptions', () => {
|
|
|
116
116
|
value: 'thirdValue',
|
|
117
117
|
label: 'Third label'
|
|
118
118
|
}];
|
|
119
|
-
|
|
119
|
+
var customOptions = [{
|
|
120
120
|
combineWithRefdata: true,
|
|
121
121
|
id: 'otherComponent',
|
|
122
122
|
fieldId: 'otherComponent',
|
|
@@ -146,8 +146,8 @@ describe('utils.Data.combineOptions', () => {
|
|
|
146
146
|
label: 'Other Component'
|
|
147
147
|
}]);
|
|
148
148
|
});
|
|
149
|
-
it('should not append refdata options with a custom option when `combineWithRefdata` flag is not set', ()
|
|
150
|
-
|
|
149
|
+
it('should not append refdata options with a custom option when `combineWithRefdata` flag is not set', function () {
|
|
150
|
+
var refdataOptions = [{
|
|
151
151
|
id: 1,
|
|
152
152
|
description: 'First refdata item',
|
|
153
153
|
value: 'firstValue',
|
|
@@ -163,7 +163,7 @@ describe('utils.Data.combineOptions', () => {
|
|
|
163
163
|
value: 'thirdValue',
|
|
164
164
|
label: 'Third label'
|
|
165
165
|
}];
|
|
166
|
-
|
|
166
|
+
var customOptions = [{
|
|
167
167
|
id: 'otherComponent',
|
|
168
168
|
fieldId: 'otherComponent',
|
|
169
169
|
type: 'text',
|
|
@@ -186,8 +186,8 @@ describe('utils.Data.combineOptions', () => {
|
|
|
186
186
|
value: 'thirdValue'
|
|
187
187
|
}]);
|
|
188
188
|
});
|
|
189
|
-
it('should append refdata options with a string when `combineWithRefdata` flag is set and custom option comes after string', ()
|
|
190
|
-
|
|
189
|
+
it('should append refdata options with a string when `combineWithRefdata` flag is set and custom option comes after string', function () {
|
|
190
|
+
var refdataOptions = [{
|
|
191
191
|
id: 1,
|
|
192
192
|
description: 'First refdata item',
|
|
193
193
|
value: 'firstValue',
|
|
@@ -203,7 +203,7 @@ describe('utils.Data.combineOptions', () => {
|
|
|
203
203
|
value: 'thirdValue',
|
|
204
204
|
label: 'Third label'
|
|
205
205
|
}];
|
|
206
|
-
|
|
206
|
+
var customOptions = ["or", {
|
|
207
207
|
combineWithRefdata: true,
|
|
208
208
|
id: 'otherComponent',
|
|
209
209
|
fieldId: 'otherComponent',
|
|
@@ -4,17 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
7
|
+
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); }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
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); }
|
|
13
|
+
var getValueAndLabel = function getValueAndLabel(opt, itemStructure) {
|
|
8
14
|
var _value;
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
var value = opt.value || opt.id;
|
|
16
|
+
var label = opt.label || opt.name;
|
|
11
17
|
if (itemStructure) {
|
|
12
18
|
value = opt[itemStructure.value] || value;
|
|
13
19
|
label = opt[itemStructure.label] || label;
|
|
14
20
|
}
|
|
15
21
|
return {
|
|
16
22
|
value: (_value = value) === null || _value === void 0 ? void 0 : _value.toString(),
|
|
17
|
-
label
|
|
23
|
+
label: label
|
|
18
24
|
};
|
|
19
25
|
};
|
|
20
26
|
|
|
@@ -24,16 +30,13 @@ const getValueAndLabel = (opt, itemStructure) => {
|
|
|
24
30
|
* @param {Object} itemStructure The structure of the item.
|
|
25
31
|
* @returns An array of options.
|
|
26
32
|
*/
|
|
27
|
-
|
|
33
|
+
var refDataToOptions = function refDataToOptions(refDataItems, itemStructure) {
|
|
28
34
|
if (Array.isArray(refDataItems)) {
|
|
29
|
-
return refDataItems.map(opt
|
|
35
|
+
return refDataItems.map(function (opt) {
|
|
30
36
|
if (typeof opt === 'string') {
|
|
31
37
|
return opt;
|
|
32
38
|
}
|
|
33
|
-
return {
|
|
34
|
-
...opt,
|
|
35
|
-
...getValueAndLabel(opt, itemStructure)
|
|
36
|
-
};
|
|
39
|
+
return _objectSpread(_objectSpread({}, opt), getValueAndLabel(opt, itemStructure));
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
return [];
|