@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
|
@@ -5,12 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
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; }
|
|
11
|
-
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; }
|
|
12
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
-
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.
|
|
8
|
+
// Local imports.
|
|
9
|
+
|
|
14
10
|
/**
|
|
15
11
|
* Call a callback on a component and all of its child/nested components.
|
|
16
12
|
* At each stage, the value of the component is set to the returned value
|
|
@@ -24,7 +20,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
24
20
|
* null if root is not valid.
|
|
25
21
|
* root if callback is not valid.
|
|
26
22
|
*/
|
|
27
|
-
|
|
23
|
+
const applyToComponentTree = (root, callback) => {
|
|
28
24
|
var _root$data;
|
|
29
25
|
if (!root) {
|
|
30
26
|
return null;
|
|
@@ -32,17 +28,19 @@ var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
|
32
28
|
if (!callback) {
|
|
33
29
|
return root;
|
|
34
30
|
}
|
|
35
|
-
|
|
31
|
+
const result = {
|
|
32
|
+
...root
|
|
33
|
+
};
|
|
36
34
|
switch (root.type) {
|
|
37
35
|
case _models.ComponentTypes.CONTAINER:
|
|
38
|
-
result.components.forEach(
|
|
39
|
-
|
|
36
|
+
result.components.forEach((c, index, containerArray) => {
|
|
37
|
+
const array = containerArray;
|
|
40
38
|
array[index] = applyToComponentTree(c, callback);
|
|
41
39
|
});
|
|
42
40
|
break;
|
|
43
41
|
case _models.ComponentTypes.COLLECTION:
|
|
44
|
-
result.item.forEach(
|
|
45
|
-
|
|
42
|
+
result.item.forEach((c, index, collectionArray) => {
|
|
43
|
+
const array = collectionArray;
|
|
46
44
|
array[index] = applyToComponentTree(c, callback);
|
|
47
45
|
});
|
|
48
46
|
break;
|
|
@@ -51,13 +49,15 @@ var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
|
51
49
|
if (!((_root$data = root.data) !== null && _root$data !== void 0 && _root$data.options)) {
|
|
52
50
|
break;
|
|
53
51
|
}
|
|
54
|
-
result.data =
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
result.data = {
|
|
53
|
+
...root.data
|
|
54
|
+
};
|
|
55
|
+
result.data.options = root.data.options.map(option => {
|
|
56
|
+
const newOption = {
|
|
57
|
+
...option
|
|
58
|
+
};
|
|
57
59
|
if (option.nested) {
|
|
58
|
-
newOption.nested = option.nested.map(
|
|
59
|
-
return applyToComponentTree(c, callback);
|
|
60
|
-
});
|
|
60
|
+
newOption.nested = option.nested.map(c => applyToComponentTree(c, callback));
|
|
61
61
|
}
|
|
62
62
|
return newOption;
|
|
63
63
|
});
|
|
@@ -2,18 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _applyToComponentTree = _interopRequireDefault(require("./applyToComponentTree"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
-
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.
|
|
11
|
-
describe('utils.Component.applyToComponentTree', function () {
|
|
12
|
-
var SINGLE_COMP = {
|
|
5
|
+
// Local imports.
|
|
6
|
+
|
|
7
|
+
describe('utils.Component.applyToComponentTree', () => {
|
|
8
|
+
const SINGLE_COMP = {
|
|
13
9
|
type: 'text',
|
|
14
10
|
label: 'alpha'
|
|
15
11
|
};
|
|
16
|
-
|
|
12
|
+
const CONTAINER = {
|
|
17
13
|
type: 'container',
|
|
18
14
|
label: 'bravo',
|
|
19
15
|
components: [{
|
|
@@ -21,7 +17,7 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
21
17
|
label: 'charlie'
|
|
22
18
|
}]
|
|
23
19
|
};
|
|
24
|
-
|
|
20
|
+
const COLLECTION = {
|
|
25
21
|
type: 'collection',
|
|
26
22
|
label: 'delta',
|
|
27
23
|
item: [{
|
|
@@ -29,7 +25,7 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
29
25
|
label: 'echo'
|
|
30
26
|
}]
|
|
31
27
|
};
|
|
32
|
-
|
|
28
|
+
const COMP_WITH_NESTED = {
|
|
33
29
|
type: 'radios',
|
|
34
30
|
label: 'foxtrot',
|
|
35
31
|
data: {
|
|
@@ -46,44 +42,43 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
46
42
|
}]
|
|
47
43
|
}
|
|
48
44
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var result = (0, _applyToComponentTree.default)(undefined, CALLBACK);
|
|
45
|
+
const CALLBACK = component => ({
|
|
46
|
+
...component,
|
|
47
|
+
label: component.label.toUpperCase()
|
|
48
|
+
});
|
|
49
|
+
it('should return null when root is undefined', () => {
|
|
50
|
+
const result = (0, _applyToComponentTree.default)(undefined, CALLBACK);
|
|
56
51
|
expect(result).toEqual(null);
|
|
57
52
|
});
|
|
58
|
-
it('should return null when root is null',
|
|
59
|
-
|
|
53
|
+
it('should return null when root is null', () => {
|
|
54
|
+
const result = (0, _applyToComponentTree.default)(null, CALLBACK);
|
|
60
55
|
expect(result).toEqual(null);
|
|
61
56
|
});
|
|
62
|
-
it('should return root when callback is undefined',
|
|
63
|
-
|
|
57
|
+
it('should return root when callback is undefined', () => {
|
|
58
|
+
const result = (0, _applyToComponentTree.default)({
|
|
64
59
|
type: 'text'
|
|
65
60
|
}, undefined);
|
|
66
61
|
expect(result).toEqual({
|
|
67
62
|
type: 'text'
|
|
68
63
|
});
|
|
69
64
|
});
|
|
70
|
-
it('should return root when callback is null',
|
|
71
|
-
|
|
65
|
+
it('should return root when callback is null', () => {
|
|
66
|
+
const result = (0, _applyToComponentTree.default)({
|
|
72
67
|
type: 'text'
|
|
73
68
|
}, null);
|
|
74
69
|
expect(result).toEqual({
|
|
75
70
|
type: 'text'
|
|
76
71
|
});
|
|
77
72
|
});
|
|
78
|
-
it('should correctly call callback on a single component',
|
|
79
|
-
|
|
73
|
+
it('should correctly call callback on a single component', () => {
|
|
74
|
+
const result = (0, _applyToComponentTree.default)(SINGLE_COMP, CALLBACK);
|
|
80
75
|
expect(result).toEqual({
|
|
81
76
|
type: 'text',
|
|
82
77
|
label: 'ALPHA'
|
|
83
78
|
});
|
|
84
79
|
});
|
|
85
|
-
it('should correctly call callback on a container component',
|
|
86
|
-
|
|
80
|
+
it('should correctly call callback on a container component', () => {
|
|
81
|
+
const result = (0, _applyToComponentTree.default)(CONTAINER, CALLBACK);
|
|
87
82
|
expect(result).toEqual({
|
|
88
83
|
type: 'container',
|
|
89
84
|
label: 'BRAVO',
|
|
@@ -93,8 +88,8 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
93
88
|
}]
|
|
94
89
|
});
|
|
95
90
|
});
|
|
96
|
-
it('should correctly call callback on a collection component',
|
|
97
|
-
|
|
91
|
+
it('should correctly call callback on a collection component', () => {
|
|
92
|
+
const result = (0, _applyToComponentTree.default)(COLLECTION, CALLBACK);
|
|
98
93
|
expect(result).toEqual({
|
|
99
94
|
type: 'collection',
|
|
100
95
|
label: 'DELTA',
|
|
@@ -104,8 +99,8 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
104
99
|
}]
|
|
105
100
|
});
|
|
106
101
|
});
|
|
107
|
-
it('should correctly call callback on a component with nested components',
|
|
108
|
-
|
|
102
|
+
it('should correctly call callback on a component with nested components', () => {
|
|
103
|
+
const result = (0, _applyToComponentTree.default)(COMP_WITH_NESTED, CALLBACK);
|
|
109
104
|
expect(result).toEqual({
|
|
110
105
|
type: 'radios',
|
|
111
106
|
label: 'FOXTROT',
|
|
@@ -4,13 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.JSON_ONLY_PROPERTIES = void 0;
|
|
7
|
-
|
|
8
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
-
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; }
|
|
10
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
11
|
-
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); }
|
|
12
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
-
var JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 'show_when', 'options', 'additionalValidation', 'full_path', 'fullPath', 'formData'];
|
|
7
|
+
const JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 'show_when', 'options', 'additionalValidation', 'full_path', 'fullPath', 'formData'];
|
|
14
8
|
|
|
15
9
|
/**
|
|
16
10
|
* This method removes and properties that are entirely specific to the JSON
|
|
@@ -23,13 +17,16 @@ var JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 'sho
|
|
|
23
17
|
* @param {Array} alsoRemove An array of additional properties to remove.
|
|
24
18
|
* @returns A clean(er) JSON object.
|
|
25
19
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (options &&
|
|
30
|
-
return Object.keys(options).reduce(
|
|
20
|
+
const cleanAttributes = function (options) {
|
|
21
|
+
let alsoRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
22
|
+
const removeKeys = Array.isArray(alsoRemove) ? [].concat(JSON_ONLY_PROPERTIES, alsoRemove) : JSON_ONLY_PROPERTIES;
|
|
23
|
+
if (options && typeof options === 'object') {
|
|
24
|
+
return Object.keys(options).reduce((obj, key) => {
|
|
31
25
|
if (!removeKeys.includes(key)) {
|
|
32
|
-
return
|
|
26
|
+
return {
|
|
27
|
+
...obj,
|
|
28
|
+
[key]: options[key]
|
|
29
|
+
};
|
|
33
30
|
}
|
|
34
31
|
;
|
|
35
32
|
return obj;
|
|
@@ -1,35 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
var _cleanAttributes = _interopRequireWildcard(require("./cleanAttributes"));
|
|
5
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
6
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
4
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
5
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
7
6
|
// Local imports
|
|
8
7
|
|
|
9
|
-
describe('utils',
|
|
10
|
-
describe('Component',
|
|
11
|
-
describe('clean',
|
|
12
|
-
it('should handle null options',
|
|
8
|
+
describe('utils', () => {
|
|
9
|
+
describe('Component', () => {
|
|
10
|
+
describe('clean', () => {
|
|
11
|
+
it('should handle null options', () => {
|
|
13
12
|
expect((0, _cleanAttributes.default)(null)).toEqual({});
|
|
14
13
|
});
|
|
15
|
-
it('should handle undefined options',
|
|
14
|
+
it('should handle undefined options', () => {
|
|
16
15
|
expect((0, _cleanAttributes.default)(undefined)).toEqual({});
|
|
17
16
|
});
|
|
18
|
-
it('should handle empty options',
|
|
17
|
+
it('should handle empty options', () => {
|
|
19
18
|
expect((0, _cleanAttributes.default)({}, null)).toEqual({});
|
|
20
19
|
});
|
|
21
|
-
it('should handle a non-object options',
|
|
20
|
+
it('should handle a non-object options', () => {
|
|
22
21
|
expect((0, _cleanAttributes.default)(23, null)).toEqual({});
|
|
23
22
|
});
|
|
24
|
-
it('should only remove properties specific to JSON',
|
|
25
|
-
|
|
23
|
+
it('should only remove properties specific to JSON', () => {
|
|
24
|
+
const OPTIONS = {
|
|
26
25
|
id: 'bob'
|
|
27
26
|
};
|
|
28
27
|
// Add a bunch of properties we know will need to be removed.
|
|
29
|
-
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(
|
|
28
|
+
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(p => {
|
|
30
29
|
OPTIONS[p] = 'value';
|
|
31
30
|
});
|
|
32
|
-
|
|
31
|
+
const RESULT = (0, _cleanAttributes.default)(OPTIONS);
|
|
33
32
|
|
|
34
33
|
// The original options should remain untouched.
|
|
35
34
|
expect(OPTIONS.id).toEqual('bob');
|
|
@@ -41,16 +40,16 @@ describe('utils', function () {
|
|
|
41
40
|
id: 'bob'
|
|
42
41
|
});
|
|
43
42
|
});
|
|
44
|
-
it('should also remove properties specified in the alsoRemove parameter',
|
|
45
|
-
|
|
43
|
+
it('should also remove properties specified in the alsoRemove parameter', () => {
|
|
44
|
+
const OPTIONS = {
|
|
46
45
|
id: 'bob',
|
|
47
46
|
fieldId: 'bobField'
|
|
48
47
|
};
|
|
49
48
|
// Add a bunch of properties we know will need to be removed.
|
|
50
|
-
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(
|
|
49
|
+
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(p => {
|
|
51
50
|
OPTIONS[p] = 'value';
|
|
52
51
|
});
|
|
53
|
-
|
|
52
|
+
const RESULT = (0, _cleanAttributes.default)(OPTIONS, ['fieldId']);
|
|
54
53
|
|
|
55
54
|
// The original options should remain untouched.
|
|
56
55
|
expect(OPTIONS.id).toEqual('bob');
|
|
@@ -33,17 +33,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
33
33
|
* @returns A new array consisting of components interspersed
|
|
34
34
|
* with any visible nested components.
|
|
35
35
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
components === null || components === void 0 || components.forEach(
|
|
36
|
+
const elevateNestedComponents = (components, data) => {
|
|
37
|
+
let allComponents = [];
|
|
38
|
+
components === null || components === void 0 || components.forEach(component => {
|
|
39
39
|
allComponents.push(component);
|
|
40
40
|
// If the component wasn't shown we shouldn't elevate anything nested under it
|
|
41
41
|
if ((0, _showComponent.default)(component, data)) {
|
|
42
42
|
var _component$data;
|
|
43
|
-
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(
|
|
43
|
+
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(option => {
|
|
44
44
|
// If this option has nested components and is
|
|
45
45
|
// selected, then add its nested components to the array.
|
|
46
|
-
|
|
46
|
+
const sourceData = (data === null || data === void 0 ? void 0 : data[component.id]) || _Data.default.getSource(data, component.full_path);
|
|
47
47
|
// If the specific option wasn't shown we shouldn't elevate anything nested under it
|
|
48
48
|
if (Array.isArray(option.nested) && sourceData === option.value && (0, _showComponent.default)(option, data)) {
|
|
49
49
|
allComponents = allComponents.concat(option.nested);
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
var _elevateNestedComponents = _interopRequireDefault(require("./elevateNestedComponents"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.Component.elevateNestedComponents',
|
|
6
|
-
it('should return an empty array if components is undefined',
|
|
7
|
-
|
|
5
|
+
describe('utils.Component.elevateNestedComponents', () => {
|
|
6
|
+
it('should return an empty array if components is undefined', () => {
|
|
7
|
+
const DATA = {
|
|
8
8
|
alpha: 'abc'
|
|
9
9
|
};
|
|
10
10
|
expect((0, _elevateNestedComponents.default)(undefined, DATA)).toEqual([]);
|
|
11
11
|
});
|
|
12
|
-
it('should return an empty array if components is null',
|
|
13
|
-
|
|
12
|
+
it('should return an empty array if components is null', () => {
|
|
13
|
+
const DATA = {
|
|
14
14
|
alpha: 'abc'
|
|
15
15
|
};
|
|
16
16
|
expect((0, _elevateNestedComponents.default)(null, DATA)).toEqual([]);
|
|
17
17
|
});
|
|
18
|
-
it('should return an empty array if components is empty',
|
|
19
|
-
|
|
18
|
+
it('should return an empty array if components is empty', () => {
|
|
19
|
+
const DATA = {
|
|
20
20
|
alpha: 'abc'
|
|
21
21
|
};
|
|
22
22
|
expect((0, _elevateNestedComponents.default)([], DATA)).toEqual([]);
|
|
23
23
|
});
|
|
24
|
-
it('should return the original components if none have nested components',
|
|
25
|
-
|
|
24
|
+
it('should return the original components if none have nested components', () => {
|
|
25
|
+
const COMPONENTS = [{
|
|
26
26
|
id: 'textComp'
|
|
27
27
|
}, {
|
|
28
28
|
id: 'radiosComp',
|
|
@@ -36,13 +36,13 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
36
36
|
}]
|
|
37
37
|
}
|
|
38
38
|
}];
|
|
39
|
-
|
|
39
|
+
const DATA = {
|
|
40
40
|
alpha: 'abc'
|
|
41
41
|
};
|
|
42
42
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual(COMPONENTS);
|
|
43
43
|
});
|
|
44
|
-
it('should return the original components if data is null',
|
|
45
|
-
|
|
44
|
+
it('should return the original components if data is null', () => {
|
|
45
|
+
const COMPONENTS = [{
|
|
46
46
|
id: 'textComp'
|
|
47
47
|
}, {
|
|
48
48
|
id: 'radiosComp',
|
|
@@ -58,8 +58,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
58
58
|
}];
|
|
59
59
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, null)).toEqual(COMPONENTS);
|
|
60
60
|
});
|
|
61
|
-
it('should return the original array with elevated nested components when they are visible',
|
|
62
|
-
|
|
61
|
+
it('should return the original array with elevated nested components when they are visible', () => {
|
|
62
|
+
const COMPONENTS = [{
|
|
63
63
|
id: 'textComp'
|
|
64
64
|
}, {
|
|
65
65
|
id: 'radiosComp',
|
|
@@ -78,7 +78,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
78
78
|
}]
|
|
79
79
|
}
|
|
80
80
|
}];
|
|
81
|
-
|
|
81
|
+
const DATA = {
|
|
82
82
|
radiosComp: 'yes'
|
|
83
83
|
};
|
|
84
84
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS, [{
|
|
@@ -87,8 +87,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
87
87
|
id: 'nestedTwo'
|
|
88
88
|
}]));
|
|
89
89
|
});
|
|
90
|
-
it('should return the original array with elevated nested components when a component has a full_path',
|
|
91
|
-
|
|
90
|
+
it('should return the original array with elevated nested components when a component has a full_path', () => {
|
|
91
|
+
const COMPONENTS = [{
|
|
92
92
|
id: 'textComp'
|
|
93
93
|
}, {
|
|
94
94
|
id: 'radiosComp',
|
|
@@ -108,7 +108,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
108
108
|
},
|
|
109
109
|
full_path: 'component.radiosComp'
|
|
110
110
|
}];
|
|
111
|
-
|
|
111
|
+
const DATA = {
|
|
112
112
|
component: {
|
|
113
113
|
radiosComp: 'yes'
|
|
114
114
|
}
|
|
@@ -119,8 +119,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
119
119
|
id: 'nestedTwo'
|
|
120
120
|
}]));
|
|
121
121
|
});
|
|
122
|
-
it('should not elevate nested components under a component which is hidden with a show_when',
|
|
123
|
-
|
|
122
|
+
it('should not elevate nested components under a component which is hidden with a show_when', () => {
|
|
123
|
+
const COMPONENTS = [{
|
|
124
124
|
id: 'textComp'
|
|
125
125
|
}, {
|
|
126
126
|
id: 'radiosComp',
|
|
@@ -144,14 +144,14 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
144
144
|
}]
|
|
145
145
|
}
|
|
146
146
|
}];
|
|
147
|
-
|
|
147
|
+
const DATA = {
|
|
148
148
|
radiosComp: 'yes',
|
|
149
149
|
testField: 'red'
|
|
150
150
|
};
|
|
151
151
|
expect((0, _elevateNestedComponents.default)(COMPONENTS, DATA)).toEqual([].concat(COMPONENTS));
|
|
152
152
|
});
|
|
153
|
-
it('should elevate nested components under a component which is shown with a show_When',
|
|
154
|
-
|
|
153
|
+
it('should elevate nested components under a component which is shown with a show_When', () => {
|
|
154
|
+
const COMPONENTS = [{
|
|
155
155
|
id: 'textComp'
|
|
156
156
|
}, {
|
|
157
157
|
id: 'radiosComp',
|
|
@@ -175,7 +175,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
175
175
|
}]
|
|
176
176
|
}
|
|
177
177
|
}];
|
|
178
|
-
|
|
178
|
+
const DATA = {
|
|
179
179
|
radiosComp: 'yes',
|
|
180
180
|
testField: 'red'
|
|
181
181
|
};
|
|
@@ -185,8 +185,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
185
185
|
id: 'nestedTwo'
|
|
186
186
|
}]));
|
|
187
187
|
});
|
|
188
|
-
it('should elevate nested components under an option which is shown with a show_When',
|
|
189
|
-
|
|
188
|
+
it('should elevate nested components under an option which is shown with a show_When', () => {
|
|
189
|
+
const COMPONENTS = [{
|
|
190
190
|
id: 'textComp'
|
|
191
191
|
}, {
|
|
192
192
|
id: 'radiosComp',
|
|
@@ -215,7 +215,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
215
215
|
}]
|
|
216
216
|
}
|
|
217
217
|
}];
|
|
218
|
-
|
|
218
|
+
const DATA = {
|
|
219
219
|
radiosComp: 'yes',
|
|
220
220
|
testField: 'red',
|
|
221
221
|
testFieldTwo: 'purple'
|
|
@@ -226,8 +226,8 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
226
226
|
id: 'nestedTwo'
|
|
227
227
|
}]));
|
|
228
228
|
});
|
|
229
|
-
it('should not elevate nested components under an option which is hidden with a show_When',
|
|
230
|
-
|
|
229
|
+
it('should not elevate nested components under an option which is hidden with a show_When', () => {
|
|
230
|
+
const COMPONENTS = [{
|
|
231
231
|
id: 'textComp'
|
|
232
232
|
}, {
|
|
233
233
|
id: 'radiosComp',
|
|
@@ -256,7 +256,7 @@ describe('utils.Component.elevateNestedComponents', function () {
|
|
|
256
256
|
}]
|
|
257
257
|
}
|
|
258
258
|
}];
|
|
259
|
-
|
|
259
|
+
const DATA = {
|
|
260
260
|
radiosComp: 'yes',
|
|
261
261
|
testField: 'red',
|
|
262
262
|
testFieldTwo: 'orange'
|