@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _addShowWhen = _interopRequireDefault(require("./addShowWhen"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.Component.addShowWhen',
|
|
8
|
-
|
|
7
|
+
describe('utils.Component.addShowWhen', () => {
|
|
8
|
+
const NEW_SHOW_WHEN = {
|
|
9
9
|
field: 'field',
|
|
10
10
|
op: '=',
|
|
11
11
|
value: 'value'
|
|
12
12
|
};
|
|
13
|
-
it('should return null when component is undefined',
|
|
14
|
-
|
|
13
|
+
it('should return null when component is undefined', () => {
|
|
14
|
+
const result = (0, _addShowWhen.default)(undefined, {});
|
|
15
15
|
expect(result).toEqual(null);
|
|
16
16
|
});
|
|
17
|
-
it('should return null when component is null',
|
|
18
|
-
|
|
17
|
+
it('should return null when component is null', () => {
|
|
18
|
+
const result = (0, _addShowWhen.default)(null, {});
|
|
19
19
|
expect(result).toEqual(null);
|
|
20
20
|
});
|
|
21
|
-
it('should return component when condition is undefined',
|
|
22
|
-
|
|
21
|
+
it('should return component when condition is undefined', () => {
|
|
22
|
+
const COMPONENT = {
|
|
23
23
|
alpha: 'bravo'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
const result = (0, _addShowWhen.default)(COMPONENT, undefined);
|
|
26
26
|
expect(result).toEqual({
|
|
27
27
|
alpha: 'bravo'
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
-
it('should return component when condition is null',
|
|
31
|
-
|
|
30
|
+
it('should return component when condition is null', () => {
|
|
31
|
+
const COMPONENT = {
|
|
32
32
|
alpha: 'bravo'
|
|
33
33
|
};
|
|
34
|
-
|
|
34
|
+
const result = (0, _addShowWhen.default)(COMPONENT, null);
|
|
35
35
|
expect(result).toEqual({
|
|
36
36
|
alpha: 'bravo'
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
it('should add the show_when to a component with no existing show_whens',
|
|
40
|
-
|
|
39
|
+
it('should add the show_when to a component with no existing show_whens', () => {
|
|
40
|
+
const COMPONENT = {
|
|
41
41
|
alpha: 'bravo'
|
|
42
42
|
};
|
|
43
|
-
|
|
43
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
|
|
44
44
|
expect(result).toEqual({
|
|
45
45
|
alpha: 'bravo',
|
|
46
46
|
show_when: NEW_SHOW_WHEN
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
|
-
it('should add the array type show_when to a component with no existing show_whens',
|
|
50
|
-
|
|
49
|
+
it('should add the array type show_when to a component with no existing show_whens', () => {
|
|
50
|
+
const NEW_ARRAY_SHOW_WHEN = [{
|
|
51
51
|
field: 'abc',
|
|
52
52
|
op: '=',
|
|
53
53
|
value: 'bcd'
|
|
@@ -56,17 +56,17 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
56
56
|
op: '=',
|
|
57
57
|
value: 'efg'
|
|
58
58
|
}];
|
|
59
|
-
|
|
59
|
+
const COMPONENT = {
|
|
60
60
|
alpha: 'bravo'
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
63
63
|
expect(result).toEqual({
|
|
64
64
|
alpha: 'bravo',
|
|
65
65
|
show_when: NEW_ARRAY_SHOW_WHEN
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
it('should add the show_when to a component with a single show_when',
|
|
69
|
-
|
|
68
|
+
it('should add the show_when to a component with a single show_when', () => {
|
|
69
|
+
const COMPONENT = {
|
|
70
70
|
alpha: 'bravo',
|
|
71
71
|
show_when: {
|
|
72
72
|
field: 'abc',
|
|
@@ -74,7 +74,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
74
74
|
value: 'bcd'
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
|
|
78
78
|
expect(result).toEqual({
|
|
79
79
|
alpha: 'bravo',
|
|
80
80
|
show_when: [{
|
|
@@ -84,8 +84,8 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
84
84
|
}, NEW_SHOW_WHEN]
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
it('should add the show_when to a component with an array of show_whens',
|
|
88
|
-
|
|
87
|
+
it('should add the show_when to a component with an array of show_whens', () => {
|
|
88
|
+
const COMPONENT = {
|
|
89
89
|
alpha: 'bravo',
|
|
90
90
|
show_when: [{
|
|
91
91
|
field: 'abc',
|
|
@@ -97,7 +97,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
97
97
|
value: 'efg'
|
|
98
98
|
}]
|
|
99
99
|
};
|
|
100
|
-
|
|
100
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
|
|
101
101
|
expect(result).toEqual({
|
|
102
102
|
alpha: 'bravo',
|
|
103
103
|
show_when: [{
|
|
@@ -111,11 +111,11 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
111
111
|
}, NEW_SHOW_WHEN]
|
|
112
112
|
});
|
|
113
113
|
});
|
|
114
|
-
it('should add the or type show_when to a component with no existing show_whens in an object not an array',
|
|
115
|
-
|
|
114
|
+
it('should add the or type show_when to a component with no existing show_whens in an object not an array', () => {
|
|
115
|
+
const COMPONENT = {
|
|
116
116
|
alpha: 'bravo'
|
|
117
117
|
};
|
|
118
|
-
|
|
118
|
+
const SHOW_WHEN_OR = {
|
|
119
119
|
type: 'or',
|
|
120
120
|
condition: [{
|
|
121
121
|
field: 'field1',
|
|
@@ -127,14 +127,14 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
127
127
|
value: 2
|
|
128
128
|
}]
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
const result = (0, _addShowWhen.default)(COMPONENT, SHOW_WHEN_OR);
|
|
131
131
|
expect(result).toEqual({
|
|
132
132
|
alpha: 'bravo',
|
|
133
133
|
show_when: SHOW_WHEN_OR
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
|
-
it('should add an array of show_whens to a component with an array of show_whens',
|
|
137
|
-
|
|
136
|
+
it('should add an array of show_whens to a component with an array of show_whens', () => {
|
|
137
|
+
const NEW_ARRAY_SHOW_WHEN = [{
|
|
138
138
|
field: 'hij',
|
|
139
139
|
op: '=',
|
|
140
140
|
value: 'klm'
|
|
@@ -143,7 +143,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
143
143
|
op: '=',
|
|
144
144
|
value: 'qrs'
|
|
145
145
|
}];
|
|
146
|
-
|
|
146
|
+
const COMPONENT = {
|
|
147
147
|
alpha: 'bravo',
|
|
148
148
|
show_when: [{
|
|
149
149
|
field: 'abc',
|
|
@@ -155,7 +155,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
155
155
|
value: 'efg'
|
|
156
156
|
}]
|
|
157
157
|
};
|
|
158
|
-
|
|
158
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
159
159
|
expect(result).toEqual({
|
|
160
160
|
alpha: 'bravo',
|
|
161
161
|
show_when: [{
|
|
@@ -177,8 +177,8 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
177
177
|
}]
|
|
178
178
|
});
|
|
179
179
|
});
|
|
180
|
-
it('should add an array of show_whens to a component with a single show_when',
|
|
181
|
-
|
|
180
|
+
it('should add an array of show_whens to a component with a single show_when', () => {
|
|
181
|
+
const NEW_ARRAY_SHOW_WHEN = [{
|
|
182
182
|
field: 'hij',
|
|
183
183
|
op: '=',
|
|
184
184
|
value: 'klm'
|
|
@@ -187,7 +187,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
187
187
|
op: '=',
|
|
188
188
|
value: 'qrs'
|
|
189
189
|
}];
|
|
190
|
-
|
|
190
|
+
const COMPONENT = {
|
|
191
191
|
alpha: 'bravo',
|
|
192
192
|
show_when: {
|
|
193
193
|
field: 'abc',
|
|
@@ -195,7 +195,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
195
195
|
value: 'bcd'
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
|
-
|
|
198
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
199
199
|
expect(result).toEqual({
|
|
200
200
|
alpha: 'bravo',
|
|
201
201
|
show_when: [{
|
|
@@ -5,12 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
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); }
|
|
9
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; }
|
|
10
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; }
|
|
11
|
-
function _defineProperty(
|
|
12
|
-
function _toPropertyKey(
|
|
13
|
-
function _toPrimitive(
|
|
10
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports.
|
|
14
13
|
/**
|
|
15
14
|
* Call a callback on a component and all of its child/nested components.
|
|
16
15
|
* At each stage, the value of the component is set to the returned value
|
|
@@ -24,7 +23,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
24
23
|
* null if root is not valid.
|
|
25
24
|
* root if callback is not valid.
|
|
26
25
|
*/
|
|
27
|
-
|
|
26
|
+
const applyToComponentTree = (root, callback) => {
|
|
28
27
|
var _root$data;
|
|
29
28
|
if (!root) {
|
|
30
29
|
return null;
|
|
@@ -32,17 +31,17 @@ var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
|
32
31
|
if (!callback) {
|
|
33
32
|
return root;
|
|
34
33
|
}
|
|
35
|
-
|
|
34
|
+
const result = _objectSpread({}, root);
|
|
36
35
|
switch (root.type) {
|
|
37
36
|
case _models.ComponentTypes.CONTAINER:
|
|
38
|
-
result.components.forEach(
|
|
39
|
-
|
|
37
|
+
result.components.forEach((c, index, containerArray) => {
|
|
38
|
+
const array = containerArray;
|
|
40
39
|
array[index] = applyToComponentTree(c, callback);
|
|
41
40
|
});
|
|
42
41
|
break;
|
|
43
42
|
case _models.ComponentTypes.COLLECTION:
|
|
44
|
-
result.item.forEach(
|
|
45
|
-
|
|
43
|
+
result.item.forEach((c, index, collectionArray) => {
|
|
44
|
+
const array = collectionArray;
|
|
46
45
|
array[index] = applyToComponentTree(c, callback);
|
|
47
46
|
});
|
|
48
47
|
break;
|
|
@@ -52,12 +51,10 @@ var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
|
52
51
|
break;
|
|
53
52
|
}
|
|
54
53
|
result.data = _objectSpread({}, root.data);
|
|
55
|
-
result.data.options = root.data.options.map(
|
|
56
|
-
|
|
54
|
+
result.data.options = root.data.options.map(option => {
|
|
55
|
+
const newOption = _objectSpread({}, option);
|
|
57
56
|
if (option.nested) {
|
|
58
|
-
newOption.nested = option.nested.map(
|
|
59
|
-
return applyToComponentTree(c, callback);
|
|
60
|
-
});
|
|
57
|
+
newOption.nested = option.nested.map(c => applyToComponentTree(c, callback));
|
|
61
58
|
}
|
|
62
59
|
return newOption;
|
|
63
60
|
});
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _applyToComponentTree = _interopRequireDefault(require("./applyToComponentTree"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
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
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
5
|
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; }
|
|
7
6
|
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; }
|
|
8
|
-
function _defineProperty(
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
11
|
-
describe('utils.Component.applyToComponentTree',
|
|
12
|
-
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports.
|
|
10
|
+
describe('utils.Component.applyToComponentTree', () => {
|
|
11
|
+
const SINGLE_COMP = {
|
|
13
12
|
type: 'text',
|
|
14
13
|
label: 'alpha'
|
|
15
14
|
};
|
|
16
|
-
|
|
15
|
+
const CONTAINER = {
|
|
17
16
|
type: 'container',
|
|
18
17
|
label: 'bravo',
|
|
19
18
|
components: [{
|
|
@@ -21,7 +20,7 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
21
20
|
label: 'charlie'
|
|
22
21
|
}]
|
|
23
22
|
};
|
|
24
|
-
|
|
23
|
+
const COLLECTION = {
|
|
25
24
|
type: 'collection',
|
|
26
25
|
label: 'delta',
|
|
27
26
|
item: [{
|
|
@@ -29,7 +28,7 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
29
28
|
label: 'echo'
|
|
30
29
|
}]
|
|
31
30
|
};
|
|
32
|
-
|
|
31
|
+
const COMP_WITH_NESTED = {
|
|
33
32
|
type: 'radios',
|
|
34
33
|
label: 'foxtrot',
|
|
35
34
|
data: {
|
|
@@ -46,44 +45,42 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
46
45
|
}]
|
|
47
46
|
}
|
|
48
47
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
it('should return null when root is undefined', function () {
|
|
55
|
-
var result = (0, _applyToComponentTree.default)(undefined, CALLBACK);
|
|
48
|
+
const CALLBACK = component => _objectSpread(_objectSpread({}, component), {}, {
|
|
49
|
+
label: component.label.toUpperCase()
|
|
50
|
+
});
|
|
51
|
+
it('should return null when root is undefined', () => {
|
|
52
|
+
const result = (0, _applyToComponentTree.default)(undefined, CALLBACK);
|
|
56
53
|
expect(result).toEqual(null);
|
|
57
54
|
});
|
|
58
|
-
it('should return null when root is null',
|
|
59
|
-
|
|
55
|
+
it('should return null when root is null', () => {
|
|
56
|
+
const result = (0, _applyToComponentTree.default)(null, CALLBACK);
|
|
60
57
|
expect(result).toEqual(null);
|
|
61
58
|
});
|
|
62
|
-
it('should return root when callback is undefined',
|
|
63
|
-
|
|
59
|
+
it('should return root when callback is undefined', () => {
|
|
60
|
+
const result = (0, _applyToComponentTree.default)({
|
|
64
61
|
type: 'text'
|
|
65
62
|
}, undefined);
|
|
66
63
|
expect(result).toEqual({
|
|
67
64
|
type: 'text'
|
|
68
65
|
});
|
|
69
66
|
});
|
|
70
|
-
it('should return root when callback is null',
|
|
71
|
-
|
|
67
|
+
it('should return root when callback is null', () => {
|
|
68
|
+
const result = (0, _applyToComponentTree.default)({
|
|
72
69
|
type: 'text'
|
|
73
70
|
}, null);
|
|
74
71
|
expect(result).toEqual({
|
|
75
72
|
type: 'text'
|
|
76
73
|
});
|
|
77
74
|
});
|
|
78
|
-
it('should correctly call callback on a single component',
|
|
79
|
-
|
|
75
|
+
it('should correctly call callback on a single component', () => {
|
|
76
|
+
const result = (0, _applyToComponentTree.default)(SINGLE_COMP, CALLBACK);
|
|
80
77
|
expect(result).toEqual({
|
|
81
78
|
type: 'text',
|
|
82
79
|
label: 'ALPHA'
|
|
83
80
|
});
|
|
84
81
|
});
|
|
85
|
-
it('should correctly call callback on a container component',
|
|
86
|
-
|
|
82
|
+
it('should correctly call callback on a container component', () => {
|
|
83
|
+
const result = (0, _applyToComponentTree.default)(CONTAINER, CALLBACK);
|
|
87
84
|
expect(result).toEqual({
|
|
88
85
|
type: 'container',
|
|
89
86
|
label: 'BRAVO',
|
|
@@ -93,8 +90,8 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
93
90
|
}]
|
|
94
91
|
});
|
|
95
92
|
});
|
|
96
|
-
it('should correctly call callback on a collection component',
|
|
97
|
-
|
|
93
|
+
it('should correctly call callback on a collection component', () => {
|
|
94
|
+
const result = (0, _applyToComponentTree.default)(COLLECTION, CALLBACK);
|
|
98
95
|
expect(result).toEqual({
|
|
99
96
|
type: 'collection',
|
|
100
97
|
label: 'DELTA',
|
|
@@ -104,8 +101,8 @@ describe('utils.Component.applyToComponentTree', function () {
|
|
|
104
101
|
}]
|
|
105
102
|
});
|
|
106
103
|
});
|
|
107
|
-
it('should correctly call callback on a component with nested components',
|
|
108
|
-
|
|
104
|
+
it('should correctly call callback on a component with nested components', () => {
|
|
105
|
+
const result = (0, _applyToComponentTree.default)(COMP_WITH_NESTED, CALLBACK);
|
|
109
106
|
expect(result).toEqual({
|
|
110
107
|
type: 'radios',
|
|
111
108
|
label: 'FOXTROT',
|
|
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.JSON_ONLY_PROPERTIES = void 0;
|
|
7
7
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
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(
|
|
10
|
-
function _toPropertyKey(
|
|
11
|
-
function _toPrimitive(
|
|
12
|
-
|
|
13
|
-
var JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 'show_when', 'options', 'additionalValidation', 'full_path', 'fullPath', 'formData'];
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
|
+
const JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 'show_when', 'options', 'additionalValidation', 'full_path', 'fullPath', 'formData'];
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* This method removes and properties that are entirely specific to the JSON
|
|
@@ -23,13 +22,15 @@ var JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 'sho
|
|
|
23
22
|
* @param {Array} alsoRemove An array of additional properties to remove.
|
|
24
23
|
* @returns A clean(er) JSON object.
|
|
25
24
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (options &&
|
|
30
|
-
return Object.keys(options).reduce(
|
|
25
|
+
const cleanAttributes = function (options) {
|
|
26
|
+
let alsoRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
27
|
+
const removeKeys = Array.isArray(alsoRemove) ? [].concat(JSON_ONLY_PROPERTIES, alsoRemove) : JSON_ONLY_PROPERTIES;
|
|
28
|
+
if (options && typeof options === 'object') {
|
|
29
|
+
return Object.keys(options).reduce((obj, key) => {
|
|
31
30
|
if (!removeKeys.includes(key)) {
|
|
32
|
-
return _objectSpread(_objectSpread({}, obj), {},
|
|
31
|
+
return _objectSpread(_objectSpread({}, obj), {}, {
|
|
32
|
+
[key]: options[key]
|
|
33
|
+
});
|
|
33
34
|
}
|
|
34
35
|
;
|
|
35
36
|
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');
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _Data = _interopRequireDefault(require("../Data"));
|
|
8
8
|
var _optionIsSelected = _interopRequireDefault(require("./optionIsSelected"));
|
|
9
9
|
var _showComponent = _interopRequireDefault(require("./showComponent"));
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
/**
|
|
12
12
|
* Iterates over an array of components and brings any nested
|
|
13
13
|
* components that should be visible into the top level array.
|
|
@@ -34,17 +34,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
34
34
|
* @returns A new array consisting of components interspersed
|
|
35
35
|
* with any visible nested components.
|
|
36
36
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
components === null || components === void 0 || components.forEach(
|
|
37
|
+
const elevateNestedComponents = (components, data) => {
|
|
38
|
+
let allComponents = [];
|
|
39
|
+
components === null || components === void 0 || components.forEach(component => {
|
|
40
40
|
allComponents.push(component);
|
|
41
41
|
// If the component wasn't shown we shouldn't elevate anything nested under it
|
|
42
42
|
if ((0, _showComponent.default)(component, data)) {
|
|
43
43
|
var _component$data;
|
|
44
|
-
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(
|
|
44
|
+
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(option => {
|
|
45
45
|
// If this option has nested components and is
|
|
46
46
|
// selected, then add its nested components to the array.
|
|
47
|
-
|
|
47
|
+
const sourceData = (data === null || data === void 0 ? void 0 : data[component.id]) || _Data.default.getSource(data, component.full_path);
|
|
48
48
|
// If the specific option wasn't shown we shouldn't elevate anything nested under it
|
|
49
49
|
if (Array.isArray(option.nested) && (0, _optionIsSelected.default)(sourceData, option) && (0, _showComponent.default)(option, data)) {
|
|
50
50
|
allComponents = allComponents.concat(option.nested);
|