@ukhomeoffice/cop-react-form-renderer 6.13.2 → 6.14.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/README.md +8 -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 +81 -99
- 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 +47 -48
- package/dist/components/CollectionSummary/RenderListView.scss +4 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +133 -98
- package/dist/components/CollectionSummary/SummaryCard.js +110 -148
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +71 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +85 -0
- 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 +67 -102
- 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 +99 -88
- package/dist/components/FormPage/FormPage.test.js +173 -164
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +138 -174
- 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 +79 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -14
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +146 -98
- 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 +81 -83
- 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 -174
- 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 +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +57 -30
- package/dist/utils/Data/getOptions.test.js +75 -28
- 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 +16 -12
- 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 +25 -22
- package/dist/utils/FormPage/useComponent.test.js +79 -44
- 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 +8 -9
- package/dist/utils/Validate/validateEmail.test.js +29 -26
- 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 +5 -5
|
@@ -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,12 +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
|
|
32
|
-
|
|
31
|
+
it('should handle stings in option and if no value is supplied treat it as a string', () => {
|
|
32
|
+
const CONFIG = {
|
|
33
|
+
options: ["or", {
|
|
34
|
+
label: "and"
|
|
35
|
+
}]
|
|
36
|
+
};
|
|
37
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
38
|
+
expect(options).toEqual(["or", "and"]);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
it('should get any specified options from the data property of the config', () => {
|
|
42
|
+
const CONFIG = {
|
|
33
43
|
data: {
|
|
34
44
|
options: [{
|
|
35
45
|
value: 'a',
|
|
@@ -42,12 +52,49 @@ describe('utils', function () {
|
|
|
42
52
|
}]
|
|
43
53
|
}
|
|
44
54
|
};
|
|
45
|
-
(0, _getOptions.default)(CONFIG,
|
|
55
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
46
56
|
expect(options).toEqual(CONFIG.data.options);
|
|
47
57
|
});
|
|
48
58
|
});
|
|
49
|
-
it('should
|
|
50
|
-
|
|
59
|
+
it('should get options from form data collection', () => {
|
|
60
|
+
const CONFIG = {
|
|
61
|
+
data: {
|
|
62
|
+
collection: "people"
|
|
63
|
+
},
|
|
64
|
+
item: {
|
|
65
|
+
/* eslint-disable no-template-curly-in-string */
|
|
66
|
+
label: "${name}",
|
|
67
|
+
value: "${name}",
|
|
68
|
+
hint: "${name}"
|
|
69
|
+
/* eslint-enable no-template-curly-in-string */
|
|
70
|
+
},
|
|
71
|
+
formData: {
|
|
72
|
+
people: [{
|
|
73
|
+
"name": "test"
|
|
74
|
+
}]
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
78
|
+
expect(options[0].hint).toEqual("test");
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
it('should not show options if there is collection but not item data', () => {
|
|
82
|
+
const CONFIG = {
|
|
83
|
+
data: {
|
|
84
|
+
collection: "people"
|
|
85
|
+
},
|
|
86
|
+
formData: {
|
|
87
|
+
people: [{
|
|
88
|
+
"name": "test"
|
|
89
|
+
}]
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
93
|
+
expect(options).toEqual([]);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
it('should use the top-level options over those in the data property', () => {
|
|
97
|
+
const CONFIG = {
|
|
51
98
|
options: [{
|
|
52
99
|
value: 'a',
|
|
53
100
|
label: 'Alpha',
|
|
@@ -67,12 +114,12 @@ describe('utils', function () {
|
|
|
67
114
|
}]
|
|
68
115
|
}
|
|
69
116
|
};
|
|
70
|
-
(0, _getOptions.default)(CONFIG,
|
|
117
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
71
118
|
expect(options).toEqual(CONFIG.options);
|
|
72
119
|
});
|
|
73
120
|
});
|
|
74
|
-
it('should exclude options from the config that fail show_when checks',
|
|
75
|
-
|
|
121
|
+
it('should exclude options from the config that fail show_when checks', () => {
|
|
122
|
+
const CONFIG = {
|
|
76
123
|
id: 'test',
|
|
77
124
|
options: [{
|
|
78
125
|
value: 'a',
|
|
@@ -97,12 +144,12 @@ describe('utils', function () {
|
|
|
97
144
|
other: 'c'
|
|
98
145
|
}
|
|
99
146
|
};
|
|
100
|
-
(0, _getOptions.default)(CONFIG,
|
|
147
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
101
148
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
102
149
|
});
|
|
103
150
|
});
|
|
104
|
-
it('should exclude options from the config that fail or type show_when checks',
|
|
105
|
-
|
|
151
|
+
it('should exclude options from the config that fail or type show_when checks', () => {
|
|
152
|
+
const CONFIG = {
|
|
106
153
|
id: 'test',
|
|
107
154
|
options: [{
|
|
108
155
|
value: 'a',
|
|
@@ -141,12 +188,12 @@ describe('utils', function () {
|
|
|
141
188
|
other: 'c'
|
|
142
189
|
}
|
|
143
190
|
};
|
|
144
|
-
(0, _getOptions.default)(CONFIG,
|
|
191
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
145
192
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
146
193
|
});
|
|
147
194
|
});
|
|
148
|
-
it('should should use both data from refdata url and options if both present',
|
|
149
|
-
|
|
195
|
+
it('should should use both data from refdata url and options if both present', () => {
|
|
196
|
+
const CONFIG = {
|
|
150
197
|
data: {
|
|
151
198
|
options: [{
|
|
152
199
|
refdata_match: {
|
|
@@ -179,7 +226,7 @@ describe('utils', function () {
|
|
|
179
226
|
label: 'Third label'
|
|
180
227
|
}]
|
|
181
228
|
};
|
|
182
|
-
|
|
229
|
+
const MERGED_CONFIG = [{
|
|
183
230
|
id: 1,
|
|
184
231
|
description: 'First refdata item',
|
|
185
232
|
hint: '',
|
|
@@ -202,12 +249,12 @@ describe('utils', function () {
|
|
|
202
249
|
value: 'thirdValue',
|
|
203
250
|
label: 'Third label'
|
|
204
251
|
}];
|
|
205
|
-
(0, _getOptions.default)(CONFIG,
|
|
252
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
206
253
|
expect(options).toEqual(MERGED_CONFIG);
|
|
207
254
|
});
|
|
208
255
|
});
|
|
209
|
-
it('should override the hint if specified in the config',
|
|
210
|
-
|
|
256
|
+
it('should override the hint if specified in the config', () => {
|
|
257
|
+
const CONFIG = {
|
|
211
258
|
alternativeHintField: 'description',
|
|
212
259
|
options: [{
|
|
213
260
|
value: 'a',
|
|
@@ -221,7 +268,7 @@ describe('utils', function () {
|
|
|
221
268
|
hint: ''
|
|
222
269
|
}]
|
|
223
270
|
};
|
|
224
|
-
(0, _getOptions.default)(CONFIG,
|
|
271
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
225
272
|
expect(options[0].hint).toEqual(CONFIG.options[0].description);
|
|
226
273
|
expect(options[1].hint).toEqual(CONFIG.options[1].description);
|
|
227
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',
|