@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +72 -63
- package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getOptions = _interopRequireDefault(require("./getOptions"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
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,
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
9
|
+
describe('getOptions', () => {
|
|
10
|
+
it('should handle a null config', () => {
|
|
11
|
+
(0, _getOptions.default)(null, 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', () => {
|
|
16
|
+
const CONFIG = {
|
|
17
17
|
options: [{
|
|
18
18
|
value: 'a',
|
|
19
19
|
label: 'Alpha',
|
|
@@ -24,22 +24,22 @@ describe('utils', function () {
|
|
|
24
24
|
hint: ''
|
|
25
25
|
}]
|
|
26
26
|
};
|
|
27
|
-
(0, _getOptions.default)(CONFIG,
|
|
27
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
28
28
|
expect(options).toEqual(CONFIG.options);
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
|
-
it('should handle stings in option and if no value is supplied treat it as a string',
|
|
32
|
-
|
|
31
|
+
it('should handle stings in option and if no value is supplied treat it as a string', () => {
|
|
32
|
+
const CONFIG = {
|
|
33
33
|
options: ["or", {
|
|
34
34
|
label: "and"
|
|
35
35
|
}]
|
|
36
36
|
};
|
|
37
|
-
(0, _getOptions.default)(CONFIG,
|
|
37
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
38
38
|
expect(options).toEqual(["or", "and"]);
|
|
39
39
|
});
|
|
40
40
|
});
|
|
41
|
-
it('should get any specified options from the data property of the config',
|
|
42
|
-
|
|
41
|
+
it('should get any specified options from the data property of the config', () => {
|
|
42
|
+
const CONFIG = {
|
|
43
43
|
data: {
|
|
44
44
|
options: [{
|
|
45
45
|
value: 'a',
|
|
@@ -52,12 +52,12 @@ describe('utils', function () {
|
|
|
52
52
|
}]
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
(0, _getOptions.default)(CONFIG,
|
|
55
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
56
56
|
expect(options).toEqual(CONFIG.data.options);
|
|
57
57
|
});
|
|
58
58
|
});
|
|
59
|
-
it('should get options from form data collection',
|
|
60
|
-
|
|
59
|
+
it('should get options from form data collection', () => {
|
|
60
|
+
const CONFIG = {
|
|
61
61
|
data: {
|
|
62
62
|
collection: "people"
|
|
63
63
|
},
|
|
@@ -68,19 +68,18 @@ describe('utils', function () {
|
|
|
68
68
|
hint: "${name}"
|
|
69
69
|
/* eslint-enable no-template-curly-in-string */
|
|
70
70
|
},
|
|
71
|
-
|
|
72
71
|
formData: {
|
|
73
72
|
people: [{
|
|
74
73
|
"name": "test"
|
|
75
74
|
}]
|
|
76
75
|
}
|
|
77
76
|
};
|
|
78
|
-
(0, _getOptions.default)(CONFIG,
|
|
77
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
79
78
|
expect(options[0].hint).toEqual("test");
|
|
80
79
|
});
|
|
81
80
|
});
|
|
82
|
-
it('should not show options if there is collection but not item data',
|
|
83
|
-
|
|
81
|
+
it('should not show options if there is collection but not item data', () => {
|
|
82
|
+
const CONFIG = {
|
|
84
83
|
data: {
|
|
85
84
|
collection: "people"
|
|
86
85
|
},
|
|
@@ -90,12 +89,12 @@ describe('utils', function () {
|
|
|
90
89
|
}]
|
|
91
90
|
}
|
|
92
91
|
};
|
|
93
|
-
(0, _getOptions.default)(CONFIG,
|
|
92
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
94
93
|
expect(options).toEqual([]);
|
|
95
94
|
});
|
|
96
95
|
});
|
|
97
|
-
it('should use the top-level options over those in the data property',
|
|
98
|
-
|
|
96
|
+
it('should use the top-level options over those in the data property', () => {
|
|
97
|
+
const CONFIG = {
|
|
99
98
|
options: [{
|
|
100
99
|
value: 'a',
|
|
101
100
|
label: 'Alpha',
|
|
@@ -115,12 +114,12 @@ describe('utils', function () {
|
|
|
115
114
|
}]
|
|
116
115
|
}
|
|
117
116
|
};
|
|
118
|
-
(0, _getOptions.default)(CONFIG,
|
|
117
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
119
118
|
expect(options).toEqual(CONFIG.options);
|
|
120
119
|
});
|
|
121
120
|
});
|
|
122
|
-
it('should exclude options from the config that fail show_when checks',
|
|
123
|
-
|
|
121
|
+
it('should exclude options from the config that fail show_when checks', () => {
|
|
122
|
+
const CONFIG = {
|
|
124
123
|
id: 'test',
|
|
125
124
|
options: [{
|
|
126
125
|
value: 'a',
|
|
@@ -145,12 +144,12 @@ describe('utils', function () {
|
|
|
145
144
|
other: 'c'
|
|
146
145
|
}
|
|
147
146
|
};
|
|
148
|
-
(0, _getOptions.default)(CONFIG,
|
|
147
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
149
148
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
150
149
|
});
|
|
151
150
|
});
|
|
152
|
-
it('should exclude options from the config that fail or type show_when checks',
|
|
153
|
-
|
|
151
|
+
it('should exclude options from the config that fail or type show_when checks', () => {
|
|
152
|
+
const CONFIG = {
|
|
154
153
|
id: 'test',
|
|
155
154
|
options: [{
|
|
156
155
|
value: 'a',
|
|
@@ -189,12 +188,12 @@ describe('utils', function () {
|
|
|
189
188
|
other: 'c'
|
|
190
189
|
}
|
|
191
190
|
};
|
|
192
|
-
(0, _getOptions.default)(CONFIG,
|
|
191
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
193
192
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
194
193
|
});
|
|
195
194
|
});
|
|
196
|
-
it('should should use both data from refdata url and options if both present',
|
|
197
|
-
|
|
195
|
+
it('should should use both data from refdata url and options if both present', () => {
|
|
196
|
+
const CONFIG = {
|
|
198
197
|
data: {
|
|
199
198
|
options: [{
|
|
200
199
|
refdata_match: {
|
|
@@ -227,7 +226,7 @@ describe('utils', function () {
|
|
|
227
226
|
label: 'Third label'
|
|
228
227
|
}]
|
|
229
228
|
};
|
|
230
|
-
|
|
229
|
+
const MERGED_CONFIG = [{
|
|
231
230
|
id: 1,
|
|
232
231
|
description: 'First refdata item',
|
|
233
232
|
hint: '',
|
|
@@ -250,12 +249,12 @@ describe('utils', function () {
|
|
|
250
249
|
value: 'thirdValue',
|
|
251
250
|
label: 'Third label'
|
|
252
251
|
}];
|
|
253
|
-
(0, _getOptions.default)(CONFIG,
|
|
252
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
254
253
|
expect(options).toEqual(MERGED_CONFIG);
|
|
255
254
|
});
|
|
256
255
|
});
|
|
257
|
-
it('should override the hint if specified in the config',
|
|
258
|
-
|
|
256
|
+
it('should override the hint if specified in the config', () => {
|
|
257
|
+
const CONFIG = {
|
|
259
258
|
alternativeHintField: 'description',
|
|
260
259
|
options: [{
|
|
261
260
|
value: 'a',
|
|
@@ -269,7 +268,7 @@ describe('utils', function () {
|
|
|
269
268
|
hint: ''
|
|
270
269
|
}]
|
|
271
270
|
};
|
|
272
|
-
(0, _getOptions.default)(CONFIG,
|
|
271
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
273
272
|
expect(options[0].hint).toEqual(CONFIG.options[0].description);
|
|
274
273
|
expect(options[1].hint).toEqual(CONFIG.options[1].description);
|
|
275
274
|
});
|
|
@@ -4,24 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
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) {
|
|
7
|
+
const getItemInArray = (arr, index) => {
|
|
14
8
|
if (Array.isArray(arr)) {
|
|
15
9
|
return arr[parseInt(index, 10)];
|
|
16
10
|
}
|
|
17
11
|
return undefined;
|
|
18
12
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
var getPropertyAndIndex = function getPropertyAndIndex(prop) {
|
|
23
|
-
return prop.replace(']', '').split('[');
|
|
24
|
-
};
|
|
13
|
+
const isArrayProp = prop => prop.includes('[');
|
|
14
|
+
const getPropertyAndIndex = prop => prop.replace(']', '').split('[');
|
|
25
15
|
|
|
26
16
|
/**
|
|
27
17
|
* Gets the value of a field within the top-level JSON form data,
|
|
@@ -38,16 +28,13 @@ var getPropertyAndIndex = function getPropertyAndIndex(prop) {
|
|
|
38
28
|
* @param {string} fieldId The dot-separated path to the field.
|
|
39
29
|
* @returns The value of the field specified.
|
|
40
30
|
*/
|
|
41
|
-
|
|
31
|
+
const getSourceData = (data, fieldId) => {
|
|
42
32
|
if (!fieldId) {
|
|
43
33
|
return undefined;
|
|
44
34
|
}
|
|
45
|
-
return fieldId.split('.').reduce(
|
|
35
|
+
return fieldId.split('.').reduce((obj, prop) => {
|
|
46
36
|
if (obj && isArrayProp(prop)) {
|
|
47
|
-
|
|
48
|
-
_getPropertyAndIndex2 = _slicedToArray(_getPropertyAndIndex, 2),
|
|
49
|
-
actualProp = _getPropertyAndIndex2[0],
|
|
50
|
-
index = _getPropertyAndIndex2[1];
|
|
37
|
+
const [actualProp, index] = getPropertyAndIndex(prop);
|
|
51
38
|
return getItemInArray(obj[actualProp], index);
|
|
52
39
|
}
|
|
53
40
|
return obj ? obj[prop] : undefined;
|
|
@@ -1,50 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
describe('
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
9
|
+
describe('getSourceData', () => {
|
|
10
|
+
it('should return the value at the top level', () => {
|
|
11
|
+
const FIELD_ID = 'field';
|
|
12
|
+
const VALUE = 'value';
|
|
13
|
+
const DATA = {
|
|
14
|
+
[FIELD_ID]: VALUE
|
|
15
|
+
};
|
|
16
|
+
const 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
|
-
|
|
19
|
+
it('should handle boolean true', () => {
|
|
20
|
+
const FIELD_ID = 'field';
|
|
21
|
+
const VALUE = true;
|
|
22
|
+
const DATA = {
|
|
23
|
+
[FIELD_ID]: VALUE
|
|
24
|
+
};
|
|
25
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
24
26
|
expect(value).toStrictEqual(true);
|
|
25
27
|
});
|
|
26
|
-
it('should handle boolean false',
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
it('should handle boolean false', () => {
|
|
29
|
+
const FIELD_ID = 'field';
|
|
30
|
+
const VALUE = false;
|
|
31
|
+
const DATA = {
|
|
32
|
+
[FIELD_ID]: VALUE
|
|
33
|
+
};
|
|
34
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
31
35
|
expect(value).toStrictEqual(false);
|
|
32
36
|
});
|
|
33
|
-
it('should return a nested value',
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
it('should return a nested value', () => {
|
|
38
|
+
const FIELD_ID = 'field.nested';
|
|
39
|
+
const VALUE = 'nested value';
|
|
40
|
+
const DATA = {
|
|
37
41
|
field: {
|
|
38
42
|
nested: VALUE
|
|
39
43
|
}
|
|
40
44
|
};
|
|
41
|
-
|
|
45
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
42
46
|
expect(value).toEqual(VALUE);
|
|
43
47
|
});
|
|
44
|
-
it('should return a deeply nested value',
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
it('should return a deeply nested value', () => {
|
|
49
|
+
const FIELD_ID = 'field.nested.and.even.further.down';
|
|
50
|
+
const VALUE = 'deeply nested value';
|
|
51
|
+
const DATA = {
|
|
48
52
|
field: {
|
|
49
53
|
nested: {
|
|
50
54
|
and: {
|
|
@@ -57,95 +61,95 @@ describe('utils', function () {
|
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
};
|
|
60
|
-
|
|
64
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
61
65
|
expect(value).toEqual(VALUE);
|
|
62
66
|
});
|
|
63
|
-
it('should handle null data',
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
it('should handle null data', () => {
|
|
68
|
+
const FIELD_ID = 'field.nested';
|
|
69
|
+
const value = (0, _getSourceData.default)(null, FIELD_ID);
|
|
66
70
|
expect(value).toBeUndefined();
|
|
67
71
|
});
|
|
68
|
-
it('should handle undefined data',
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
it('should handle undefined data', () => {
|
|
73
|
+
const FIELD_ID = 'field.nested';
|
|
74
|
+
const value = (0, _getSourceData.default)(undefined, FIELD_ID);
|
|
71
75
|
expect(value).toBeUndefined();
|
|
72
76
|
});
|
|
73
|
-
it('should handle missing value',
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
it('should handle missing value', () => {
|
|
78
|
+
const FIELD_ID = 'field.nested';
|
|
79
|
+
const VALUE = 'other value';
|
|
80
|
+
const DATA = {
|
|
77
81
|
field: {
|
|
78
82
|
other: VALUE
|
|
79
83
|
}
|
|
80
84
|
};
|
|
81
|
-
|
|
85
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
82
86
|
expect(value).toBeUndefined();
|
|
83
87
|
});
|
|
84
|
-
it('should handle null fieldId',
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
it('should handle null fieldId', () => {
|
|
89
|
+
const VALUE = 'value';
|
|
90
|
+
const DATA = {
|
|
87
91
|
field: VALUE
|
|
88
92
|
};
|
|
89
|
-
|
|
93
|
+
const value = (0, _getSourceData.default)(DATA, null);
|
|
90
94
|
expect(value).toBeUndefined();
|
|
91
95
|
});
|
|
92
|
-
it('should handle undefined fieldId',
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
it('should handle undefined fieldId', () => {
|
|
97
|
+
const VALUE = 'value';
|
|
98
|
+
const DATA = {
|
|
95
99
|
field: VALUE
|
|
96
100
|
};
|
|
97
|
-
|
|
101
|
+
const value = (0, _getSourceData.default)(DATA, undefined);
|
|
98
102
|
expect(value).toBeUndefined();
|
|
99
103
|
});
|
|
100
|
-
it('should handle empty fieldId',
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
it('should handle empty fieldId', () => {
|
|
105
|
+
const VALUE = 'value';
|
|
106
|
+
const DATA = {
|
|
103
107
|
field: VALUE
|
|
104
108
|
};
|
|
105
|
-
|
|
109
|
+
const value = (0, _getSourceData.default)(DATA, '');
|
|
106
110
|
expect(value).toBeUndefined();
|
|
107
111
|
});
|
|
108
|
-
it('should handle fieldId with trailing dot',
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
it('should handle fieldId with trailing dot', () => {
|
|
113
|
+
const FIELD_ID = 'field.';
|
|
114
|
+
const VALUE = 'value';
|
|
115
|
+
const DATA = {
|
|
112
116
|
field: VALUE
|
|
113
117
|
};
|
|
114
|
-
|
|
118
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
115
119
|
expect(value).toBeUndefined();
|
|
116
120
|
});
|
|
117
|
-
it('should handle fieldId with leading dot',
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
+
it('should handle fieldId with leading dot', () => {
|
|
122
|
+
const FIELD_ID = '.field';
|
|
123
|
+
const VALUE = 'value';
|
|
124
|
+
const DATA = {
|
|
121
125
|
field: VALUE
|
|
122
126
|
};
|
|
123
|
-
|
|
127
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
124
128
|
expect(value).toBeUndefined();
|
|
125
129
|
});
|
|
126
|
-
it('should handle fieldId that is just a dot',
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
+
it('should handle fieldId that is just a dot', () => {
|
|
131
|
+
const FIELD_ID = '.';
|
|
132
|
+
const VALUE = 'value';
|
|
133
|
+
const DATA = {
|
|
130
134
|
field: VALUE
|
|
131
135
|
};
|
|
132
|
-
|
|
136
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
133
137
|
expect(value).toBeUndefined();
|
|
134
138
|
});
|
|
135
|
-
it('should handle a reference to an array item',
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
it('should handle a reference to an array item', () => {
|
|
140
|
+
const FIELD_ID = 'items[1]';
|
|
141
|
+
const ALPHA = 'alpha';
|
|
142
|
+
const BETA = 'beta';
|
|
143
|
+
const DATA = {
|
|
140
144
|
items: [ALPHA, BETA]
|
|
141
145
|
};
|
|
142
|
-
|
|
146
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
143
147
|
expect(value).toEqual(BETA);
|
|
144
148
|
});
|
|
145
|
-
it('should handle a reference to an array that does not exist',
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
it('should handle a reference to an array that does not exist', () => {
|
|
150
|
+
const FIELD_ID = 'items[1]';
|
|
151
|
+
const DATA = {};
|
|
152
|
+
const value = (0, _getSourceData.default)(DATA, FIELD_ID);
|
|
149
153
|
expect(value).toBeUndefined();
|
|
150
154
|
});
|
|
151
155
|
});
|
package/dist/utils/Data/index.js
CHANGED
|
@@ -14,10 +14,10 @@ var _deleteValues = _interopRequireDefault(require("./deleteValues"));
|
|
|
14
14
|
var _setDataItem = _interopRequireDefault(require("./setDataItem"));
|
|
15
15
|
var _setupFormData = _interopRequireDefault(require("./setupFormData"));
|
|
16
16
|
var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDataUrlForComponent"));
|
|
17
|
-
function _interopRequireDefault(
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
// Local imports
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
const Data = {
|
|
21
21
|
applyFormula: _applyFormula.default,
|
|
22
22
|
getAutocompleteSource: _getAutocompleteSource.default,
|
|
23
23
|
getDataPath: _getDataPath.default,
|
|
@@ -4,12 +4,11 @@ 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
7
|
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
8
|
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(
|
|
11
|
-
function _toPropertyKey(
|
|
12
|
-
function _toPrimitive(
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
12
|
/**
|
|
14
13
|
* Combines refdata options with custom options with the use of `from_refdata` in the custom option
|
|
15
14
|
* Allowing for nesting of components within refdata lists of checkboxes or radios
|
|
@@ -18,15 +17,13 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
18
17
|
* @param {Array} options The list of options being defined in the form
|
|
19
18
|
* @returns A combined list of refdata options and custom options to be rendered
|
|
20
19
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
options.forEach(
|
|
20
|
+
const nestInRefdataOptions = (refdataOptions, options) => {
|
|
21
|
+
const nestedRefdataOptions = refdataOptions;
|
|
22
|
+
options.forEach((option, index) => {
|
|
24
23
|
if (option.refdata_match) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return refdataOption[refdataKey] === refdataMatch[refdataKey];
|
|
29
|
-
});
|
|
24
|
+
const refdataMatch = option.refdata_match;
|
|
25
|
+
const refdataKey = Object.keys(refdataMatch)[0];
|
|
26
|
+
const refdataIndex = refdataOptions.findIndex(refdataOption => refdataOption[refdataKey] === refdataMatch[refdataKey]);
|
|
30
27
|
if (refdataIndex >= 0) {
|
|
31
28
|
nestedRefdataOptions[refdataIndex] = _objectSpread(_objectSpread({}, refdataOptions[refdataIndex]), {}, {
|
|
32
29
|
nested: option.nested
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils.Data.combineOptions',
|
|
6
|
-
it('should combine refdata options with a custom option',
|
|
7
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils.Data.combineOptions', () => {
|
|
6
|
+
it('should combine refdata options with a custom option', () => {
|
|
7
|
+
const refdataOptions = [{
|
|
8
8
|
id: 1,
|
|
9
9
|
description: 'First refdata item',
|
|
10
10
|
value: 'firstValue',
|
|
@@ -20,7 +20,7 @@ describe('utils.Data.combineOptions', function () {
|
|
|
20
20
|
value: 'thirdValue',
|
|
21
21
|
label: 'Third label'
|
|
22
22
|
}];
|
|
23
|
-
|
|
23
|
+
const customOptions = [{
|
|
24
24
|
refdata_match: {
|
|
25
25
|
id: 2
|
|
26
26
|
},
|
|
@@ -54,8 +54,8 @@ describe('utils.Data.combineOptions', function () {
|
|
|
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', () => {
|
|
58
|
+
const refdataOptions = [{
|
|
59
59
|
id: 1,
|
|
60
60
|
description: 'First refdata item',
|
|
61
61
|
value: 'firstValue',
|
|
@@ -71,7 +71,7 @@ describe('utils.Data.combineOptions', function () {
|
|
|
71
71
|
value: 'thirdValue',
|
|
72
72
|
label: 'Third label'
|
|
73
73
|
}];
|
|
74
|
-
|
|
74
|
+
const customOptions = [{
|
|
75
75
|
refdata_match: {
|
|
76
76
|
id: 4
|
|
77
77
|
},
|
|
@@ -99,8 +99,8 @@ describe('utils.Data.combineOptions', function () {
|
|
|
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', () => {
|
|
103
|
+
const refdataOptions = [{
|
|
104
104
|
id: 1,
|
|
105
105
|
description: 'First refdata item',
|
|
106
106
|
value: 'firstValue',
|
|
@@ -116,7 +116,7 @@ describe('utils.Data.combineOptions', function () {
|
|
|
116
116
|
value: 'thirdValue',
|
|
117
117
|
label: 'Third label'
|
|
118
118
|
}];
|
|
119
|
-
|
|
119
|
+
const customOptions = [{
|
|
120
120
|
combineWithRefdata: true,
|
|
121
121
|
id: 'otherComponent',
|
|
122
122
|
fieldId: 'otherComponent',
|
|
@@ -146,8 +146,8 @@ describe('utils.Data.combineOptions', function () {
|
|
|
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', () => {
|
|
150
|
+
const refdataOptions = [{
|
|
151
151
|
id: 1,
|
|
152
152
|
description: 'First refdata item',
|
|
153
153
|
value: 'firstValue',
|
|
@@ -163,7 +163,7 @@ describe('utils.Data.combineOptions', function () {
|
|
|
163
163
|
value: 'thirdValue',
|
|
164
164
|
label: 'Third label'
|
|
165
165
|
}];
|
|
166
|
-
|
|
166
|
+
const customOptions = [{
|
|
167
167
|
id: 'otherComponent',
|
|
168
168
|
fieldId: 'otherComponent',
|
|
169
169
|
type: 'text',
|
|
@@ -186,8 +186,8 @@ describe('utils.Data.combineOptions', function () {
|
|
|
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', () => {
|
|
190
|
+
const refdataOptions = [{
|
|
191
191
|
id: 1,
|
|
192
192
|
description: 'First refdata item',
|
|
193
193
|
value: 'firstValue',
|
|
@@ -203,7 +203,7 @@ describe('utils.Data.combineOptions', function () {
|
|
|
203
203
|
value: 'thirdValue',
|
|
204
204
|
label: 'Third label'
|
|
205
205
|
}];
|
|
206
|
-
|
|
206
|
+
const customOptions = ["or", {
|
|
207
207
|
combineWithRefdata: true,
|
|
208
208
|
id: 'otherComponent',
|
|
209
209
|
fieldId: 'otherComponent',
|