@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +2 -2
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +75 -59
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +15 -14
- package/dist/components/CollectionSummary/BannerStrip.scss +2 -2
- package/dist/components/CollectionSummary/BannerStrip.test.js +98 -59
- package/dist/components/CollectionSummary/CollectionSummary.js +144 -135
- package/dist/components/CollectionSummary/CollectionSummary.scss +1 -1
- package/dist/components/CollectionSummary/CollectionSummary.test.js +167 -197
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.scss +1 -1
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +54 -56
- package/dist/components/CollectionSummary/RenderListView.scss +10 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +89 -78
- package/dist/components/CollectionSummary/SummaryCard.js +135 -145
- package/dist/components/CollectionSummary/SummaryCard.scss +2 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +943 -932
- package/dist/components/CollectionSummary/SummaryCardDetails.js +120 -62
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +43 -6
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +261 -120
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +38 -33
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -73
- package/dist/components/FormComponent/Collection.js +81 -108
- package/dist/components/FormComponent/Collection.test.js +909 -943
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +80 -71
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +65 -80
- package/dist/components/FormPage/FormPage.scss +1 -1
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +150 -183
- package/dist/components/FormRenderer/FormRenderer.scss +1 -1
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +50 -48
- package/dist/components/FormRenderer/onPageAction.test.js +241 -217
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.scss +2 -2
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.scss +1 -1
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +65 -72
- package/dist/context/ValidationContext/ValidationContext.test.js +58 -61
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +27 -40
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +29 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -4
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +7 -27
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +29 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +66 -22
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +55 -0
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +153 -0
- package/dist/utils/CollectionPage/getQuickEditPage.js +37 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +3 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -17
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +38 -20
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +28 -19
- package/dist/utils/Condition/meetsCondition.test.js +476 -376
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +29 -25
- package/dist/utils/Data/getOptions.test.js +93 -20
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +42 -0
- package/dist/utils/Data/nestInRefdataOptions.test.js +236 -0
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +21 -27
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +16 -19
- package/dist/utils/Validate/validateContainer.test.js +84 -45
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +24 -18
- package/dist/utils/Validate/validatePage.test.js +263 -182
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +5 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -175
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -113
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -20
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -4,16 +4,16 @@ var _getOptions = _interopRequireDefault(require("./getOptions"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Data',
|
|
9
|
-
describe('getOptions',
|
|
10
|
-
it('should handle a null config',
|
|
11
|
-
(0, _getOptions.default)(null,
|
|
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'
|
|
@@ -22,12 +22,12 @@ describe('utils', function () {
|
|
|
22
22
|
label: 'Bravo'
|
|
23
23
|
}]
|
|
24
24
|
};
|
|
25
|
-
(0, _getOptions.default)(CONFIG,
|
|
25
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
26
26
|
expect(options).toEqual(CONFIG.options);
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
-
it('should get any specified options from the data property of the config',
|
|
30
|
-
|
|
29
|
+
it('should get any specified options from the data property of the config', () => {
|
|
30
|
+
const CONFIG = {
|
|
31
31
|
data: {
|
|
32
32
|
options: [{
|
|
33
33
|
value: 'a',
|
|
@@ -38,12 +38,12 @@ describe('utils', function () {
|
|
|
38
38
|
}]
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
|
-
(0, _getOptions.default)(CONFIG,
|
|
41
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
42
42
|
expect(options).toEqual(CONFIG.data.options);
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
|
-
it('should use the top-level options over those in the data property',
|
|
46
|
-
|
|
45
|
+
it('should use the top-level options over those in the data property', () => {
|
|
46
|
+
const CONFIG = {
|
|
47
47
|
options: [{
|
|
48
48
|
value: 'a',
|
|
49
49
|
label: 'Alpha'
|
|
@@ -61,12 +61,12 @@ describe('utils', function () {
|
|
|
61
61
|
}]
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
-
(0, _getOptions.default)(CONFIG,
|
|
64
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
65
65
|
expect(options).toEqual(CONFIG.options);
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
it('should exclude options from the config that fail show_when checks',
|
|
69
|
-
|
|
68
|
+
it('should exclude options from the config that fail show_when checks', () => {
|
|
69
|
+
const CONFIG = {
|
|
70
70
|
id: 'test',
|
|
71
71
|
options: [{
|
|
72
72
|
value: 'a',
|
|
@@ -89,12 +89,12 @@ describe('utils', function () {
|
|
|
89
89
|
other: 'c'
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
|
-
(0, _getOptions.default)(CONFIG,
|
|
92
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
93
93
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
|
-
it('should exclude options from the config that fail or type show_when checks',
|
|
97
|
-
|
|
96
|
+
it('should exclude options from the config that fail or type show_when checks', () => {
|
|
97
|
+
const CONFIG = {
|
|
98
98
|
id: 'test',
|
|
99
99
|
options: [{
|
|
100
100
|
value: 'a',
|
|
@@ -131,10 +131,83 @@ describe('utils', function () {
|
|
|
131
131
|
other: 'c'
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
|
-
(0, _getOptions.default)(CONFIG,
|
|
134
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
135
135
|
expect(options).toEqual([CONFIG.options[0]]);
|
|
136
136
|
});
|
|
137
137
|
});
|
|
138
|
+
it('should should use both data from refdata url and options if both present', () => {
|
|
139
|
+
const CONFIG = {
|
|
140
|
+
data: {
|
|
141
|
+
options: [{
|
|
142
|
+
refdata_match: {
|
|
143
|
+
id: 2
|
|
144
|
+
},
|
|
145
|
+
nested: [{
|
|
146
|
+
value: 'a',
|
|
147
|
+
label: 'Alpha'
|
|
148
|
+
}]
|
|
149
|
+
}],
|
|
150
|
+
url: 'refdata.url'
|
|
151
|
+
},
|
|
152
|
+
options: [{
|
|
153
|
+
id: 1,
|
|
154
|
+
description: 'First refdata item',
|
|
155
|
+
value: 'firstValue',
|
|
156
|
+
label: 'First label'
|
|
157
|
+
}, {
|
|
158
|
+
id: 2,
|
|
159
|
+
description: 'Second refdata item',
|
|
160
|
+
value: 'secondValue',
|
|
161
|
+
label: 'Second label'
|
|
162
|
+
}, {
|
|
163
|
+
id: 3,
|
|
164
|
+
description: 'Third refdata item',
|
|
165
|
+
value: 'thirdValue',
|
|
166
|
+
label: 'Third label'
|
|
167
|
+
}]
|
|
168
|
+
};
|
|
169
|
+
const MERGED_CONFIG = [{
|
|
170
|
+
id: 1,
|
|
171
|
+
description: 'First refdata item',
|
|
172
|
+
value: 'firstValue',
|
|
173
|
+
label: 'First label'
|
|
174
|
+
}, {
|
|
175
|
+
id: 2,
|
|
176
|
+
description: 'Second refdata item',
|
|
177
|
+
value: 'secondValue',
|
|
178
|
+
nested: [{
|
|
179
|
+
value: 'a',
|
|
180
|
+
label: 'Alpha'
|
|
181
|
+
}],
|
|
182
|
+
label: 'Second label'
|
|
183
|
+
}, {
|
|
184
|
+
id: 3,
|
|
185
|
+
description: 'Third refdata item',
|
|
186
|
+
value: 'thirdValue',
|
|
187
|
+
label: 'Third label'
|
|
188
|
+
}];
|
|
189
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
190
|
+
expect(options).toEqual(MERGED_CONFIG);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
it('should override the hint if specified in the config', () => {
|
|
194
|
+
const CONFIG = {
|
|
195
|
+
alternativeHintField: 'description',
|
|
196
|
+
options: [{
|
|
197
|
+
value: 'a',
|
|
198
|
+
label: 'Alpha',
|
|
199
|
+
description: 'first'
|
|
200
|
+
}, {
|
|
201
|
+
value: 'b',
|
|
202
|
+
label: 'Bravo',
|
|
203
|
+
description: 'second'
|
|
204
|
+
}]
|
|
205
|
+
};
|
|
206
|
+
(0, _getOptions.default)(CONFIG, options => {
|
|
207
|
+
expect(options[0].hint).toEqual(CONFIG.options[0].description);
|
|
208
|
+
expect(options[1].hint).toEqual(CONFIG.options[1].description);
|
|
209
|
+
});
|
|
210
|
+
});
|
|
138
211
|
});
|
|
139
212
|
});
|
|
140
213
|
});
|
|
@@ -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;
|
|
@@ -2,49 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
describe('
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
@@ -16,7 +16,7 @@ var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDat
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
// Local imports
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
const Data = {
|
|
20
20
|
applyFormula: _applyFormula.default,
|
|
21
21
|
getAutocompleteSource: _getAutocompleteSource.default,
|
|
22
22
|
getDataPath: _getDataPath.default,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Combines refdata options with custom options with the use of `from_refdata` in the custom option
|
|
9
|
+
* Allowing for nesting of components within refdata lists of checkboxes or radios
|
|
10
|
+
* Also allows appending custom options to refdata options list
|
|
11
|
+
* @param {Array} refdataOptions The list of options coming from refdata
|
|
12
|
+
* @param {Array} options The list of options being defined in the form
|
|
13
|
+
* @returns A combined list of refdata options and custom options to be rendered
|
|
14
|
+
*/
|
|
15
|
+
const nestInRefdataOptions = (refdataOptions, options) => {
|
|
16
|
+
const nestedRefdataOptions = refdataOptions;
|
|
17
|
+
options.forEach((option, index) => {
|
|
18
|
+
if (option.refdata_match) {
|
|
19
|
+
const refdataMatch = option.refdata_match;
|
|
20
|
+
const refdataKey = Object.keys(refdataMatch)[0];
|
|
21
|
+
const refdataIndex = refdataOptions.findIndex(refdataOption => refdataOption[refdataKey] === refdataMatch[refdataKey]);
|
|
22
|
+
if (refdataIndex >= 0) {
|
|
23
|
+
nestedRefdataOptions[refdataIndex] = {
|
|
24
|
+
...refdataOptions[refdataIndex],
|
|
25
|
+
nested: option.nested
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// checks if already exists in `nestedRefdataOptions` else
|
|
31
|
+
// re-renders would cause array to grow with each render
|
|
32
|
+
if (option.combineWithRefdata && !nestedRefdataOptions.includes(option)) {
|
|
33
|
+
// adds previous array entry if string e.g. "or" operator
|
|
34
|
+
if (index > 0 && typeof options[index - 1] === 'string') {
|
|
35
|
+
nestedRefdataOptions.push(options[index - 1]);
|
|
36
|
+
}
|
|
37
|
+
nestedRefdataOptions.push(option);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return nestedRefdataOptions;
|
|
41
|
+
};
|
|
42
|
+
var _default = exports.default = nestInRefdataOptions;
|