@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
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _nestInRefdataOptions = _interopRequireDefault(require("./nestInRefdataOptions"));
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
describe('utils.Data.combineOptions', () => {
|
|
6
|
+
it('should combine refdata options with a custom option', () => {
|
|
7
|
+
const refdataOptions = [{
|
|
8
|
+
id: 1,
|
|
9
|
+
description: 'First refdata item',
|
|
10
|
+
value: 'firstValue',
|
|
11
|
+
label: 'First label'
|
|
12
|
+
}, {
|
|
13
|
+
id: 2,
|
|
14
|
+
description: 'Second refdata item',
|
|
15
|
+
value: 'secondValue',
|
|
16
|
+
label: 'Second label'
|
|
17
|
+
}, {
|
|
18
|
+
id: 3,
|
|
19
|
+
description: 'Third refdata item',
|
|
20
|
+
value: 'thirdValue',
|
|
21
|
+
label: 'Third label'
|
|
22
|
+
}];
|
|
23
|
+
const customOptions = [{
|
|
24
|
+
refdata_match: {
|
|
25
|
+
id: 2
|
|
26
|
+
},
|
|
27
|
+
nested: [{
|
|
28
|
+
id: 'nestedComponent',
|
|
29
|
+
fieldId: 'nestedComponent',
|
|
30
|
+
type: 'text',
|
|
31
|
+
label: 'Nested Component'
|
|
32
|
+
}]
|
|
33
|
+
}];
|
|
34
|
+
expect((0, _nestInRefdataOptions.default)(refdataOptions, customOptions)).toEqual([{
|
|
35
|
+
description: 'First refdata item',
|
|
36
|
+
id: 1,
|
|
37
|
+
label: 'First label',
|
|
38
|
+
value: 'firstValue'
|
|
39
|
+
}, {
|
|
40
|
+
description: 'Second refdata item',
|
|
41
|
+
id: 2,
|
|
42
|
+
label: 'Second label',
|
|
43
|
+
nested: [{
|
|
44
|
+
id: 'nestedComponent',
|
|
45
|
+
fieldId: 'nestedComponent',
|
|
46
|
+
type: 'text',
|
|
47
|
+
label: 'Nested Component'
|
|
48
|
+
}],
|
|
49
|
+
value: 'secondValue'
|
|
50
|
+
}, {
|
|
51
|
+
description: 'Third refdata item',
|
|
52
|
+
id: 3,
|
|
53
|
+
label: 'Third label',
|
|
54
|
+
value: 'thirdValue'
|
|
55
|
+
}]);
|
|
56
|
+
});
|
|
57
|
+
it('should not combine options if it can`t find a matching refdata option', () => {
|
|
58
|
+
const refdataOptions = [{
|
|
59
|
+
id: 1,
|
|
60
|
+
description: 'First refdata item',
|
|
61
|
+
value: 'firstValue',
|
|
62
|
+
label: 'First label'
|
|
63
|
+
}, {
|
|
64
|
+
id: 2,
|
|
65
|
+
description: 'Second refdata item',
|
|
66
|
+
value: 'secondValue',
|
|
67
|
+
label: 'Second label'
|
|
68
|
+
}, {
|
|
69
|
+
id: 3,
|
|
70
|
+
description: 'Third refdata item',
|
|
71
|
+
value: 'thirdValue',
|
|
72
|
+
label: 'Third label'
|
|
73
|
+
}];
|
|
74
|
+
const customOptions = [{
|
|
75
|
+
refdata_match: {
|
|
76
|
+
id: 4
|
|
77
|
+
},
|
|
78
|
+
nested: [{
|
|
79
|
+
id: 'nestedComponent',
|
|
80
|
+
fieldId: 'nestedComponent',
|
|
81
|
+
type: 'text',
|
|
82
|
+
label: 'Nested Component'
|
|
83
|
+
}]
|
|
84
|
+
}];
|
|
85
|
+
expect((0, _nestInRefdataOptions.default)(refdataOptions, customOptions)).toEqual([{
|
|
86
|
+
description: 'First refdata item',
|
|
87
|
+
id: 1,
|
|
88
|
+
label: 'First label',
|
|
89
|
+
value: 'firstValue'
|
|
90
|
+
}, {
|
|
91
|
+
description: 'Second refdata item',
|
|
92
|
+
id: 2,
|
|
93
|
+
label: 'Second label',
|
|
94
|
+
value: 'secondValue'
|
|
95
|
+
}, {
|
|
96
|
+
description: 'Third refdata item',
|
|
97
|
+
id: 3,
|
|
98
|
+
label: 'Third label',
|
|
99
|
+
value: 'thirdValue'
|
|
100
|
+
}]);
|
|
101
|
+
});
|
|
102
|
+
it('should append refdata options with a custom option when `combineWithRefdata` flag is set', () => {
|
|
103
|
+
const refdataOptions = [{
|
|
104
|
+
id: 1,
|
|
105
|
+
description: 'First refdata item',
|
|
106
|
+
value: 'firstValue',
|
|
107
|
+
label: 'First label'
|
|
108
|
+
}, {
|
|
109
|
+
id: 2,
|
|
110
|
+
description: 'Second refdata item',
|
|
111
|
+
value: 'secondValue',
|
|
112
|
+
label: 'Second label'
|
|
113
|
+
}, {
|
|
114
|
+
id: 3,
|
|
115
|
+
description: 'Third refdata item',
|
|
116
|
+
value: 'thirdValue',
|
|
117
|
+
label: 'Third label'
|
|
118
|
+
}];
|
|
119
|
+
const customOptions = [{
|
|
120
|
+
combineWithRefdata: true,
|
|
121
|
+
id: 'otherComponent',
|
|
122
|
+
fieldId: 'otherComponent',
|
|
123
|
+
type: 'text',
|
|
124
|
+
label: 'Other Component'
|
|
125
|
+
}];
|
|
126
|
+
expect((0, _nestInRefdataOptions.default)(refdataOptions, customOptions)).toEqual([{
|
|
127
|
+
description: 'First refdata item',
|
|
128
|
+
id: 1,
|
|
129
|
+
label: 'First label',
|
|
130
|
+
value: 'firstValue'
|
|
131
|
+
}, {
|
|
132
|
+
description: 'Second refdata item',
|
|
133
|
+
id: 2,
|
|
134
|
+
label: 'Second label',
|
|
135
|
+
value: 'secondValue'
|
|
136
|
+
}, {
|
|
137
|
+
description: 'Third refdata item',
|
|
138
|
+
id: 3,
|
|
139
|
+
label: 'Third label',
|
|
140
|
+
value: 'thirdValue'
|
|
141
|
+
}, {
|
|
142
|
+
combineWithRefdata: true,
|
|
143
|
+
id: 'otherComponent',
|
|
144
|
+
fieldId: 'otherComponent',
|
|
145
|
+
type: 'text',
|
|
146
|
+
label: 'Other Component'
|
|
147
|
+
}]);
|
|
148
|
+
});
|
|
149
|
+
it('should not append refdata options with a custom option when `combineWithRefdata` flag is not set', () => {
|
|
150
|
+
const refdataOptions = [{
|
|
151
|
+
id: 1,
|
|
152
|
+
description: 'First refdata item',
|
|
153
|
+
value: 'firstValue',
|
|
154
|
+
label: 'First label'
|
|
155
|
+
}, {
|
|
156
|
+
id: 2,
|
|
157
|
+
description: 'Second refdata item',
|
|
158
|
+
value: 'secondValue',
|
|
159
|
+
label: 'Second label'
|
|
160
|
+
}, {
|
|
161
|
+
id: 3,
|
|
162
|
+
description: 'Third refdata item',
|
|
163
|
+
value: 'thirdValue',
|
|
164
|
+
label: 'Third label'
|
|
165
|
+
}];
|
|
166
|
+
const customOptions = [{
|
|
167
|
+
id: 'otherComponent',
|
|
168
|
+
fieldId: 'otherComponent',
|
|
169
|
+
type: 'text',
|
|
170
|
+
label: 'Other Component'
|
|
171
|
+
}];
|
|
172
|
+
expect((0, _nestInRefdataOptions.default)(refdataOptions, customOptions)).toEqual([{
|
|
173
|
+
description: 'First refdata item',
|
|
174
|
+
id: 1,
|
|
175
|
+
label: 'First label',
|
|
176
|
+
value: 'firstValue'
|
|
177
|
+
}, {
|
|
178
|
+
description: 'Second refdata item',
|
|
179
|
+
id: 2,
|
|
180
|
+
label: 'Second label',
|
|
181
|
+
value: 'secondValue'
|
|
182
|
+
}, {
|
|
183
|
+
description: 'Third refdata item',
|
|
184
|
+
id: 3,
|
|
185
|
+
label: 'Third label',
|
|
186
|
+
value: 'thirdValue'
|
|
187
|
+
}]);
|
|
188
|
+
});
|
|
189
|
+
it('should append refdata options with a string when `combineWithRefdata` flag is set and custom option comes after string', () => {
|
|
190
|
+
const refdataOptions = [{
|
|
191
|
+
id: 1,
|
|
192
|
+
description: 'First refdata item',
|
|
193
|
+
value: 'firstValue',
|
|
194
|
+
label: 'First label'
|
|
195
|
+
}, {
|
|
196
|
+
id: 2,
|
|
197
|
+
description: 'Second refdata item',
|
|
198
|
+
value: 'secondValue',
|
|
199
|
+
label: 'Second label'
|
|
200
|
+
}, {
|
|
201
|
+
id: 3,
|
|
202
|
+
description: 'Third refdata item',
|
|
203
|
+
value: 'thirdValue',
|
|
204
|
+
label: 'Third label'
|
|
205
|
+
}];
|
|
206
|
+
const customOptions = ["or", {
|
|
207
|
+
combineWithRefdata: true,
|
|
208
|
+
id: 'otherComponent',
|
|
209
|
+
fieldId: 'otherComponent',
|
|
210
|
+
type: 'text',
|
|
211
|
+
label: 'Other Component'
|
|
212
|
+
}];
|
|
213
|
+
expect((0, _nestInRefdataOptions.default)(refdataOptions, customOptions)).toEqual([{
|
|
214
|
+
description: 'First refdata item',
|
|
215
|
+
id: 1,
|
|
216
|
+
label: 'First label',
|
|
217
|
+
value: 'firstValue'
|
|
218
|
+
}, {
|
|
219
|
+
description: 'Second refdata item',
|
|
220
|
+
id: 2,
|
|
221
|
+
label: 'Second label',
|
|
222
|
+
value: 'secondValue'
|
|
223
|
+
}, {
|
|
224
|
+
description: 'Third refdata item',
|
|
225
|
+
id: 3,
|
|
226
|
+
label: 'Third label',
|
|
227
|
+
value: 'thirdValue'
|
|
228
|
+
}, "or", {
|
|
229
|
+
combineWithRefdata: true,
|
|
230
|
+
id: 'otherComponent',
|
|
231
|
+
fieldId: 'otherComponent',
|
|
232
|
+
type: 'text',
|
|
233
|
+
label: 'Other Component'
|
|
234
|
+
}]);
|
|
235
|
+
});
|
|
236
|
+
});
|
|
@@ -4,23 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
|
-
var getValueAndLabel = function getValueAndLabel(opt, itemStructure) {
|
|
7
|
+
const getValueAndLabel = (opt, itemStructure) => {
|
|
14
8
|
var _value;
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
let value = opt.value || opt.id;
|
|
10
|
+
let label = opt.label || opt.name;
|
|
17
11
|
if (itemStructure) {
|
|
18
12
|
value = opt[itemStructure.value] || value;
|
|
19
13
|
label = opt[itemStructure.label] || label;
|
|
20
14
|
}
|
|
21
15
|
return {
|
|
22
16
|
value: (_value = value) === null || _value === void 0 ? void 0 : _value.toString(),
|
|
23
|
-
label
|
|
17
|
+
label
|
|
24
18
|
};
|
|
25
19
|
};
|
|
26
20
|
|
|
@@ -30,13 +24,16 @@ var getValueAndLabel = function getValueAndLabel(opt, itemStructure) {
|
|
|
30
24
|
* @param {Object} itemStructure The structure of the item.
|
|
31
25
|
* @returns An array of options.
|
|
32
26
|
*/
|
|
33
|
-
|
|
27
|
+
const refDataToOptions = (refDataItems, itemStructure) => {
|
|
34
28
|
if (Array.isArray(refDataItems)) {
|
|
35
|
-
return refDataItems.map(
|
|
29
|
+
return refDataItems.map(opt => {
|
|
36
30
|
if (typeof opt === 'string') {
|
|
37
31
|
return opt;
|
|
38
32
|
}
|
|
39
|
-
return
|
|
33
|
+
return {
|
|
34
|
+
...opt,
|
|
35
|
+
...getValueAndLabel(opt, itemStructure)
|
|
36
|
+
};
|
|
40
37
|
});
|
|
41
38
|
}
|
|
42
39
|
return [];
|
|
@@ -4,17 +4,17 @@ var _refDataToOptions = _interopRequireDefault(require("./refDataToOptions"));
|
|
|
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('refDataToOptions',
|
|
10
|
-
it('can handle a null refData',
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
9
|
+
describe('refDataToOptions', () => {
|
|
10
|
+
it('can handle a null refData', () => {
|
|
11
11
|
expect((0, _refDataToOptions.default)(null)).toEqual([]);
|
|
12
12
|
});
|
|
13
|
-
it('can handle an undefined refData',
|
|
13
|
+
it('can handle an undefined refData', () => {
|
|
14
14
|
expect((0, _refDataToOptions.default)(undefined)).toEqual([]);
|
|
15
15
|
});
|
|
16
|
-
it('can handle genuine refData',
|
|
17
|
-
|
|
16
|
+
it('can handle genuine refData', () => {
|
|
17
|
+
const REF_DATA = [{
|
|
18
18
|
id: 'a',
|
|
19
19
|
name: 'Alpha'
|
|
20
20
|
}, {
|
|
@@ -41,8 +41,8 @@ describe('utils', function () {
|
|
|
41
41
|
label: 'Charlie'
|
|
42
42
|
}]);
|
|
43
43
|
});
|
|
44
|
-
it('can handle refData that is already in a usable options format',
|
|
45
|
-
|
|
44
|
+
it('can handle refData that is already in a usable options format', () => {
|
|
45
|
+
const REF_DATA = [{
|
|
46
46
|
value: 'a',
|
|
47
47
|
label: 'Alpha'
|
|
48
48
|
}, {
|
|
@@ -63,8 +63,8 @@ describe('utils', function () {
|
|
|
63
63
|
label: 'Charlie'
|
|
64
64
|
}]);
|
|
65
65
|
});
|
|
66
|
-
it('can handle refData that is in a mixed format',
|
|
67
|
-
|
|
66
|
+
it('can handle refData that is in a mixed format', () => {
|
|
67
|
+
const REF_DATA = [{
|
|
68
68
|
id: 'a',
|
|
69
69
|
name: 'Alpha',
|
|
70
70
|
type: 'Delta'
|
|
@@ -93,8 +93,8 @@ describe('utils', function () {
|
|
|
93
93
|
type: 'Delta'
|
|
94
94
|
}]);
|
|
95
95
|
});
|
|
96
|
-
it('can handle refData that contains strings and objects',
|
|
97
|
-
|
|
96
|
+
it('can handle refData that contains strings and objects', () => {
|
|
97
|
+
const REF_DATA = [{
|
|
98
98
|
id: 'a',
|
|
99
99
|
name: 'Alpha',
|
|
100
100
|
type: 'Delta'
|
|
@@ -123,8 +123,8 @@ describe('utils', function () {
|
|
|
123
123
|
type: 'Delta'
|
|
124
124
|
}]);
|
|
125
125
|
});
|
|
126
|
-
it('can handle refData with custom value and label properties',
|
|
127
|
-
|
|
126
|
+
it('can handle refData with custom value and label properties', () => {
|
|
127
|
+
const REF_DATA = [{
|
|
128
128
|
id: 1,
|
|
129
129
|
displayName: 'Alpha'
|
|
130
130
|
}, {
|
|
@@ -134,7 +134,7 @@ describe('utils', function () {
|
|
|
134
134
|
id: 3,
|
|
135
135
|
displayName: 'Charlie'
|
|
136
136
|
}];
|
|
137
|
-
|
|
137
|
+
const ITEM_STRUCTURE = {
|
|
138
138
|
value: 'id',
|
|
139
139
|
label: 'displayName'
|
|
140
140
|
};
|
|
@@ -155,8 +155,8 @@ describe('utils', function () {
|
|
|
155
155
|
label: 'Charlie'
|
|
156
156
|
}]);
|
|
157
157
|
});
|
|
158
|
-
it('can handle refData with missing custom value and label properties',
|
|
159
|
-
|
|
158
|
+
it('can handle refData with missing custom value and label properties', () => {
|
|
159
|
+
const REF_DATA = [{
|
|
160
160
|
id: 1,
|
|
161
161
|
name: 'Alpha'
|
|
162
162
|
}, {
|
|
@@ -168,7 +168,7 @@ describe('utils', function () {
|
|
|
168
168
|
objId: 'chaz',
|
|
169
169
|
name: 'Charlie'
|
|
170
170
|
}];
|
|
171
|
-
|
|
171
|
+
const ITEM_STRUCTURE = {
|
|
172
172
|
value: 'objId',
|
|
173
173
|
label: 'displayName'
|
|
174
174
|
};
|
|
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
7
|
+
const setDataItem = function (data, fieldId, value) {
|
|
8
|
+
let handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10
9
|
if (fieldId && data) {
|
|
11
|
-
|
|
10
|
+
const parts = handleArrayIndices ?
|
|
12
11
|
// Replace all occurrences of '[' with '.' and ']' with ''.
|
|
13
12
|
fieldId.replace(/\[/g, '.').replace(/\]/g, '').split('.') : fieldId.split('.');
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
parts.forEach(
|
|
17
|
-
if (!node[part] ||
|
|
13
|
+
const leaf = parts.pop();
|
|
14
|
+
let node = data;
|
|
15
|
+
parts.forEach(part => {
|
|
16
|
+
if (!node[part] || typeof node[part] !== 'object') {
|
|
18
17
|
node[part] = {};
|
|
19
18
|
}
|
|
20
19
|
node = node[part];
|
|
@@ -2,48 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
var _setDataItem = _interopRequireDefault(require("./setDataItem"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.Data.setDataItem',
|
|
6
|
-
it('should handle a null data object',
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
describe('utils.Data.setDataItem', () => {
|
|
6
|
+
it('should handle a null data object', () => {
|
|
7
|
+
const DATA = null;
|
|
8
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
9
|
+
const VALUE = 'delta';
|
|
10
10
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeNull();
|
|
11
11
|
expect(DATA).toBeNull();
|
|
12
12
|
});
|
|
13
|
-
it('should handle an undefined data object',
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
it('should handle an undefined data object', () => {
|
|
14
|
+
const DATA = undefined;
|
|
15
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
16
|
+
const VALUE = 'delta';
|
|
17
17
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeUndefined();
|
|
18
18
|
expect(DATA).toBeUndefined();
|
|
19
19
|
});
|
|
20
|
-
it('should handle a null fieldId',
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
it('should handle a null fieldId', () => {
|
|
21
|
+
const DATA = {};
|
|
22
|
+
const FIELD_ID = null;
|
|
23
|
+
const VALUE = 'delta';
|
|
24
24
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
25
25
|
expect(DATA).toMatchObject({});
|
|
26
26
|
});
|
|
27
|
-
it('should handle an undefined fieldId',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
it('should handle an undefined fieldId', () => {
|
|
28
|
+
const DATA = {};
|
|
29
|
+
const FIELD_ID = undefined;
|
|
30
|
+
const VALUE = 'delta';
|
|
31
31
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
32
32
|
expect(DATA).toMatchObject({});
|
|
33
33
|
});
|
|
34
|
-
it('should handle an empty fieldId',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
it('should handle an empty fieldId', () => {
|
|
35
|
+
const DATA = {};
|
|
36
|
+
const FIELD_ID = '';
|
|
37
|
+
const VALUE = 'delta';
|
|
38
38
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
39
39
|
expect(DATA).toMatchObject({});
|
|
40
40
|
});
|
|
41
|
-
it('should appropriately set a nested value',
|
|
42
|
-
|
|
41
|
+
it('should appropriately set a nested value', () => {
|
|
42
|
+
const DATA = {
|
|
43
43
|
alpha: {}
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
46
|
+
const VALUE = 'delta';
|
|
47
47
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
48
48
|
alpha: {
|
|
49
49
|
bravo: {
|
|
@@ -59,16 +59,16 @@ describe('utils.Data.setDataItem', function () {
|
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
|
-
it('should appropriately change a nested value',
|
|
63
|
-
|
|
62
|
+
it('should appropriately change a nested value', () => {
|
|
63
|
+
const DATA = {
|
|
64
64
|
alpha: {
|
|
65
65
|
bravo: {
|
|
66
66
|
charlie: 'echo'
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
71
|
+
const VALUE = 'delta';
|
|
72
72
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
73
73
|
alpha: {
|
|
74
74
|
bravo: {
|
|
@@ -84,14 +84,14 @@ describe('utils.Data.setDataItem', function () {
|
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
it('should handle a parent node that is not an object and convert it appropriately',
|
|
88
|
-
|
|
87
|
+
it('should handle a parent node that is not an object and convert it appropriately', () => {
|
|
88
|
+
const DATA = {
|
|
89
89
|
alpha: {
|
|
90
90
|
bravo: 'echo'
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
94
|
+
const VALUE = 'delta';
|
|
95
95
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
96
96
|
alpha: {
|
|
97
97
|
bravo: {
|
|
@@ -107,16 +107,16 @@ describe('utils.Data.setDataItem', function () {
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
});
|
|
110
|
-
it('should handle array indices in fieldPath if handleArrayIndices is true',
|
|
111
|
-
|
|
110
|
+
it('should handle array indices in fieldPath if handleArrayIndices is true', () => {
|
|
111
|
+
const DATA = {
|
|
112
112
|
alpha: {
|
|
113
113
|
bravo: [{
|
|
114
114
|
charlie: '123'
|
|
115
115
|
}]
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
const FIELD_ID = 'alpha.bravo[0].charlie';
|
|
119
|
+
const VALUE = '456';
|
|
120
120
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE, true)).toMatchObject({
|
|
121
121
|
alpha: {
|
|
122
122
|
bravo: [{
|
|
@@ -6,30 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
15
|
-
var setupComponentSourceData = function setupComponentSourceData(component, data) {
|
|
16
|
-
var componentSourceData = data;
|
|
9
|
+
// Local imports
|
|
10
|
+
|
|
11
|
+
const setupComponentSourceData = (component, data) => {
|
|
12
|
+
const componentSourceData = data;
|
|
17
13
|
if (component.source) {
|
|
18
14
|
componentSourceData[component.fieldId] = (0, _getSourceData.default)(componentSourceData, component.source.field);
|
|
19
15
|
}
|
|
20
16
|
};
|
|
21
|
-
|
|
22
|
-
components.forEach(
|
|
23
|
-
return setupComponentSourceData(component, data);
|
|
24
|
-
});
|
|
17
|
+
const setupSourceDataForComponents = (components, data) => {
|
|
18
|
+
components.forEach(component => setupComponentSourceData(component, data));
|
|
25
19
|
};
|
|
26
|
-
|
|
27
|
-
pages.forEach(
|
|
28
|
-
page.components.filter(
|
|
29
|
-
return !c.use;
|
|
30
|
-
}).forEach(function (component) {
|
|
31
|
-
return setupComponentSourceData(component, data);
|
|
32
|
-
});
|
|
20
|
+
const setupPageSourceData = (pages, data) => {
|
|
21
|
+
pages.forEach(page => {
|
|
22
|
+
page.components.filter(c => !c.use).forEach(component => setupComponentSourceData(component, data));
|
|
33
23
|
});
|
|
34
24
|
};
|
|
35
25
|
|
|
@@ -46,8 +36,10 @@ var setupPageSourceData = function setupPageSourceData(pages, data) {
|
|
|
46
36
|
* @param {object} baseData
|
|
47
37
|
* @returns
|
|
48
38
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
const setupFormData = (pages, components, baseData) => {
|
|
40
|
+
const data = {
|
|
41
|
+
...baseData
|
|
42
|
+
};
|
|
51
43
|
setupSourceDataForComponents(components, data);
|
|
52
44
|
setupPageSourceData(pages, data);
|
|
53
45
|
return data;
|