@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.12.0
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 +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
- package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
- package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +57 -48
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +156 -112
- package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
- package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
- package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +73 -70
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- 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 +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- 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 +93 -66
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- 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 +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +39 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- 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 +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +44 -44
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- 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 +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/json/actions.json +17 -0
- package/dist/json/actionsNoSave.json +17 -0
- 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 +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- 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 +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/deleteValues.js +22 -0
- package/dist/utils/Data/deleteValues.test.js +57 -0
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +31 -24
- package/dist/utils/Data/getOptions.test.js +53 -35
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +3 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- 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 +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- 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 +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- 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/deleteValueInFormData.js +26 -0
- package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
- 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 +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +11 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- 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 +27 -21
- 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 +10 -7
- package/dist/utils/Validate/additional/index.test.js +78 -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 +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- 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/mustBeOneOf.js +21 -0
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
- 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 +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- 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 +4 -3
- 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 +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -4,50 +4,50 @@ var _addShowWhen = _interopRequireDefault(require("./addShowWhen"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.Component.addShowWhen', ()
|
|
8
|
-
|
|
7
|
+
describe('utils.Component.addShowWhen', function () {
|
|
8
|
+
var 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', function () {
|
|
14
|
+
var 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', function () {
|
|
18
|
+
var 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', function () {
|
|
22
|
+
var COMPONENT = {
|
|
23
23
|
alpha: 'bravo'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
var 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', function () {
|
|
31
|
+
var COMPONENT = {
|
|
32
32
|
alpha: 'bravo'
|
|
33
33
|
};
|
|
34
|
-
|
|
34
|
+
var 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', function () {
|
|
40
|
+
var COMPONENT = {
|
|
41
41
|
alpha: 'bravo'
|
|
42
42
|
};
|
|
43
|
-
|
|
43
|
+
var 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', function () {
|
|
50
|
+
var NEW_ARRAY_SHOW_WHEN = [{
|
|
51
51
|
field: 'abc',
|
|
52
52
|
op: '=',
|
|
53
53
|
value: 'bcd'
|
|
@@ -56,17 +56,17 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
56
56
|
op: '=',
|
|
57
57
|
value: 'efg'
|
|
58
58
|
}];
|
|
59
|
-
|
|
59
|
+
var COMPONENT = {
|
|
60
60
|
alpha: 'bravo'
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
var 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', function () {
|
|
69
|
+
var COMPONENT = {
|
|
70
70
|
alpha: 'bravo',
|
|
71
71
|
show_when: {
|
|
72
72
|
field: 'abc',
|
|
@@ -74,7 +74,7 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
74
74
|
value: 'bcd'
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
var 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', () => {
|
|
|
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', function () {
|
|
88
|
+
var COMPONENT = {
|
|
89
89
|
alpha: 'bravo',
|
|
90
90
|
show_when: [{
|
|
91
91
|
field: 'abc',
|
|
@@ -97,7 +97,7 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
97
97
|
value: 'efg'
|
|
98
98
|
}]
|
|
99
99
|
};
|
|
100
|
-
|
|
100
|
+
var 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', () => {
|
|
|
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', function () {
|
|
115
|
+
var COMPONENT = {
|
|
116
116
|
alpha: 'bravo'
|
|
117
117
|
};
|
|
118
|
-
|
|
118
|
+
var SHOW_WHEN_OR = {
|
|
119
119
|
type: 'or',
|
|
120
120
|
condition: [{
|
|
121
121
|
field: 'field1',
|
|
@@ -127,14 +127,14 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
127
127
|
value: 2
|
|
128
128
|
}]
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
var 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', function () {
|
|
137
|
+
var NEW_ARRAY_SHOW_WHEN = [{
|
|
138
138
|
field: 'hij',
|
|
139
139
|
op: '=',
|
|
140
140
|
value: 'klm'
|
|
@@ -143,7 +143,7 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
143
143
|
op: '=',
|
|
144
144
|
value: 'qrs'
|
|
145
145
|
}];
|
|
146
|
-
|
|
146
|
+
var COMPONENT = {
|
|
147
147
|
alpha: 'bravo',
|
|
148
148
|
show_when: [{
|
|
149
149
|
field: 'abc',
|
|
@@ -155,7 +155,7 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
155
155
|
value: 'efg'
|
|
156
156
|
}]
|
|
157
157
|
};
|
|
158
|
-
|
|
158
|
+
var 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', () => {
|
|
|
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', function () {
|
|
181
|
+
var NEW_ARRAY_SHOW_WHEN = [{
|
|
182
182
|
field: 'hij',
|
|
183
183
|
op: '=',
|
|
184
184
|
value: 'klm'
|
|
@@ -187,7 +187,7 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
187
187
|
op: '=',
|
|
188
188
|
value: 'qrs'
|
|
189
189
|
}];
|
|
190
|
-
|
|
190
|
+
var COMPONENT = {
|
|
191
191
|
alpha: 'bravo',
|
|
192
192
|
show_when: {
|
|
193
193
|
field: 'abc',
|
|
@@ -195,7 +195,7 @@ describe('utils.Component.addShowWhen', () => {
|
|
|
195
195
|
value: 'bcd'
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
|
-
|
|
198
|
+
var result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
199
199
|
expect(result).toEqual({
|
|
200
200
|
alpha: 'bravo',
|
|
201
201
|
show_when: [{
|
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
|
|
9
|
-
|
|
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
|
+
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
|
+
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.
|
|
10
14
|
/**
|
|
11
15
|
* Call a callback on a component and all of its child/nested components.
|
|
12
16
|
* At each stage, the value of the component is set to the returned value
|
|
@@ -20,7 +24,7 @@ var _models = require("../../models");
|
|
|
20
24
|
* null if root is not valid.
|
|
21
25
|
* root if callback is not valid.
|
|
22
26
|
*/
|
|
23
|
-
|
|
27
|
+
var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
24
28
|
var _root$data;
|
|
25
29
|
if (!root) {
|
|
26
30
|
return null;
|
|
@@ -28,19 +32,17 @@ const applyToComponentTree = (root, callback) => {
|
|
|
28
32
|
if (!callback) {
|
|
29
33
|
return root;
|
|
30
34
|
}
|
|
31
|
-
|
|
32
|
-
...root
|
|
33
|
-
};
|
|
35
|
+
var result = _objectSpread({}, root);
|
|
34
36
|
switch (root.type) {
|
|
35
37
|
case _models.ComponentTypes.CONTAINER:
|
|
36
|
-
result.components.forEach((c, index, containerArray)
|
|
37
|
-
|
|
38
|
+
result.components.forEach(function (c, index, containerArray) {
|
|
39
|
+
var array = containerArray;
|
|
38
40
|
array[index] = applyToComponentTree(c, callback);
|
|
39
41
|
});
|
|
40
42
|
break;
|
|
41
43
|
case _models.ComponentTypes.COLLECTION:
|
|
42
|
-
result.item.forEach((c, index, collectionArray)
|
|
43
|
-
|
|
44
|
+
result.item.forEach(function (c, index, collectionArray) {
|
|
45
|
+
var array = collectionArray;
|
|
44
46
|
array[index] = applyToComponentTree(c, callback);
|
|
45
47
|
});
|
|
46
48
|
break;
|
|
@@ -49,15 +51,13 @@ const applyToComponentTree = (root, callback) => {
|
|
|
49
51
|
if (!((_root$data = root.data) !== null && _root$data !== void 0 && _root$data.options)) {
|
|
50
52
|
break;
|
|
51
53
|
}
|
|
52
|
-
result.data = {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
result.data.options = root.data.options.map(option => {
|
|
56
|
-
const newOption = {
|
|
57
|
-
...option
|
|
58
|
-
};
|
|
54
|
+
result.data = _objectSpread({}, root.data);
|
|
55
|
+
result.data.options = root.data.options.map(function (option) {
|
|
56
|
+
var newOption = _objectSpread({}, option);
|
|
59
57
|
if (option.nested) {
|
|
60
|
-
newOption.nested = option.nested.map(
|
|
58
|
+
newOption.nested = option.nested.map(function (c) {
|
|
59
|
+
return applyToComponentTree(c, callback);
|
|
60
|
+
});
|
|
61
61
|
}
|
|
62
62
|
return newOption;
|
|
63
63
|
});
|
|
@@ -2,14 +2,18 @@
|
|
|
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
|
-
|
|
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); }
|
|
6
|
+
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
|
+
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(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; }
|
|
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 = {
|
|
9
13
|
type: 'text',
|
|
10
14
|
label: 'alpha'
|
|
11
15
|
};
|
|
12
|
-
|
|
16
|
+
var CONTAINER = {
|
|
13
17
|
type: 'container',
|
|
14
18
|
label: 'bravo',
|
|
15
19
|
components: [{
|
|
@@ -17,7 +21,7 @@ describe('utils.Component.applyToComponentTree', () => {
|
|
|
17
21
|
label: 'charlie'
|
|
18
22
|
}]
|
|
19
23
|
};
|
|
20
|
-
|
|
24
|
+
var COLLECTION = {
|
|
21
25
|
type: 'collection',
|
|
22
26
|
label: 'delta',
|
|
23
27
|
item: [{
|
|
@@ -25,7 +29,7 @@ describe('utils.Component.applyToComponentTree', () => {
|
|
|
25
29
|
label: 'echo'
|
|
26
30
|
}]
|
|
27
31
|
};
|
|
28
|
-
|
|
32
|
+
var COMP_WITH_NESTED = {
|
|
29
33
|
type: 'radios',
|
|
30
34
|
label: 'foxtrot',
|
|
31
35
|
data: {
|
|
@@ -42,43 +46,44 @@ describe('utils.Component.applyToComponentTree', () => {
|
|
|
42
46
|
}]
|
|
43
47
|
}
|
|
44
48
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
var CALLBACK = function CALLBACK(component) {
|
|
50
|
+
return _objectSpread(_objectSpread({}, component), {}, {
|
|
51
|
+
label: component.label.toUpperCase()
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
it('should return null when root is undefined', function () {
|
|
55
|
+
var result = (0, _applyToComponentTree.default)(undefined, CALLBACK);
|
|
51
56
|
expect(result).toEqual(null);
|
|
52
57
|
});
|
|
53
|
-
it('should return null when root is null', ()
|
|
54
|
-
|
|
58
|
+
it('should return null when root is null', function () {
|
|
59
|
+
var result = (0, _applyToComponentTree.default)(null, CALLBACK);
|
|
55
60
|
expect(result).toEqual(null);
|
|
56
61
|
});
|
|
57
|
-
it('should return root when callback is undefined', ()
|
|
58
|
-
|
|
62
|
+
it('should return root when callback is undefined', function () {
|
|
63
|
+
var result = (0, _applyToComponentTree.default)({
|
|
59
64
|
type: 'text'
|
|
60
65
|
}, undefined);
|
|
61
66
|
expect(result).toEqual({
|
|
62
67
|
type: 'text'
|
|
63
68
|
});
|
|
64
69
|
});
|
|
65
|
-
it('should return root when callback is null', ()
|
|
66
|
-
|
|
70
|
+
it('should return root when callback is null', function () {
|
|
71
|
+
var result = (0, _applyToComponentTree.default)({
|
|
67
72
|
type: 'text'
|
|
68
73
|
}, null);
|
|
69
74
|
expect(result).toEqual({
|
|
70
75
|
type: 'text'
|
|
71
76
|
});
|
|
72
77
|
});
|
|
73
|
-
it('should correctly call callback on a single component', ()
|
|
74
|
-
|
|
78
|
+
it('should correctly call callback on a single component', function () {
|
|
79
|
+
var result = (0, _applyToComponentTree.default)(SINGLE_COMP, CALLBACK);
|
|
75
80
|
expect(result).toEqual({
|
|
76
81
|
type: 'text',
|
|
77
82
|
label: 'ALPHA'
|
|
78
83
|
});
|
|
79
84
|
});
|
|
80
|
-
it('should correctly call callback on a container component', ()
|
|
81
|
-
|
|
85
|
+
it('should correctly call callback on a container component', function () {
|
|
86
|
+
var result = (0, _applyToComponentTree.default)(CONTAINER, CALLBACK);
|
|
82
87
|
expect(result).toEqual({
|
|
83
88
|
type: 'container',
|
|
84
89
|
label: 'BRAVO',
|
|
@@ -88,8 +93,8 @@ describe('utils.Component.applyToComponentTree', () => {
|
|
|
88
93
|
}]
|
|
89
94
|
});
|
|
90
95
|
});
|
|
91
|
-
it('should correctly call callback on a collection component', ()
|
|
92
|
-
|
|
96
|
+
it('should correctly call callback on a collection component', function () {
|
|
97
|
+
var result = (0, _applyToComponentTree.default)(COLLECTION, CALLBACK);
|
|
93
98
|
expect(result).toEqual({
|
|
94
99
|
type: 'collection',
|
|
95
100
|
label: 'DELTA',
|
|
@@ -99,8 +104,8 @@ describe('utils.Component.applyToComponentTree', () => {
|
|
|
99
104
|
}]
|
|
100
105
|
});
|
|
101
106
|
});
|
|
102
|
-
it('should correctly call callback on a component with nested components', ()
|
|
103
|
-
|
|
107
|
+
it('should correctly call callback on a component with nested components', function () {
|
|
108
|
+
var result = (0, _applyToComponentTree.default)(COMP_WITH_NESTED, CALLBACK);
|
|
104
109
|
expect(result).toEqual({
|
|
105
110
|
type: 'radios',
|
|
106
111
|
label: 'FOXTROT',
|
|
@@ -4,7 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
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
|
+
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'];
|
|
8
14
|
|
|
9
15
|
/**
|
|
10
16
|
* This method removes and properties that are entirely specific to the JSON
|
|
@@ -17,16 +23,13 @@ const JSON_ONLY_PROPERTIES = exports.JSON_ONLY_PROPERTIES = ['source', 'use', 's
|
|
|
17
23
|
* @param {Array} alsoRemove An array of additional properties to remove.
|
|
18
24
|
* @returns A clean(er) JSON object.
|
|
19
25
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (options &&
|
|
24
|
-
return Object.keys(options).reduce((obj, key)
|
|
26
|
+
var cleanAttributes = function cleanAttributes(options) {
|
|
27
|
+
var alsoRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
28
|
+
var removeKeys = Array.isArray(alsoRemove) ? [].concat(JSON_ONLY_PROPERTIES, alsoRemove) : JSON_ONLY_PROPERTIES;
|
|
29
|
+
if (options && _typeof(options) === 'object') {
|
|
30
|
+
return Object.keys(options).reduce(function (obj, key) {
|
|
25
31
|
if (!removeKeys.includes(key)) {
|
|
26
|
-
return {
|
|
27
|
-
...obj,
|
|
28
|
-
[key]: options[key]
|
|
29
|
-
};
|
|
32
|
+
return _objectSpread(_objectSpread({}, obj), {}, _defineProperty({}, key, options[key]));
|
|
30
33
|
}
|
|
31
34
|
;
|
|
32
35
|
return obj;
|
|
@@ -1,34 +1,35 @@
|
|
|
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); }
|
|
3
4
|
var _cleanAttributes = _interopRequireWildcard(require("./cleanAttributes"));
|
|
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" !=
|
|
5
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
6
|
+
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 && Object.prototype.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; }
|
|
6
7
|
// Local imports
|
|
7
8
|
|
|
8
|
-
describe('utils', ()
|
|
9
|
-
describe('Component', ()
|
|
10
|
-
describe('clean', ()
|
|
11
|
-
it('should handle null options', ()
|
|
9
|
+
describe('utils', function () {
|
|
10
|
+
describe('Component', function () {
|
|
11
|
+
describe('clean', function () {
|
|
12
|
+
it('should handle null options', function () {
|
|
12
13
|
expect((0, _cleanAttributes.default)(null)).toEqual({});
|
|
13
14
|
});
|
|
14
|
-
it('should handle undefined options', ()
|
|
15
|
+
it('should handle undefined options', function () {
|
|
15
16
|
expect((0, _cleanAttributes.default)(undefined)).toEqual({});
|
|
16
17
|
});
|
|
17
|
-
it('should handle empty options', ()
|
|
18
|
+
it('should handle empty options', function () {
|
|
18
19
|
expect((0, _cleanAttributes.default)({}, null)).toEqual({});
|
|
19
20
|
});
|
|
20
|
-
it('should handle a non-object options', ()
|
|
21
|
+
it('should handle a non-object options', function () {
|
|
21
22
|
expect((0, _cleanAttributes.default)(23, null)).toEqual({});
|
|
22
23
|
});
|
|
23
|
-
it('should only remove properties specific to JSON', ()
|
|
24
|
-
|
|
24
|
+
it('should only remove properties specific to JSON', function () {
|
|
25
|
+
var OPTIONS = {
|
|
25
26
|
id: 'bob'
|
|
26
27
|
};
|
|
27
28
|
// Add a bunch of properties we know will need to be removed.
|
|
28
|
-
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(p
|
|
29
|
+
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(function (p) {
|
|
29
30
|
OPTIONS[p] = 'value';
|
|
30
31
|
});
|
|
31
|
-
|
|
32
|
+
var RESULT = (0, _cleanAttributes.default)(OPTIONS);
|
|
32
33
|
|
|
33
34
|
// The original options should remain untouched.
|
|
34
35
|
expect(OPTIONS.id).toEqual('bob');
|
|
@@ -40,16 +41,16 @@ describe('utils', () => {
|
|
|
40
41
|
id: 'bob'
|
|
41
42
|
});
|
|
42
43
|
});
|
|
43
|
-
it('should also remove properties specified in the alsoRemove parameter', ()
|
|
44
|
-
|
|
44
|
+
it('should also remove properties specified in the alsoRemove parameter', function () {
|
|
45
|
+
var OPTIONS = {
|
|
45
46
|
id: 'bob',
|
|
46
47
|
fieldId: 'bobField'
|
|
47
48
|
};
|
|
48
49
|
// Add a bunch of properties we know will need to be removed.
|
|
49
|
-
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(p
|
|
50
|
+
_cleanAttributes.JSON_ONLY_PROPERTIES.forEach(function (p) {
|
|
50
51
|
OPTIONS[p] = 'value';
|
|
51
52
|
});
|
|
52
|
-
|
|
53
|
+
var RESULT = (0, _cleanAttributes.default)(OPTIONS, ['fieldId']);
|
|
53
54
|
|
|
54
55
|
// The original options should remain untouched.
|
|
55
56
|
expect(OPTIONS.id).toEqual('bob');
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _Data = _interopRequireDefault(require("../Data"));
|
|
8
|
+
var _optionIsSelected = _interopRequireDefault(require("./optionIsSelected"));
|
|
8
9
|
var _showComponent = _interopRequireDefault(require("./showComponent"));
|
|
9
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
11
|
/**
|
|
@@ -33,19 +34,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
33
34
|
* @returns A new array consisting of components interspersed
|
|
34
35
|
* with any visible nested components.
|
|
35
36
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
components === null || components === void 0 || components.forEach(component
|
|
37
|
+
var elevateNestedComponents = function elevateNestedComponents(components, data) {
|
|
38
|
+
var allComponents = [];
|
|
39
|
+
components === null || components === void 0 || components.forEach(function (component) {
|
|
39
40
|
allComponents.push(component);
|
|
40
41
|
// If the component wasn't shown we shouldn't elevate anything nested under it
|
|
41
42
|
if ((0, _showComponent.default)(component, data)) {
|
|
42
43
|
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(option
|
|
44
|
+
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(function (option) {
|
|
44
45
|
// If this option has nested components and is
|
|
45
46
|
// selected, then add its nested components to the array.
|
|
46
|
-
|
|
47
|
+
var sourceData = (data === null || data === void 0 ? void 0 : data[component.id]) || _Data.default.getSource(data, component.full_path);
|
|
47
48
|
// If the specific option wasn't shown we shouldn't elevate anything nested under it
|
|
48
|
-
if (Array.isArray(option.nested) && sourceData
|
|
49
|
+
if (Array.isArray(option.nested) && (0, _optionIsSelected.default)(sourceData, option) && (0, _showComponent.default)(option, data)) {
|
|
49
50
|
allComponents = allComponents.concat(option.nested);
|
|
50
51
|
}
|
|
51
52
|
});
|