@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.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 +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +66 -75
- package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
- package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
- package/dist/components/CollectionSummary/Confirmation.js +13 -15
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +63 -46
- package/dist/components/CollectionSummary/RenderListView.scss +9 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +120 -84
- package/dist/components/CollectionSummary/SummaryCard.js +157 -121
- package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
- package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +117 -80
- package/dist/components/FormComponent/Collection.test.js +1082 -910
- package/dist/components/FormComponent/Container.js +38 -43
- package/dist/components/FormComponent/Container.test.js +411 -379
- package/dist/components/FormComponent/FormComponent.js +74 -71
- package/dist/components/FormComponent/FormComponent.test.js +415 -354
- 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 +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- 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 +87 -71
- package/dist/components/FormPage/FormPage.test.js +170 -133
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +198 -153
- package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- 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 +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +54 -61
- package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
- package/dist/components/FormRenderer/onPageAction.js +41 -45
- package/dist/components/FormRenderer/onPageAction.test.js +210 -225
- package/dist/components/FormRenderer/onTaskAction.js +15 -11
- package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
- package/dist/components/PageActions/ActionButton.js +16 -13
- package/dist/components/PageActions/ActionButton.test.js +79 -57
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +116 -87
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +21 -13
- package/dist/components/SummaryList/GroupAction.test.js +37 -41
- package/dist/components/SummaryList/RowAction.js +17 -12
- package/dist/components/SummaryList/RowAction.test.js +37 -41
- package/dist/components/SummaryList/SummaryList.js +28 -23
- package/dist/components/SummaryList/SummaryList.test.js +206 -179
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
- package/dist/components/SummaryList/SummaryListRow.js +6 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +30 -20
- package/dist/components/TaskList/Task.test.js +77 -84
- package/dist/components/TaskList/TaskList.js +84 -53
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +6 -8
- package/dist/components/TaskList/TaskState.test.js +49 -56
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +81 -58
- package/dist/context/HooksContext/HooksContext.test.js +36 -27
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +95 -44
- package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +11 -10
- package/dist/hooks/useAxios.js +41 -15
- package/dist/hooks/useGetRequest.js +98 -62
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +41 -28
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +15 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +32 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
- package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
- package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +20 -19
- package/dist/utils/Component/applyToComponentTree.test.js +33 -28
- 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 +34 -34
- package/dist/utils/Component/getComponent.js +97 -90
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
- package/dist/utils/Component/getDefaultValue.js +9 -7
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +4 -2
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +4 -3
- 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 +31 -20
- 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 +19 -14
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +6 -4
- package/dist/utils/Container/getEditableComponents.test.js +46 -44
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +22 -16
- package/dist/utils/Container/setupNesting.test.js +31 -28
- package/dist/utils/Container/showContainer.js +8 -4
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +50 -40
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +8 -4
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +29 -20
- package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
- package/dist/utils/Data/getDataPath.js +30 -20
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +34 -27
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +81 -85
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +15 -11
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +22 -14
- package/dist/utils/Data/setupFormData.test.js +51 -52
- package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
- package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +17 -16
- package/dist/utils/FormPage/getFormPage.test.js +48 -49
- package/dist/utils/FormPage/getFormPages.js +13 -8
- package/dist/utils/FormPage/getFormPages.test.js +25 -22
- package/dist/utils/FormPage/getPageActions.js +17 -10
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +5 -3
- package/dist/utils/FormPage/showFormPage.js +8 -4
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +80 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +7 -6
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +17 -14
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +32 -29
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +4 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +37 -36
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +28 -22
- 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 +5 -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 +14 -9
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -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 +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- 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 +40 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
- 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 +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
- package/dist/utils/Validate/additional/utils.js +24 -11
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +27 -21
- package/dist/utils/Validate/validateCollection.test.js +77 -85
- package/dist/utils/Validate/validateComponent.js +23 -22
- package/dist/utils/Validate/validateComponent.test.js +165 -188
- package/dist/utils/Validate/validateContainer.js +21 -16
- package/dist/utils/Validate/validateContainer.test.js +56 -62
- package/dist/utils/Validate/validateDate.js +23 -17
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +9 -7
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +24 -20
- package/dist/utils/Validate/validatePage.test.js +215 -227
- package/dist/utils/Validate/validateRegex.js +8 -5
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +7 -5
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +7 -5
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +19 -12
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +10 -8
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getPageId = _interopRequireDefault(require("./getPageId"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
/**
|
|
10
10
|
* Gets the pageId from the invoked CYA action and calls onChange if it is
|
|
11
11
|
* different to the currentPageId.
|
|
@@ -13,8 +13,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
13
13
|
* @param {string} currentPageId The current pageId.
|
|
14
14
|
* @param {Function} onChange The handler to call if the pageId is different to the currentPageId.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
var cyaAction = function cyaAction(page, currentPageId, onChange) {
|
|
17
|
+
var pageId = (0, _getPageId.default)(page.action, page.pageId);
|
|
18
18
|
if (pageId !== currentPageId) {
|
|
19
19
|
onChange(pageId);
|
|
20
20
|
}
|
|
@@ -10,5 +10,7 @@ exports.default = void 0;
|
|
|
10
10
|
* @param {string} pageId The id of the page on which the action was invoked.
|
|
11
11
|
* @returns A page id.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
var getPageId = function getPageId(action, pageId) {
|
|
14
|
+
return (action === null || action === void 0 ? void 0 : action.page) || pageId;
|
|
15
|
+
};
|
|
14
16
|
var _default = exports.default = getPageId;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getPageId = _interopRequireDefault(require("./getPageId"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('components', ()
|
|
8
|
-
describe('FormRenderer', ()
|
|
9
|
-
describe('handlers', ()
|
|
10
|
-
describe('getPageId', ()
|
|
11
|
-
it('should return the pageId when the action is null', ()
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
describe('components', function () {
|
|
8
|
+
describe('FormRenderer', function () {
|
|
9
|
+
describe('handlers', function () {
|
|
10
|
+
describe('getPageId', function () {
|
|
11
|
+
it('should return the pageId when the action is null', function () {
|
|
12
|
+
var PAGE_ID = 'alpha';
|
|
13
|
+
var ACTION = null;
|
|
14
14
|
expect((0, _getPageId.default)(ACTION, PAGE_ID)).toEqual(PAGE_ID);
|
|
15
15
|
});
|
|
16
|
-
it('should return the pageId when the action contains no page', ()
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
it('should return the pageId when the action contains no page', function () {
|
|
17
|
+
var PAGE_ID = 'alpha';
|
|
18
|
+
var ACTION = {
|
|
19
19
|
id: 'bravo'
|
|
20
20
|
};
|
|
21
21
|
expect((0, _getPageId.default)(ACTION, PAGE_ID)).toEqual(PAGE_ID);
|
|
22
22
|
});
|
|
23
|
-
it('should return the page when provided', ()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
it('should return the page when provided', function () {
|
|
24
|
+
var NAVIGATE_TO = 'delta';
|
|
25
|
+
var PAGE_ID = 'alpha';
|
|
26
|
+
var ACTION = {
|
|
27
27
|
page: NAVIGATE_TO
|
|
28
28
|
};
|
|
29
29
|
expect((0, _getPageId.default)(ACTION, PAGE_ID)).toEqual(NAVIGATE_TO);
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _ = _interopRequireDefault(require("."));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('components', ()
|
|
8
|
-
describe('FormRenderer', ()
|
|
9
|
-
describe('handlers', ()
|
|
10
|
-
describe('cyaAction', ()
|
|
11
|
-
it('should not call the onChange method when the page is unchanged', ()
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
describe('components', function () {
|
|
8
|
+
describe('FormRenderer', function () {
|
|
9
|
+
describe('handlers', function () {
|
|
10
|
+
describe('cyaAction', function () {
|
|
11
|
+
it('should not call the onChange method when the page is unchanged', function () {
|
|
12
|
+
var CURRENT_PAGE_ID = 'alpha';
|
|
13
|
+
var PAGE = {
|
|
14
14
|
pageId: CURRENT_PAGE_ID
|
|
15
15
|
};
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
var ON_CHANGE_CALLS = [];
|
|
17
|
+
var ON_CHANGE = function ON_CHANGE(pageId) {
|
|
18
18
|
ON_CHANGE_CALLS.push(pageId);
|
|
19
19
|
};
|
|
20
20
|
_.default.cyaAction(PAGE, CURRENT_PAGE_ID, ON_CHANGE);
|
|
21
21
|
expect(ON_CHANGE_CALLS.length).toEqual(0);
|
|
22
22
|
});
|
|
23
|
-
it('should call the onChange method when the page has changed', ()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
it('should call the onChange method when the page has changed', function () {
|
|
24
|
+
var CURRENT_PAGE_ID = 'alpha';
|
|
25
|
+
var NEW_PAGE_ID = 'bravo';
|
|
26
|
+
var PAGE = {
|
|
27
27
|
pageId: NEW_PAGE_ID
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
var ON_CHANGE_CALLS = [];
|
|
30
|
+
var ON_CHANGE = function ON_CHANGE(pageId) {
|
|
31
31
|
ON_CHANGE_CALLS.push(pageId);
|
|
32
32
|
};
|
|
33
33
|
_.default.cyaAction(PAGE, CURRENT_PAGE_ID, ON_CHANGE);
|
|
@@ -35,27 +35,27 @@ describe('components', () => {
|
|
|
35
35
|
expect(ON_CHANGE_CALLS[0]).toEqual(NEW_PAGE_ID);
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
describe('navigate', ()
|
|
39
|
-
it('should not call the onNavigate method when the page is unchanged', ()
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
describe('navigate', function () {
|
|
39
|
+
it('should not call the onNavigate method when the page is unchanged', function () {
|
|
40
|
+
var CURRENT_PAGE_ID = 'alpha';
|
|
41
|
+
var ACTION = {
|
|
42
42
|
page: CURRENT_PAGE_ID
|
|
43
43
|
};
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
var ON_NAVIGATE_CALLS = [];
|
|
45
|
+
var ON_NAVIGATE = function ON_NAVIGATE(pageId) {
|
|
46
46
|
ON_NAVIGATE_CALLS.push(pageId);
|
|
47
47
|
};
|
|
48
48
|
_.default.navigate(ACTION, CURRENT_PAGE_ID, ON_NAVIGATE);
|
|
49
49
|
expect(ON_NAVIGATE_CALLS.length).toEqual(0);
|
|
50
50
|
});
|
|
51
|
-
it('should call the onNavigate method when the page has changed', ()
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
it('should call the onNavigate method when the page has changed', function () {
|
|
52
|
+
var CURRENT_PAGE_ID = 'alpha';
|
|
53
|
+
var NEW_PAGE_ID = 'bravo';
|
|
54
|
+
var ACTION = {
|
|
55
55
|
page: NEW_PAGE_ID
|
|
56
56
|
};
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
var ON_NAVIGATE_CALLS = [];
|
|
58
|
+
var ON_NAVIGATE = function ON_NAVIGATE(pageId) {
|
|
59
59
|
ON_NAVIGATE_CALLS.push(pageId);
|
|
60
60
|
};
|
|
61
61
|
_.default.navigate(ACTION, CURRENT_PAGE_ID, ON_NAVIGATE);
|
|
@@ -63,13 +63,13 @@ describe('components', () => {
|
|
|
63
63
|
expect(ON_NAVIGATE_CALLS[0]).toEqual(NEW_PAGE_ID);
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
|
-
describe('submissionError', ()
|
|
67
|
-
it('should call the onError method with the same errors', ()
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
describe('submissionError', function () {
|
|
67
|
+
it('should call the onError method with the same errors', function () {
|
|
68
|
+
var ON_ERROR_CALLS = [];
|
|
69
|
+
var ON_ERROR = function ON_ERROR(errors) {
|
|
70
70
|
ON_ERROR_CALLS.push(errors);
|
|
71
71
|
};
|
|
72
|
-
|
|
72
|
+
var ERRORS = ['alpha', 'bravo', 'charlie'];
|
|
73
73
|
_.default.submissionError(ERRORS, ON_ERROR);
|
|
74
74
|
expect(ON_ERROR_CALLS.length).toEqual(1);
|
|
75
75
|
expect(ON_ERROR_CALLS[0]).toEqual(ERRORS);
|
|
@@ -7,8 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
var _cyaAction = _interopRequireDefault(require("./cyaAction"));
|
|
8
8
|
var _navigate = _interopRequireDefault(require("./navigate"));
|
|
9
9
|
var _submissionError = _interopRequireDefault(require("./submissionError"));
|
|
10
|
-
function _interopRequireDefault(
|
|
11
|
-
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
var handlers = {
|
|
12
12
|
cyaAction: _cyaAction.default,
|
|
13
13
|
navigate: _navigate.default,
|
|
14
14
|
submissionError: _submissionError.default
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getPageId = _interopRequireDefault(require("./getPageId"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
/**
|
|
10
10
|
* Gets the pageId from the invoked page action and calls onNavigate if it is
|
|
11
11
|
* different to the currentPageId.
|
|
@@ -14,9 +14,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
14
14
|
* @param {Function} onNavigate The handler to call if the pageId is different to the currentPageId.
|
|
15
15
|
* @param {object|undefined} state State to pass to the handler on change
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
var navigate = function navigate(action, currentPageId, onNavigate) {
|
|
18
|
+
var state = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
|
|
19
|
+
var pageId = (0, _getPageId.default)(action, currentPageId);
|
|
20
20
|
if (pageId !== currentPageId) {
|
|
21
21
|
onNavigate(pageId, state);
|
|
22
22
|
}
|
|
@@ -9,7 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
* @param {Array} errors The errors returned by the backend when submitting.
|
|
10
10
|
* @param {Function} onError The handler to call with the formatted errors.
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
var submissionError = function submissionError(errors, onError) {
|
|
13
13
|
// For now, simply pass them straight through as we don't yet know
|
|
14
14
|
// what the errors will look like.
|
|
15
15
|
onError(errors);
|
|
@@ -14,7 +14,7 @@ exports.default = void 0;
|
|
|
14
14
|
* @param {Array} errors An array of existing errors.
|
|
15
15
|
* @returns A boolean where `true` means the action can proceed and `false` means it cannot.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
var canActionProceed = function canActionProceed(action, page, pageValidator, errors) {
|
|
18
18
|
if (action.validate) {
|
|
19
19
|
if (action.checkPreexistingErrors && errors.length !== 0) {
|
|
20
20
|
return false;
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
var _Validate = _interopRequireDefault(require("../../../utils/Validate"));
|
|
4
4
|
var _canActionProceed = _interopRequireDefault(require("./canActionProceed"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components.FormRenderer.helpers.canActionProceed', ()
|
|
9
|
-
it('should return true when the action does not require validation', ()
|
|
10
|
-
|
|
8
|
+
describe('components.FormRenderer.helpers.canActionProceed', function () {
|
|
9
|
+
it('should return true when the action does not require validation', function () {
|
|
10
|
+
var ACTION = {
|
|
11
11
|
validate: false
|
|
12
12
|
};
|
|
13
13
|
expect((0, _canActionProceed.default)(ACTION, {}, _Validate.default.page)).toBeTruthy();
|
|
14
14
|
});
|
|
15
|
-
it('should return true when the page is valid', ()
|
|
16
|
-
|
|
15
|
+
it('should return true when the page is valid', function () {
|
|
16
|
+
var ACTION = {
|
|
17
17
|
validate: true
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
var PAGE = {
|
|
20
20
|
components: [{
|
|
21
21
|
id: 'a',
|
|
22
22
|
fieldId: 'a',
|
|
@@ -29,11 +29,11 @@ describe('components.FormRenderer.helpers.canActionProceed', () => {
|
|
|
29
29
|
};
|
|
30
30
|
expect((0, _canActionProceed.default)(ACTION, PAGE, _Validate.default.page, [])).toBeTruthy();
|
|
31
31
|
});
|
|
32
|
-
it('should return false when the page is invalid', ()
|
|
33
|
-
|
|
32
|
+
it('should return false when the page is invalid', function () {
|
|
33
|
+
var ACTION = {
|
|
34
34
|
validate: true
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
var PAGE = {
|
|
37
37
|
components: [{
|
|
38
38
|
id: 'a',
|
|
39
39
|
fieldId: 'a',
|
|
@@ -44,12 +44,12 @@ describe('components.FormRenderer.helpers.canActionProceed', () => {
|
|
|
44
44
|
};
|
|
45
45
|
expect((0, _canActionProceed.default)(ACTION, PAGE, _Validate.default.page, [])).toBeFalsy();
|
|
46
46
|
});
|
|
47
|
-
it('should return false when the action has checkPreexistingErrors and errors is not empty', ()
|
|
48
|
-
|
|
47
|
+
it('should return false when the action has checkPreexistingErrors and errors is not empty', function () {
|
|
48
|
+
var ACTION = {
|
|
49
49
|
validate: true,
|
|
50
50
|
checkPreexistingErrors: true
|
|
51
51
|
};
|
|
52
|
-
|
|
52
|
+
var PAGE = {
|
|
53
53
|
components: [{
|
|
54
54
|
id: 'a',
|
|
55
55
|
fieldId: 'a',
|
|
@@ -62,12 +62,12 @@ describe('components.FormRenderer.helpers.canActionProceed', () => {
|
|
|
62
62
|
};
|
|
63
63
|
expect((0, _canActionProceed.default)(ACTION, PAGE, _Validate.default.page, ['anError'])).toBeFalsy();
|
|
64
64
|
});
|
|
65
|
-
it('should return true when the action has checkPreexistingErrors and errors is empty', ()
|
|
66
|
-
|
|
65
|
+
it('should return true when the action has checkPreexistingErrors and errors is empty', function () {
|
|
66
|
+
var ACTION = {
|
|
67
67
|
validate: true,
|
|
68
68
|
checkPreexistingErrors: true
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
var PAGE = {
|
|
71
71
|
components: [{
|
|
72
72
|
id: 'a',
|
|
73
73
|
fieldId: 'a',
|
|
@@ -12,5 +12,7 @@ exports.default = void 0;
|
|
|
12
12
|
* @param {Function} pagesValidator A function to validate the page.
|
|
13
13
|
* @returns A boolean where `true` means the CYA can submit and `false` means it cannot.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
var canCYASubmit = function canCYASubmit(pages, pagesValidator) {
|
|
16
|
+
return pagesValidator(pages).length === 0;
|
|
17
|
+
};
|
|
16
18
|
var _default = exports.default = canCYASubmit;
|
|
@@ -2,31 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
var _Validate = _interopRequireDefault(require("../../../utils/Validate"));
|
|
4
4
|
var _canCYASubmit = _interopRequireDefault(require("./canCYASubmit"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components.FormRenderer.helpers.canCYASubmit', ()
|
|
9
|
-
|
|
8
|
+
describe('components.FormRenderer.helpers.canCYASubmit', function () {
|
|
9
|
+
var ALPHA = {
|
|
10
10
|
id: 'a',
|
|
11
11
|
fieldId: 'a',
|
|
12
12
|
label: 'Alpha',
|
|
13
13
|
required: true
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
var CHARLIE = {
|
|
16
16
|
id: 'c',
|
|
17
17
|
fieldId: 'c',
|
|
18
18
|
label: 'Charlie',
|
|
19
19
|
required: true
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
var validatePages = function validatePages(pages) {
|
|
22
|
+
return pages.flatMap(function (page) {
|
|
23
|
+
return _Validate.default.page(page);
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
it('should return true when all pages are valid', function () {
|
|
27
|
+
var PAGE_1 = {
|
|
24
28
|
components: [ALPHA],
|
|
25
29
|
formData: {
|
|
26
30
|
a: 'Bravo'
|
|
27
31
|
}
|
|
28
32
|
};
|
|
29
|
-
|
|
33
|
+
var PAGE_2 = {
|
|
30
34
|
components: [CHARLIE],
|
|
31
35
|
formData: {
|
|
32
36
|
c: 'Delta'
|
|
@@ -34,12 +38,12 @@ describe('components.FormRenderer.helpers.canCYASubmit', () => {
|
|
|
34
38
|
};
|
|
35
39
|
expect((0, _canCYASubmit.default)([PAGE_1, PAGE_2], validatePages)).toBeTruthy();
|
|
36
40
|
});
|
|
37
|
-
it('should return false when the first page is invalid', ()
|
|
38
|
-
|
|
41
|
+
it('should return false when the first page is invalid', function () {
|
|
42
|
+
var PAGE_1 = {
|
|
39
43
|
components: [ALPHA],
|
|
40
44
|
formData: {}
|
|
41
45
|
};
|
|
42
|
-
|
|
46
|
+
var PAGE_2 = {
|
|
43
47
|
components: [CHARLIE],
|
|
44
48
|
formData: {
|
|
45
49
|
c: 'Delta'
|
|
@@ -47,25 +51,25 @@ describe('components.FormRenderer.helpers.canCYASubmit', () => {
|
|
|
47
51
|
};
|
|
48
52
|
expect((0, _canCYASubmit.default)([PAGE_1, PAGE_2], validatePages)).toBeFalsy();
|
|
49
53
|
});
|
|
50
|
-
it('should return false when the second page is invalid', ()
|
|
51
|
-
|
|
54
|
+
it('should return false when the second page is invalid', function () {
|
|
55
|
+
var PAGE_1 = {
|
|
52
56
|
components: [ALPHA],
|
|
53
57
|
formData: {
|
|
54
58
|
a: 'Bravo'
|
|
55
59
|
}
|
|
56
60
|
};
|
|
57
|
-
|
|
61
|
+
var PAGE_2 = {
|
|
58
62
|
components: [CHARLIE],
|
|
59
63
|
formData: {}
|
|
60
64
|
};
|
|
61
65
|
expect((0, _canCYASubmit.default)([PAGE_1, PAGE_2], validatePages)).toBeFalsy();
|
|
62
66
|
});
|
|
63
|
-
it('should return false when the both pages are invalid', ()
|
|
64
|
-
|
|
67
|
+
it('should return false when the both pages are invalid', function () {
|
|
68
|
+
var PAGE_1 = {
|
|
65
69
|
components: [ALPHA],
|
|
66
70
|
formData: {}
|
|
67
71
|
};
|
|
68
|
-
|
|
72
|
+
var PAGE_2 = {
|
|
69
73
|
components: [CHARLIE],
|
|
70
74
|
formData: {}
|
|
71
75
|
};
|
|
@@ -8,52 +8,55 @@ var _optionIsSelected = _interopRequireDefault(require("../../../utils/Component
|
|
|
8
8
|
var _getCollectionPageActiveId = _interopRequireDefault(require("../../../utils/CollectionPage/getCollectionPageActiveId"));
|
|
9
9
|
var _getCollectionPageData = _interopRequireDefault(require("../../../utils/CollectionPage/getCollectionPageData"));
|
|
10
10
|
var _setCollectionPageData = _interopRequireDefault(require("../../../utils/CollectionPage/setCollectionPageData"));
|
|
11
|
-
function _interopRequireDefault(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
17
|
+
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
|
|
18
|
+
var parentComponents = ['radios', 'checkboxes'];
|
|
19
|
+
var getActiveIds = function getActiveIds(collectionName, formData) {
|
|
20
|
+
var nameParts = collectionName.split('.');
|
|
21
|
+
var result = {};
|
|
22
|
+
nameParts.forEach(function (part) {
|
|
23
|
+
result["".concat(part, "ActiveId")] = formData["".concat(part, "ActiveId")];
|
|
20
24
|
});
|
|
21
25
|
return result;
|
|
22
26
|
};
|
|
23
27
|
function getIdsToDelete(component, selectedValue) {
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
var _component$data;
|
|
29
|
+
var idsToDelete = [];
|
|
30
|
+
component === null || component === void 0 || (_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(function (option) {
|
|
26
31
|
if (!(0, _optionIsSelected.default)(selectedValue, option) && option.nested) {
|
|
27
|
-
option.nested.forEach(nested
|
|
32
|
+
option.nested.forEach(function (nested) {
|
|
28
33
|
idsToDelete.push(nested.id);
|
|
29
34
|
});
|
|
30
35
|
}
|
|
31
36
|
});
|
|
32
37
|
return idsToDelete;
|
|
33
38
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
page.components.forEach(component
|
|
39
|
+
var cleanHiddenNestedData = function cleanHiddenNestedData(patch, page) {
|
|
40
|
+
var _patch = patch;
|
|
41
|
+
page.components.forEach(function (component) {
|
|
37
42
|
if (!parentComponents.includes(component.type)) {
|
|
38
43
|
return;
|
|
39
44
|
}
|
|
40
|
-
|
|
41
|
-
idsToDelete.forEach(id
|
|
45
|
+
var idsToDelete = getIdsToDelete(component, _patch[component.id]);
|
|
46
|
+
idsToDelete.forEach(function (id) {
|
|
42
47
|
delete _patch[id];
|
|
43
48
|
});
|
|
44
49
|
});
|
|
45
50
|
if (page.collection) {
|
|
46
|
-
_patch = {
|
|
47
|
-
|
|
48
|
-
..._patch
|
|
49
|
-
};
|
|
50
|
-
const collectionData = (0, _getCollectionPageData.default)(page.collection.name, _patch);
|
|
51
|
+
_patch = _objectSpread(_objectSpread({}, getActiveIds(page.collection.name, page.formData)), _patch);
|
|
52
|
+
var collectionData = (0, _getCollectionPageData.default)(page.collection.name, _patch);
|
|
51
53
|
if (collectionData) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
var activeId = (0, _getCollectionPageActiveId.default)(page.collection.name, _patch);
|
|
55
|
+
var modifiedCollection = collectionData.map(function (entry) {
|
|
56
|
+
return entry.id === activeId ? cleanHiddenNestedData(entry, _objectSpread(_objectSpread({}, page), {}, {
|
|
57
|
+
collection: undefined
|
|
58
|
+
})) : entry;
|
|
59
|
+
});
|
|
57
60
|
(0, _setCollectionPageData.default)(page.collection.name, modifiedCollection, _patch);
|
|
58
61
|
}
|
|
59
62
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _cleanHiddenNestedData = _interopRequireDefault(require("./cleanHiddenNestedData"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('components', ()
|
|
8
|
-
describe('FormRenderer', ()
|
|
9
|
-
describe('helpers', ()
|
|
10
|
-
describe('cleanHiddenNestedData', ()
|
|
11
|
-
it('should remove data corresponding to hidden nested components in radios', ()
|
|
12
|
-
|
|
7
|
+
describe('components', function () {
|
|
8
|
+
describe('FormRenderer', function () {
|
|
9
|
+
describe('helpers', function () {
|
|
10
|
+
describe('cleanHiddenNestedData', function () {
|
|
11
|
+
it('should remove data corresponding to hidden nested components in radios', function () {
|
|
12
|
+
var patchRadios = {
|
|
13
13
|
parent: 'option2',
|
|
14
14
|
nested1: 'should not be included',
|
|
15
15
|
nested2: 'should be included'
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
var pageRadios = {
|
|
18
18
|
id: 'page',
|
|
19
19
|
name: 'page',
|
|
20
20
|
title: 'Page',
|
|
@@ -39,17 +39,17 @@ describe('components', () => {
|
|
|
39
39
|
}
|
|
40
40
|
}]
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
var updatedPatchRadios = (0, _cleanHiddenNestedData.default)(patchRadios, pageRadios);
|
|
43
43
|
expect(updatedPatchRadios.nested1).toBeFalsy();
|
|
44
44
|
expect(updatedPatchRadios.nested2).toBeTruthy();
|
|
45
45
|
});
|
|
46
|
-
it('should remove data corresponding to hidden nested components in checkboxes', ()
|
|
47
|
-
|
|
46
|
+
it('should remove data corresponding to hidden nested components in checkboxes', function () {
|
|
47
|
+
var patchCheckboxes = {
|
|
48
48
|
parent: ['option2'],
|
|
49
49
|
nested1: 'should not be included',
|
|
50
50
|
nested2: 'should be included'
|
|
51
51
|
};
|
|
52
|
-
|
|
52
|
+
var pageCheckboxes = {
|
|
53
53
|
id: 'page',
|
|
54
54
|
name: 'page',
|
|
55
55
|
title: 'Page',
|
|
@@ -74,12 +74,12 @@ describe('components', () => {
|
|
|
74
74
|
}
|
|
75
75
|
}]
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
var updatedPatchCheckboxes = (0, _cleanHiddenNestedData.default)(patchCheckboxes, pageCheckboxes);
|
|
78
78
|
expect(updatedPatchCheckboxes.nested1).toBeFalsy();
|
|
79
79
|
expect(updatedPatchCheckboxes.nested2).toBeTruthy();
|
|
80
80
|
});
|
|
81
|
-
it('should remove data corresponding to hidden nested components within the active collection entry', ()
|
|
82
|
-
|
|
81
|
+
it('should remove data corresponding to hidden nested components within the active collection entry', function () {
|
|
82
|
+
var patch = {
|
|
83
83
|
collectionNameActiveId: '456',
|
|
84
84
|
collectionName: [{
|
|
85
85
|
id: '123',
|
|
@@ -93,7 +93,7 @@ describe('components', () => {
|
|
|
93
93
|
nested2: 'should be included'
|
|
94
94
|
}]
|
|
95
95
|
};
|
|
96
|
-
|
|
96
|
+
var page = {
|
|
97
97
|
id: 'page',
|
|
98
98
|
name: 'page',
|
|
99
99
|
title: 'Page',
|
|
@@ -123,14 +123,14 @@ describe('components', () => {
|
|
|
123
123
|
}
|
|
124
124
|
}]
|
|
125
125
|
};
|
|
126
|
-
|
|
126
|
+
var updatedPatch = (0, _cleanHiddenNestedData.default)(patch, page);
|
|
127
127
|
expect(updatedPatch.collectionName[0].nested1).toBeTruthy();
|
|
128
128
|
expect(updatedPatch.collectionName[0].nested2).toBeTruthy();
|
|
129
129
|
expect(updatedPatch.collectionName[1].nested1).toBeFalsy();
|
|
130
130
|
expect(updatedPatch.collectionName[1].nested2).toBeTruthy();
|
|
131
131
|
});
|
|
132
|
-
it('should remove data corresponding to hidden nested components when collection is nested within an entity', ()
|
|
133
|
-
|
|
132
|
+
it('should remove data corresponding to hidden nested components when collection is nested within an entity', function () {
|
|
133
|
+
var patch = {
|
|
134
134
|
collectionNameActiveId: '456',
|
|
135
135
|
entities: [{
|
|
136
136
|
id: '777',
|
|
@@ -147,7 +147,7 @@ describe('components', () => {
|
|
|
147
147
|
}]
|
|
148
148
|
}]
|
|
149
149
|
};
|
|
150
|
-
|
|
150
|
+
var page = {
|
|
151
151
|
id: 'page',
|
|
152
152
|
name: 'page',
|
|
153
153
|
title: 'Page',
|
|
@@ -178,7 +178,7 @@ describe('components', () => {
|
|
|
178
178
|
}
|
|
179
179
|
}]
|
|
180
180
|
};
|
|
181
|
-
|
|
181
|
+
var updatedPatch = (0, _cleanHiddenNestedData.default)(patch, page);
|
|
182
182
|
expect(updatedPatch.entities[0].collectionName[0].nested1).toBeTruthy();
|
|
183
183
|
expect(updatedPatch.entities[0].collectionName[0].nested2).toBeTruthy();
|
|
184
184
|
expect(updatedPatch.entities[0].collectionName[1].nested1).toBeFalsy();
|