@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.90.2
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 +55 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +81 -82
- 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
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
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); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
13
|
/* eslint-disable no-param-reassign */
|
|
8
14
|
|
|
9
15
|
/*
|
|
@@ -22,30 +28,21 @@ exports.default = void 0;
|
|
|
22
28
|
* - The master page for a child collection, with its own array of child pages.
|
|
23
29
|
*/
|
|
24
30
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
formData: {
|
|
36
|
-
...page.formData
|
|
37
|
-
},
|
|
38
|
-
childPages: [page]
|
|
39
|
-
});
|
|
40
|
-
const mergeIntoMasterPage = (page, masterPage) => {
|
|
41
|
-
masterPage.collection = {
|
|
42
|
-
...masterPage.collection,
|
|
43
|
-
...page.collection
|
|
44
|
-
};
|
|
45
|
-
masterPage.formData = {
|
|
46
|
-
...masterPage.formData,
|
|
47
|
-
...page.formData
|
|
31
|
+
var createMasterPage = function createMasterPage(page) {
|
|
32
|
+
return {
|
|
33
|
+
id: page.id,
|
|
34
|
+
name: page.name,
|
|
35
|
+
orderInForm: page.orderInForm,
|
|
36
|
+
collection: _objectSpread({
|
|
37
|
+
masterPage: true
|
|
38
|
+
}, page.collection),
|
|
39
|
+
formData: _objectSpread({}, page.formData),
|
|
40
|
+
childPages: [page]
|
|
48
41
|
};
|
|
42
|
+
};
|
|
43
|
+
var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
|
|
44
|
+
masterPage.collection = _objectSpread(_objectSpread({}, masterPage.collection), page.collection);
|
|
45
|
+
masterPage.formData = _objectSpread(_objectSpread({}, masterPage.formData), page.formData);
|
|
49
46
|
masterPage.childPages = [].concat(masterPage.childPages, [page]);
|
|
50
47
|
};
|
|
51
48
|
|
|
@@ -57,14 +54,14 @@ const mergeIntoMasterPage = (page, masterPage) => {
|
|
|
57
54
|
* @returns true if page belonged to a child collection and was successfully
|
|
58
55
|
* nested. false if it isn't in a child collection or failed to be nested.
|
|
59
56
|
*/
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
var nestUnderParent = function nestUnderParent(childPage, masterPages) {
|
|
58
|
+
var names = childPage.collection.name.split('.');
|
|
62
59
|
if (names.length === 1) {
|
|
63
60
|
return false;
|
|
64
61
|
}
|
|
65
62
|
names.pop();
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
var parentName = names.join('.');
|
|
64
|
+
var parentPage = masterPages[parentName] || null;
|
|
68
65
|
if (!parentPage) {
|
|
69
66
|
// Something had gone wrong if we're here - parent collection pages
|
|
70
67
|
// should always be defined before their children, so the parent master
|
|
@@ -75,7 +72,9 @@ const nestUnderParent = (childPage, masterPages) => {
|
|
|
75
72
|
|
|
76
73
|
// Sort the pages to make sure they're in the same order
|
|
77
74
|
// they were in on the form.
|
|
78
|
-
parentPage.childPages.sort((a, b)
|
|
75
|
+
parentPage.childPages.sort(function (a, b) {
|
|
76
|
+
return a.orderInForm - b.orderInForm;
|
|
77
|
+
});
|
|
79
78
|
return true;
|
|
80
79
|
};
|
|
81
80
|
|
|
@@ -90,15 +89,16 @@ const nestUnderParent = (childPage, masterPages) => {
|
|
|
90
89
|
* @param { array } pages Array of pages in the form.
|
|
91
90
|
* @returns An array of the same pages, with a master page for each collection.
|
|
92
91
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
var mergeCollectionPages = function mergeCollectionPages(pages) {
|
|
93
|
+
var masterPages = {};
|
|
94
|
+
var pagesWithMasters = pages.map(function (page, index) {
|
|
95
|
+
var _page$collection;
|
|
96
96
|
page.orderInForm = index;
|
|
97
|
-
if (page
|
|
97
|
+
if (page !== null && page !== void 0 && (_page$collection = page.collection) !== null && _page$collection !== void 0 && _page$collection.name) {
|
|
98
98
|
if (!masterPages[page.collection.name]) {
|
|
99
99
|
// If no master page exists for this collection.name, then
|
|
100
100
|
// we kick one off using this page as a template.
|
|
101
|
-
|
|
101
|
+
var newMasterPage = createMasterPage(page);
|
|
102
102
|
masterPages[page.collection.name] = newMasterPage;
|
|
103
103
|
return newMasterPage;
|
|
104
104
|
}
|
|
@@ -109,16 +109,21 @@ const mergeCollectionPages = pages => {
|
|
|
109
109
|
return null;
|
|
110
110
|
}
|
|
111
111
|
return page;
|
|
112
|
-
}).filter(
|
|
112
|
+
}).filter(function (page) {
|
|
113
|
+
return !!page;
|
|
114
|
+
});
|
|
113
115
|
|
|
114
116
|
// We nest any child master pages under their parents here to
|
|
115
117
|
// ensure that all parent master pages have been created by the
|
|
116
118
|
// above code first.
|
|
117
|
-
return pagesWithMasters.map(page
|
|
118
|
-
|
|
119
|
+
return pagesWithMasters.map(function (page) {
|
|
120
|
+
var _page$collection2;
|
|
121
|
+
if ((_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.masterPage) {
|
|
119
122
|
return nestUnderParent(page, masterPages) ? null : page;
|
|
120
123
|
}
|
|
121
124
|
return page;
|
|
122
|
-
}).filter(
|
|
125
|
+
}).filter(function (e) {
|
|
126
|
+
return !!e;
|
|
127
|
+
});
|
|
123
128
|
};
|
|
124
129
|
var _default = exports.default = mergeCollectionPages;
|
|
@@ -1,60 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPages"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.CollectionPage.mergeCollectionPages', ()
|
|
8
|
-
|
|
7
|
+
describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
8
|
+
var TEXT_COMP = {
|
|
9
9
|
id: 'testText',
|
|
10
10
|
fieldId: 'testText',
|
|
11
11
|
type: 'text'
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
var DATE_COMP = {
|
|
14
14
|
id: 'testDate',
|
|
15
15
|
fieldId: 'testDate',
|
|
16
16
|
type: 'date'
|
|
17
17
|
};
|
|
18
|
-
it('should return the same array if no pages belong to collections', ()
|
|
19
|
-
|
|
18
|
+
it('should return the same array if no pages belong to collections', function () {
|
|
19
|
+
var PAGES = [{
|
|
20
20
|
id: 'page1'
|
|
21
21
|
}, {
|
|
22
22
|
id: 'page2'
|
|
23
23
|
}];
|
|
24
24
|
expect((0, _mergeCollectionPages.default)(PAGES)).toEqual(PAGES);
|
|
25
25
|
});
|
|
26
|
-
it('should merge
|
|
27
|
-
|
|
28
|
-
id: 'page1',
|
|
29
|
-
title: "title",
|
|
30
|
-
collection: {
|
|
31
|
-
name: 'collection'
|
|
32
|
-
},
|
|
33
|
-
components: [TEXT_COMP],
|
|
34
|
-
cya_link: "test_link"
|
|
35
|
-
}, {
|
|
36
|
-
id: 'page2',
|
|
37
|
-
collection: {
|
|
38
|
-
name: 'collection'
|
|
39
|
-
},
|
|
40
|
-
components: [DATE_COMP]
|
|
41
|
-
}];
|
|
42
|
-
const RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
43
|
-
expect(RESULT.length).toEqual(1);
|
|
44
|
-
expect(RESULT[0]).toMatchObject({
|
|
45
|
-
id: 'page1',
|
|
46
|
-
collection: {
|
|
47
|
-
name: 'collection',
|
|
48
|
-
masterPage: true
|
|
49
|
-
},
|
|
50
|
-
title: "title",
|
|
51
|
-
cya_link: "test_link",
|
|
52
|
-
formData: {},
|
|
53
|
-
childPages: PAGES
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
it('should correctly merge and nest child collection pages under their parents', () => {
|
|
57
|
-
const PAGES = [{
|
|
26
|
+
it('should correctly merge and nest child collection pages under their parents', function () {
|
|
27
|
+
var PAGES = [{
|
|
58
28
|
id: 'page1',
|
|
59
29
|
collection: {
|
|
60
30
|
name: 'parent'
|
|
@@ -79,7 +49,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
79
49
|
},
|
|
80
50
|
components: [DATE_COMP]
|
|
81
51
|
}];
|
|
82
|
-
|
|
52
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
83
53
|
expect(RESULT.length).toEqual(1);
|
|
84
54
|
expect(RESULT[0]).toMatchObject({
|
|
85
55
|
id: 'page1',
|
|
@@ -99,8 +69,8 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
99
69
|
}]
|
|
100
70
|
});
|
|
101
71
|
});
|
|
102
|
-
it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', ()
|
|
103
|
-
|
|
72
|
+
it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', function () {
|
|
73
|
+
var PAGES = [{
|
|
104
74
|
id: 'page1',
|
|
105
75
|
collection: {
|
|
106
76
|
name: 'parent.child'
|
|
@@ -125,7 +95,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
125
95
|
},
|
|
126
96
|
components: [DATE_COMP]
|
|
127
97
|
}];
|
|
128
|
-
|
|
98
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
129
99
|
expect(RESULT.length).toEqual(1); // One master page for parent collection.
|
|
130
100
|
expect(RESULT[0].childPages.length).toEqual(3); // Two normal pages and the child collection's master page.
|
|
131
101
|
expect(RESULT[0]).toMatchObject({
|
|
@@ -146,8 +116,8 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
146
116
|
}, PAGES[2], PAGES[3]]
|
|
147
117
|
});
|
|
148
118
|
});
|
|
149
|
-
it('should leave non-collection pages unaffected', ()
|
|
150
|
-
|
|
119
|
+
it('should leave non-collection pages unaffected', function () {
|
|
120
|
+
var PAGES = [{
|
|
151
121
|
id: 'page1',
|
|
152
122
|
collection: {
|
|
153
123
|
name: 'collection'
|
|
@@ -162,7 +132,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
162
132
|
}, {
|
|
163
133
|
id: 'page3'
|
|
164
134
|
}];
|
|
165
|
-
|
|
135
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
166
136
|
expect(RESULT.length).toEqual(2);
|
|
167
137
|
expect(RESULT[0]).toMatchObject({
|
|
168
138
|
id: 'page1',
|
|
@@ -177,8 +147,8 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
177
147
|
id: 'page3'
|
|
178
148
|
});
|
|
179
149
|
});
|
|
180
|
-
it('should handle multiple collections', ()
|
|
181
|
-
|
|
150
|
+
it('should handle multiple collections', function () {
|
|
151
|
+
var PAGES = [{
|
|
182
152
|
id: 'page1',
|
|
183
153
|
collection: {
|
|
184
154
|
name: 'collection1'
|
|
@@ -203,7 +173,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
203
173
|
},
|
|
204
174
|
components: []
|
|
205
175
|
}];
|
|
206
|
-
|
|
176
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
207
177
|
expect(RESULT.length).toEqual(2);
|
|
208
178
|
expect(RESULT[0]).toMatchObject({
|
|
209
179
|
id: 'page1',
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
// Local imports.
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -17,16 +17,18 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
17
17
|
* @returns null if the target entry could not be deleted.
|
|
18
18
|
* The deleted entry if it was deleted successfully.
|
|
19
19
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
var removeCollectionPageEntry = function removeCollectionPageEntry(collectionName, formData, id) {
|
|
21
|
+
var collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
|
|
22
22
|
if (!collectionData) {
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
var indexToDelete = collectionData.findIndex(function (entry) {
|
|
26
|
+
return entry.id === id;
|
|
27
|
+
});
|
|
26
28
|
if (indexToDelete === -1) {
|
|
27
29
|
return null;
|
|
28
30
|
}
|
|
29
|
-
|
|
31
|
+
var deletedEntry = collectionData[indexToDelete];
|
|
30
32
|
collectionData.splice(indexToDelete, 1);
|
|
31
33
|
return deletedEntry;
|
|
32
34
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollectionPageEntry"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports.
|
|
6
6
|
|
|
7
|
-
describe('utils.collectionPage.removeCollectionPageEntry', ()
|
|
8
|
-
|
|
7
|
+
describe('utils.collectionPage.removeCollectionPageEntry', function () {
|
|
8
|
+
var FORM_DATA = {
|
|
9
9
|
parentsActiveId: '1',
|
|
10
10
|
childrenActiveId: '1',
|
|
11
11
|
grandchildrenActiveId: '1',
|
|
@@ -29,20 +29,20 @@ describe('utils.collectionPage.removeCollectionPageEntry', () => {
|
|
|
29
29
|
}]
|
|
30
30
|
}]
|
|
31
31
|
};
|
|
32
|
-
it('should return null if a parent collection does not exist', ()
|
|
33
|
-
|
|
32
|
+
it('should return null if a parent collection does not exist', function () {
|
|
33
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.chainbreak.grandchildren', FORM_DATA, '1');
|
|
34
34
|
expect(removedEntry).toEqual(null);
|
|
35
35
|
});
|
|
36
|
-
it('should return null if an entry with the provided id does not exist', ()
|
|
37
|
-
|
|
36
|
+
it('should return null if an entry with the provided id does not exist', function () {
|
|
37
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '0');
|
|
38
38
|
expect(removedEntry).toEqual(null);
|
|
39
39
|
});
|
|
40
|
-
it('should return null if form data is invalid', ()
|
|
41
|
-
|
|
40
|
+
it('should return null if form data is invalid', function () {
|
|
41
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
|
|
42
42
|
expect(removedEntry).toEqual(null);
|
|
43
43
|
});
|
|
44
|
-
it('should correctly remove the target entry', ()
|
|
45
|
-
|
|
44
|
+
it('should correctly remove the target entry', function () {
|
|
45
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
|
|
46
46
|
expect(removedEntry).toEqual({
|
|
47
47
|
id: '3',
|
|
48
48
|
value: 'Charlie'
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _uuid = require("uuid");
|
|
8
|
-
|
|
8
|
+
var isValidIndex = function isValidIndex(value) {
|
|
9
|
+
return typeof value === 'number' && value >= 0;
|
|
10
|
+
};
|
|
9
11
|
|
|
10
12
|
/**
|
|
11
13
|
* This function sets the data for a given collection in formData.
|
|
@@ -21,22 +23,25 @@ const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
|
21
23
|
* @param {Array} newData The new data to set for the collection.
|
|
22
24
|
* @param {Object} formData Top level formData object.
|
|
23
25
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
nameParts.some(name
|
|
26
|
+
var setCollectionPageData = function setCollectionPageData(collectionName, newData, formData) {
|
|
27
|
+
var nameParts = collectionName.split('.');
|
|
28
|
+
var targetCollection = nameParts[nameParts.length - 1];
|
|
29
|
+
var data = formData;
|
|
30
|
+
nameParts.some(function (name) {
|
|
31
|
+
var _data$name;
|
|
29
32
|
// Current collection doesn't exist, so create it
|
|
30
33
|
if (!data[name]) {
|
|
31
34
|
data[name] = [];
|
|
32
35
|
}
|
|
33
36
|
// If the entry matching the active ID doesn't exist in the collection, create it.
|
|
34
|
-
if (!data[name].find(
|
|
35
|
-
|
|
37
|
+
if (!data[name].find(function (e) {
|
|
38
|
+
return e.id === formData["".concat(name, "ActiveId")];
|
|
39
|
+
})) {
|
|
40
|
+
var newEntryId = (0, _uuid.v4)();
|
|
36
41
|
// eslint-disable-next-line no-param-reassign
|
|
37
|
-
formData[
|
|
42
|
+
formData["".concat(name, "ActiveId")] = formData["".concat(name, "ActiveId")] || newEntryId;
|
|
38
43
|
data[name].push({
|
|
39
|
-
id: formData[
|
|
44
|
+
id: formData["".concat(name, "ActiveId")]
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
47
|
// We're at the target collection's level, so
|
|
@@ -46,8 +51,10 @@ const setCollectionPageData = (collectionName, newData, formData) => {
|
|
|
46
51
|
data[targetCollection] = newData;
|
|
47
52
|
return true;
|
|
48
53
|
}
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
var activeId = formData["".concat(name, "ActiveId")];
|
|
55
|
+
var activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(function (item) {
|
|
56
|
+
return item.id === activeId;
|
|
57
|
+
});
|
|
51
58
|
if (!isValidIndex(activeIndex)) {
|
|
52
59
|
return true;
|
|
53
60
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('Utils.CollectionPage.setCollectionPageData', ()
|
|
6
|
-
it('should create necessary entries when collections in the path don\'t exist', ()
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
+
describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
6
|
+
it('should create necessary entries when collections in the path don\'t exist', function () {
|
|
7
|
+
var FORM_DATA = {};
|
|
8
|
+
var NEW_DATA = [{
|
|
9
9
|
id: '123',
|
|
10
10
|
value: 'Alpha'
|
|
11
11
|
}];
|
|
@@ -32,11 +32,11 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
32
32
|
value: 'Alpha'
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
|
-
it('should not overwrite existing entry IDs', ()
|
|
36
|
-
|
|
35
|
+
it('should not overwrite existing entry IDs', function () {
|
|
36
|
+
var FORM_DATA = {
|
|
37
37
|
grandchildActiveId: 77
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
var NEW_DATA = [{
|
|
40
40
|
id: '123',
|
|
41
41
|
value: 'Alpha'
|
|
42
42
|
}];
|
|
@@ -63,9 +63,9 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
63
63
|
value: 'Alpha'
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
|
-
describe('when failing to set data for a nested collection', ()
|
|
67
|
-
it('should do nothing if one of the parent collections does not exist', ()
|
|
68
|
-
|
|
66
|
+
describe('when failing to set data for a nested collection', function () {
|
|
67
|
+
it('should do nothing if one of the parent collections does not exist', function () {
|
|
68
|
+
var FORM_DATA = {
|
|
69
69
|
parentActiveId: '1',
|
|
70
70
|
childActiveId: '1',
|
|
71
71
|
grandchildActiveId: '1',
|
|
@@ -80,7 +80,7 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
80
80
|
}]
|
|
81
81
|
}]
|
|
82
82
|
};
|
|
83
|
-
|
|
83
|
+
var NEW_DATA = [{
|
|
84
84
|
id: '1',
|
|
85
85
|
value: 'newValue'
|
|
86
86
|
}];
|
|
@@ -90,8 +90,8 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
90
90
|
value: 'oldValue'
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
-
it('should do nothing if an active ID does not exist for a parent collection', ()
|
|
94
|
-
|
|
93
|
+
it('should do nothing if an active ID does not exist for a parent collection', function () {
|
|
94
|
+
var FORM_DATA = {
|
|
95
95
|
parentActiveId: '1',
|
|
96
96
|
grandchildActiveId: '1',
|
|
97
97
|
parent: [{
|
|
@@ -105,7 +105,7 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
105
105
|
}]
|
|
106
106
|
}]
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
var NEW_DATA = [{
|
|
109
109
|
id: '1',
|
|
110
110
|
value: 'newValue'
|
|
111
111
|
}];
|
|
@@ -116,15 +116,15 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
118
|
});
|
|
119
|
-
it('should correctly set the value for a top-level collection', ()
|
|
120
|
-
|
|
119
|
+
it('should correctly set the value for a top-level collection', function () {
|
|
120
|
+
var FORM_DATA = {
|
|
121
121
|
testCollectionActiveId: '1',
|
|
122
122
|
testCollection: [{
|
|
123
123
|
id: '1',
|
|
124
124
|
value: 'oldValue'
|
|
125
125
|
}]
|
|
126
126
|
};
|
|
127
|
-
|
|
127
|
+
var NEW_DATA = [{
|
|
128
128
|
id: '1',
|
|
129
129
|
value: 'newValue'
|
|
130
130
|
}];
|
|
@@ -134,8 +134,8 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
134
134
|
value: 'newValue'
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
|
-
it('should correctly set the data for a nested collection', ()
|
|
138
|
-
|
|
137
|
+
it('should correctly set the data for a nested collection', function () {
|
|
138
|
+
var FORM_DATA = {
|
|
139
139
|
parentActiveId: '1',
|
|
140
140
|
childActiveId: '1',
|
|
141
141
|
grandchildActiveId: '1',
|
|
@@ -150,7 +150,7 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
150
150
|
}]
|
|
151
151
|
}]
|
|
152
152
|
};
|
|
153
|
-
|
|
153
|
+
var NEW_DATA = [{
|
|
154
154
|
id: '1',
|
|
155
155
|
value: 'newValue'
|
|
156
156
|
}];
|
|
@@ -160,17 +160,17 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
160
160
|
value: 'newValue'
|
|
161
161
|
});
|
|
162
162
|
});
|
|
163
|
-
it('creates a new entry and updates active ID if no matching active ID is found', ()
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
it('creates a new entry and updates active ID if no matching active ID is found', function () {
|
|
164
|
+
var formData = {};
|
|
165
|
+
var collectionName = 'testCollection';
|
|
166
|
+
var newData = [{
|
|
167
167
|
id: 'dataId',
|
|
168
168
|
value: 'testValue'
|
|
169
169
|
}];
|
|
170
170
|
(0, _setCollectionPageData.default)(collectionName, newData, formData);
|
|
171
171
|
|
|
172
172
|
// Check if formData has been updated
|
|
173
|
-
expect(formData[
|
|
173
|
+
expect(formData["".concat(collectionName, "ActiveId")]).toBeDefined();
|
|
174
174
|
|
|
175
175
|
// Check if the new entry was added to the collection
|
|
176
176
|
expect(formData[collectionName]).toBeDefined();
|
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
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); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
13
|
/**
|
|
8
14
|
* Adds a show_when to a component.
|
|
9
15
|
* If the component has no show_when, then an array is created
|
|
@@ -15,16 +21,14 @@ exports.default = void 0;
|
|
|
15
21
|
* @returns The component with the new show_when added.
|
|
16
22
|
* null if component or condition are invalid.
|
|
17
23
|
*/
|
|
18
|
-
|
|
24
|
+
var addShowWhen = function addShowWhen(component, condition) {
|
|
19
25
|
if (!component) {
|
|
20
26
|
return null;
|
|
21
27
|
}
|
|
22
28
|
if (!condition) {
|
|
23
29
|
return component;
|
|
24
30
|
}
|
|
25
|
-
|
|
26
|
-
...component
|
|
27
|
-
};
|
|
31
|
+
var result = _objectSpread({}, component);
|
|
28
32
|
if (result.show_when) {
|
|
29
33
|
if (Array.isArray(condition)) {
|
|
30
34
|
result.show_when = Array.isArray(result.show_when) ? [].concat(condition, result.show_when) : [].concat(condition, [result.show_when]);
|