@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +16 -25
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +21 -27
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _addCollectionPageEntry = _interopRequireDefault(require("./addCollectionPageEntry"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('Utils.CollectionPage.addCollectionPageEntry',
|
|
6
|
-
it('should set active ID as null for a top-level collection',
|
|
7
|
-
|
|
5
|
+
describe('Utils.CollectionPage.addCollectionPageEntry', () => {
|
|
6
|
+
it('should set active ID as null for a top-level collection', () => {
|
|
7
|
+
const FORM_DATA = {};
|
|
8
8
|
(0, _addCollectionPageEntry.default)('testCollection', FORM_DATA);
|
|
9
9
|
expect(FORM_DATA.testCollectionActiveId).toBeFalsy();
|
|
10
10
|
});
|
|
11
|
-
it('should set a active ID as null for a nested collection',
|
|
12
|
-
|
|
11
|
+
it('should set a active ID as null for a nested collection', () => {
|
|
12
|
+
const FORM_DATA = {};
|
|
13
13
|
(0, _addCollectionPageEntry.default)('parent.child.grandchild', FORM_DATA);
|
|
14
14
|
expect(FORM_DATA.grandchildActiveId).toBeFalsy();
|
|
15
15
|
});
|
|
@@ -18,8 +18,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
18
18
|
* @param {object} formData A page's form data containing the collection's data.
|
|
19
19
|
* @return true if the entry ws successfully duplicated, false if not.
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const duplicateCollectionPageActiveEntry = (collectionName, formData) => {
|
|
22
|
+
const currentEntryId = (0, _getCollectionPageActiveId.default)(collectionName, formData);
|
|
23
23
|
return (0, _duplicateCollectionPageEntry.default)(collectionName, formData, currentEntryId);
|
|
24
24
|
};
|
|
25
25
|
var _default = exports.default = duplicateCollectionPageActiveEntry;
|
|
@@ -3,19 +3,17 @@
|
|
|
3
3
|
var _duplicateCollectionPageActiveEntry = _interopRequireDefault(require("./duplicateCollectionPageActiveEntry"));
|
|
4
4
|
var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
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); }
|
|
10
|
-
describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', function () {
|
|
11
|
-
var COLLECTION_NAME = 'testCollection';
|
|
12
|
-
var OBJ = {
|
|
6
|
+
describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', () => {
|
|
7
|
+
const COLLECTION_NAME = 'testCollection';
|
|
8
|
+
const OBJ = {
|
|
13
9
|
id: '1',
|
|
14
10
|
value: 'value'
|
|
15
11
|
};
|
|
16
|
-
it('should duplicate the active entry if one exists',
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
it('should duplicate the active entry if one exists', () => {
|
|
13
|
+
const FORM_DATA = {
|
|
14
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
15
|
+
[COLLECTION_NAME]: [OBJ]
|
|
16
|
+
};
|
|
19
17
|
(0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
|
|
20
18
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
|
|
21
19
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
|
|
@@ -24,8 +22,8 @@ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', function ()
|
|
|
24
22
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
|
|
25
23
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
|
|
26
24
|
});
|
|
27
|
-
it('should duplicate entries in nested collections correctly',
|
|
28
|
-
|
|
25
|
+
it('should duplicate entries in nested collections correctly', () => {
|
|
26
|
+
const FORM_DATA = {
|
|
29
27
|
parentsActiveId: '2',
|
|
30
28
|
childrenActiveId: '2',
|
|
31
29
|
parents: [{
|
|
@@ -53,17 +51,18 @@ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', function ()
|
|
|
53
51
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA)).toBeTruthy();
|
|
54
52
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA) === '2').toBeFalsy();
|
|
55
53
|
});
|
|
56
|
-
it('should do nothing if there is no active entry',
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
it('should do nothing if there is no active entry', () => {
|
|
55
|
+
const FORM_DATA = {
|
|
56
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '2',
|
|
57
|
+
[COLLECTION_NAME]: [OBJ]
|
|
58
|
+
};
|
|
59
59
|
(0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
|
|
60
60
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(1);
|
|
61
61
|
expect(FORM_DATA[COLLECTION_NAME][0]).toEqual(OBJ);
|
|
62
62
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toEqual('2'); // Shouldn't have changed.
|
|
63
63
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
var FORM_DATA = {};
|
|
64
|
+
it('should do nothing if the collection does not exist', () => {
|
|
65
|
+
const FORM_DATA = {};
|
|
67
66
|
(0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
|
|
68
67
|
expect(FORM_DATA).toEqual({});
|
|
69
68
|
});
|
|
@@ -6,12 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
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); }
|
|
10
|
-
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; }
|
|
11
|
-
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; }
|
|
12
|
-
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; }
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
-
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); }
|
|
15
9
|
/**
|
|
16
10
|
* Duplicates an entry with the given ID in the given collection, optionally
|
|
17
11
|
* ignoring named fields or adding extras to the duplicate if they're provided.
|
|
@@ -23,24 +17,28 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
23
17
|
* @param {object} fieldsToAdd An object that will be spread to the new entry.
|
|
24
18
|
* @returns The ID of the duplicate entry.
|
|
25
19
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return entry.id === entryId;
|
|
32
|
-
});
|
|
20
|
+
const duplicateCollectionPageEntry = function (collectionName, formData, entryId) {
|
|
21
|
+
let fieldsToIgnore = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
22
|
+
let fieldsToAdd = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
23
|
+
const collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
|
|
24
|
+
const entryToDuplicate = collectionData === null || collectionData === void 0 ? void 0 : collectionData.find(entry => entry.id === entryId);
|
|
33
25
|
if (!entryToDuplicate) {
|
|
34
26
|
return null;
|
|
35
27
|
}
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
const newEntryId = Date.now().toString();
|
|
29
|
+
const newEntry = {
|
|
30
|
+
...entryToDuplicate,
|
|
31
|
+
...fieldsToAdd,
|
|
38
32
|
id: newEntryId
|
|
39
|
-
}
|
|
40
|
-
fieldsToIgnore.forEach(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
33
|
+
};
|
|
34
|
+
fieldsToIgnore.forEach(field => delete newEntry[field]);
|
|
35
|
+
const insertionIndex = collectionData.findIndex(entry => entry.id === entryId) + 1;
|
|
36
|
+
if (insertionIndex === -1) {
|
|
37
|
+
collectionData.push(newEntry);
|
|
38
|
+
} else {
|
|
39
|
+
collectionData.splice(insertionIndex, 0, newEntry);
|
|
40
|
+
}
|
|
41
|
+
|
|
44
42
|
// eslint-disable-next-line no-param-reassign
|
|
45
43
|
formData["".concat(collectionName.split('.').pop(), "ActiveId")] = newEntry.id;
|
|
46
44
|
return newEntryId;
|
|
@@ -3,19 +3,17 @@
|
|
|
3
3
|
var _duplicateCollectionPageEntry = _interopRequireDefault(require("./duplicateCollectionPageEntry"));
|
|
4
4
|
var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
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); }
|
|
10
|
-
describe('utils.CollectionPage.duplicateCollectionPageEntry', function () {
|
|
11
|
-
var COLLECTION_NAME = 'testCollection';
|
|
12
|
-
var OBJ = {
|
|
6
|
+
describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
|
|
7
|
+
const COLLECTION_NAME = 'testCollection';
|
|
8
|
+
const OBJ = {
|
|
13
9
|
id: '1',
|
|
14
10
|
value: 'value'
|
|
15
11
|
};
|
|
16
|
-
it('should duplicate the active entry if one exists',
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
it('should duplicate the active entry if one exists', () => {
|
|
13
|
+
const FORM_DATA = {
|
|
14
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
15
|
+
[COLLECTION_NAME]: [OBJ]
|
|
16
|
+
};
|
|
19
17
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
|
|
20
18
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
|
|
21
19
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
|
|
@@ -24,8 +22,30 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', function () {
|
|
|
24
22
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
|
|
25
23
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
|
|
26
24
|
});
|
|
27
|
-
it('should
|
|
28
|
-
|
|
25
|
+
it('should put the new entry under the original one', () => {
|
|
26
|
+
const FORM_DATA = {
|
|
27
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
28
|
+
[COLLECTION_NAME]: [{
|
|
29
|
+
id: '1',
|
|
30
|
+
value: 'value1'
|
|
31
|
+
}, {
|
|
32
|
+
id: '2',
|
|
33
|
+
value: 'value2'
|
|
34
|
+
}, {
|
|
35
|
+
id: '3',
|
|
36
|
+
value: 'value1'
|
|
37
|
+
}]
|
|
38
|
+
};
|
|
39
|
+
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
|
|
40
|
+
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(4);
|
|
41
|
+
expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
|
|
42
|
+
expect(FORM_DATA[COLLECTION_NAME][1].id).toBeTruthy();
|
|
43
|
+
expect(FORM_DATA[COLLECTION_NAME][1].id === '1').toBeFalsy();
|
|
44
|
+
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
|
|
45
|
+
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
|
|
46
|
+
});
|
|
47
|
+
it('should duplicate entries in nested collections correctly', () => {
|
|
48
|
+
const FORM_DATA = {
|
|
29
49
|
parentsActiveId: '2',
|
|
30
50
|
childrenActiveId: '2',
|
|
31
51
|
parents: [{
|
|
@@ -53,11 +73,13 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', function () {
|
|
|
53
73
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA)).toBeTruthy();
|
|
54
74
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA) === '2').toBeFalsy();
|
|
55
75
|
});
|
|
56
|
-
it('should ignore fields in the fieldToIgnore array',
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
it('should ignore fields in the fieldToIgnore array', () => {
|
|
77
|
+
const FORM_DATA = {
|
|
78
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
79
|
+
[COLLECTION_NAME]: [OBJ]
|
|
80
|
+
};
|
|
59
81
|
;
|
|
60
|
-
|
|
82
|
+
const FIELDS_TO_IGNORE = ['value'];
|
|
61
83
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1', FIELDS_TO_IGNORE);
|
|
62
84
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
|
|
63
85
|
expect(FORM_DATA[COLLECTION_NAME][0].id).toBeTruthy();
|
|
@@ -65,11 +87,13 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', function () {
|
|
|
65
87
|
expect(FORM_DATA[COLLECTION_NAME][1].id).toBeTruthy();
|
|
66
88
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toBeUndefined();
|
|
67
89
|
});
|
|
68
|
-
it('should add fields from the fieldsToAdd object',
|
|
69
|
-
|
|
70
|
-
|
|
90
|
+
it('should add fields from the fieldsToAdd object', () => {
|
|
91
|
+
const FORM_DATA = {
|
|
92
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
93
|
+
[COLLECTION_NAME]: [OBJ]
|
|
94
|
+
};
|
|
71
95
|
;
|
|
72
|
-
|
|
96
|
+
const FIELDS_TO_ADD = {
|
|
73
97
|
addedKey: 'addedValue'
|
|
74
98
|
};
|
|
75
99
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1', [], FIELDS_TO_ADD);
|
|
@@ -80,15 +104,20 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', function () {
|
|
|
80
104
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toBeTruthy();
|
|
81
105
|
expect(FORM_DATA[COLLECTION_NAME][1].addedKey).toEqual('addedValue');
|
|
82
106
|
});
|
|
83
|
-
it('should do nothing if an entry with the given id does not exist',
|
|
84
|
-
|
|
85
|
-
|
|
107
|
+
it('should do nothing if an entry with the given id does not exist', () => {
|
|
108
|
+
const FORM_DATA = {
|
|
109
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
110
|
+
[COLLECTION_NAME]: [OBJ]
|
|
111
|
+
};
|
|
86
112
|
;
|
|
87
113
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '0');
|
|
88
|
-
expect(FORM_DATA).toEqual(
|
|
114
|
+
expect(FORM_DATA).toEqual({
|
|
115
|
+
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
116
|
+
[COLLECTION_NAME]: [OBJ]
|
|
117
|
+
});
|
|
89
118
|
});
|
|
90
|
-
it('should do nothing if the collection does not exist',
|
|
91
|
-
|
|
119
|
+
it('should do nothing if the collection does not exist', () => {
|
|
120
|
+
const FORM_DATA = {};
|
|
92
121
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
|
|
93
122
|
expect(FORM_DATA).toEqual({});
|
|
94
123
|
});
|
|
@@ -16,8 +16,8 @@ exports.default = void 0;
|
|
|
16
16
|
* @param {object} data Top-level formData.
|
|
17
17
|
* @returns The active ID for the collection, or null if it doesn't exist.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const getCollectionPageActiveId = (collectionName, formData) => {
|
|
20
|
+
const targetName = collectionName.split('.').pop();
|
|
21
21
|
return formData["".concat(targetName, "ActiveId")] || null;
|
|
22
22
|
};
|
|
23
23
|
var _default = exports.default = getCollectionPageActiveId;
|
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
var _getCollectionPageActiveId = _interopRequireDefault(require("./getCollectionPageActiveId"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('Utils.CollectionPage.getCollectionPageActiveId',
|
|
6
|
-
it('should return null if no active ID exists for the collection',
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
describe('Utils.CollectionPage.getCollectionPageActiveId', () => {
|
|
6
|
+
it('should return null if no active ID exists for the collection', () => {
|
|
7
|
+
const FORM_DATA = {};
|
|
8
|
+
const activeId = (0, _getCollectionPageActiveId.default)('testCollection', FORM_DATA);
|
|
9
9
|
expect(activeId).toEqual(null);
|
|
10
10
|
});
|
|
11
|
-
it('should correctly get an existing active ID for a top-level collection name',
|
|
12
|
-
|
|
11
|
+
it('should correctly get an existing active ID for a top-level collection name', () => {
|
|
12
|
+
const FORM_DATA = {
|
|
13
13
|
testCollectionActiveId: '1'
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
const activeId = (0, _getCollectionPageActiveId.default)('testCollection', FORM_DATA);
|
|
16
16
|
expect(activeId).toEqual(FORM_DATA.testCollectionActiveId);
|
|
17
17
|
});
|
|
18
|
-
it('should correctly get an existing active ID for a nested collection name',
|
|
19
|
-
|
|
18
|
+
it('should correctly get an existing active ID for a nested collection name', () => {
|
|
19
|
+
const FORM_DATA = {
|
|
20
20
|
grandchildActiveId: '1'
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
const activeId = (0, _getCollectionPageActiveId.default)('parent.child.grandchild', FORM_DATA);
|
|
23
23
|
expect(activeId).toEqual(FORM_DATA.grandchildActiveId);
|
|
24
24
|
});
|
|
25
25
|
});
|
|
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
var getLastActiveIndexInChain = function getLastActiveIndexInChain(collectionNames, data, formData) {
|
|
7
|
+
const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
8
|
+
const getLastActiveIndexInChain = (collectionNames, data, formData) => {
|
|
11
9
|
var _data$currentName;
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const currentName = collectionNames[0];
|
|
11
|
+
const activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
14
12
|
if (!activeId) {
|
|
15
13
|
return null;
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
return item.id === activeId;
|
|
19
|
-
});
|
|
15
|
+
const activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(item => item.id === activeId);
|
|
20
16
|
if (!isValidIndex(activeIndex)) {
|
|
21
17
|
return null;
|
|
22
18
|
}
|
|
@@ -40,8 +36,8 @@ var getLastActiveIndexInChain = function getLastActiveIndexInChain(collectionNam
|
|
|
40
36
|
* @param {object} data Top-level formData.
|
|
41
37
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
42
38
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
const getCollectionPageActiveIndex = (collectionName, formData) => {
|
|
40
|
+
const nameParts = collectionName.split('.');
|
|
45
41
|
return getLastActiveIndexInChain(nameParts, formData, formData);
|
|
46
42
|
};
|
|
47
43
|
var _default = exports.default = getCollectionPageActiveIndex;
|
|
@@ -4,11 +4,11 @@ var _getCollectionPageActiveIndex = _interopRequireDefault(require("./getCollect
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.CollectionPage.getCollectionPageActiveIndex',
|
|
8
|
-
it('should return the index of the active item in the collection, if one exists',
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
8
|
+
it('should return the index of the active item in the collection, if one exists', () => {
|
|
9
|
+
const COLLECTION_NAME = 'test';
|
|
10
|
+
const ACTIVE_ID = '002';
|
|
11
|
+
const FORM_DATA = {
|
|
12
12
|
testActiveId: ACTIVE_ID,
|
|
13
13
|
test: [{
|
|
14
14
|
id: '001'
|
|
@@ -16,7 +16,7 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
|
|
|
16
16
|
id: '002'
|
|
17
17
|
}]
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
const PAGE = {
|
|
20
20
|
collection: {
|
|
21
21
|
name: COLLECTION_NAME
|
|
22
22
|
},
|
|
@@ -24,10 +24,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
|
|
|
24
24
|
};
|
|
25
25
|
expect((0, _getCollectionPageActiveIndex.default)(PAGE.collection.name, PAGE.formData)).toEqual(1);
|
|
26
26
|
});
|
|
27
|
-
it('should return the index of the active item in the nested collection, if one exists',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
it('should return the index of the active item in the nested collection, if one exists', () => {
|
|
28
|
+
const COLLECTION_NAME = 'parent.child';
|
|
29
|
+
const ACTIVE_ID = '001';
|
|
30
|
+
const FORM_DATA = {
|
|
31
31
|
parentActiveId: '001',
|
|
32
32
|
childActiveId: ACTIVE_ID,
|
|
33
33
|
parent: [{
|
|
@@ -42,16 +42,16 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
|
|
|
42
42
|
};
|
|
43
43
|
expect((0, _getCollectionPageActiveIndex.default)(COLLECTION_NAME, FORM_DATA)).toEqual(0);
|
|
44
44
|
});
|
|
45
|
-
it('should return null if no active item can be found in the collection',
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
it('should return null if no active item can be found in the collection', () => {
|
|
46
|
+
const COLLECTION_NAME = 'test';
|
|
47
|
+
const ACTIVE_ID = '002';
|
|
48
|
+
const FORM_DATA = {
|
|
49
49
|
testActiveId: ACTIVE_ID,
|
|
50
50
|
test: [{
|
|
51
51
|
id: '001'
|
|
52
52
|
}]
|
|
53
53
|
};
|
|
54
|
-
|
|
54
|
+
const PAGE = {
|
|
55
55
|
collection: {
|
|
56
56
|
name: COLLECTION_NAME
|
|
57
57
|
},
|
|
@@ -59,10 +59,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
|
|
|
59
59
|
};
|
|
60
60
|
expect((0, _getCollectionPageActiveIndex.default)(PAGE.collection.name, PAGE.formData)).toEqual(null);
|
|
61
61
|
});
|
|
62
|
-
it('should return null if no active item can be found in the nested collection',
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
it('should return null if no active item can be found in the nested collection', () => {
|
|
63
|
+
const COLLECTION_NAME = 'parent.child';
|
|
64
|
+
const ACTIVE_ID = '002';
|
|
65
|
+
const FORM_DATA = {
|
|
66
66
|
parentActiveId: '001',
|
|
67
67
|
childActiveId: ACTIVE_ID,
|
|
68
68
|
parent: [{
|
|
@@ -75,9 +75,9 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
|
|
|
75
75
|
};
|
|
76
76
|
expect((0, _getCollectionPageActiveIndex.default)(COLLECTION_NAME, FORM_DATA)).toEqual(null);
|
|
77
77
|
});
|
|
78
|
-
it('should return null if formData is null',
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
it('should return null if formData is null', () => {
|
|
79
|
+
const COLLECTION_NAME = 'test';
|
|
80
|
+
const PAGE = {
|
|
81
81
|
collection: {
|
|
82
82
|
name: COLLECTION_NAME
|
|
83
83
|
}
|
|
@@ -4,26 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
var getLastDataInChain = function getLastDataInChain(collectionNames, data, formData) {
|
|
7
|
+
const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
8
|
+
const getLastDataInChain = (collectionNames, data, formData) => {
|
|
11
9
|
var _data$currentName;
|
|
12
|
-
|
|
10
|
+
const currentName = collectionNames[0];
|
|
13
11
|
// If we're at the last collection in the chain, then just
|
|
14
12
|
// try and grab its data.
|
|
15
13
|
if (collectionNames.length === 1) {
|
|
16
14
|
return data[currentName] || null;
|
|
17
15
|
}
|
|
18
|
-
|
|
16
|
+
const activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
19
17
|
// No active ID for the current collection - the chain
|
|
20
18
|
// has been broken!
|
|
21
19
|
if (!activeId) {
|
|
22
20
|
return null;
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
return item.id === activeId;
|
|
26
|
-
});
|
|
22
|
+
const activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(item => item.id === activeId);
|
|
27
23
|
// No entry that matches the active ID - the chain
|
|
28
24
|
// has been broken!
|
|
29
25
|
if (!isValidIndex(activeIndex)) {
|
|
@@ -48,9 +44,9 @@ var getLastDataInChain = function getLastDataInChain(collectionNames, data, form
|
|
|
48
44
|
* @param {object} data The top level formData object.
|
|
49
45
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
50
46
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
const getCollectionPageData = (collectionName, formData) => {
|
|
48
|
+
const nameParts = collectionName.split('.');
|
|
49
|
+
const result = getLastDataInChain(nameParts, formData, formData);
|
|
54
50
|
return result;
|
|
55
51
|
};
|
|
56
52
|
var _default = exports.default = getCollectionPageData;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.CollectionPage.getCollectionPageData',
|
|
6
|
-
it('should return null if the collection does not exist',
|
|
7
|
-
|
|
5
|
+
describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
6
|
+
it('should return null if the collection does not exist', () => {
|
|
7
|
+
const data = (0, _getCollectionPageData.default)('testCollection', {});
|
|
8
8
|
expect(data).toEqual(null);
|
|
9
9
|
});
|
|
10
|
-
describe('when failing to retrieve a nested collection',
|
|
11
|
-
it('should return null if a parent collection does not exist',
|
|
12
|
-
|
|
10
|
+
describe('when failing to retrieve a nested collection', () => {
|
|
11
|
+
it('should return null if a parent collection does not exist', () => {
|
|
12
|
+
const FORM_DATA = {
|
|
13
13
|
parentsActiveId: '1',
|
|
14
14
|
childrenActiveId: '1',
|
|
15
15
|
grandchildrenActiveId: '1',
|
|
@@ -24,11 +24,11 @@ describe('utils.CollectionPage.getCollectionPageData', function () {
|
|
|
24
24
|
}]
|
|
25
25
|
}]
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
const data = (0, _getCollectionPageData.default)('parents.chainbreak.grandchildren', FORM_DATA);
|
|
28
28
|
expect(data).toEqual(null);
|
|
29
29
|
});
|
|
30
|
-
it('should return null if there is no active entry in a parent collection',
|
|
31
|
-
|
|
30
|
+
it('should return null if there is no active entry in a parent collection', () => {
|
|
31
|
+
const FORM_DATA = {
|
|
32
32
|
parentsActiveId: '1',
|
|
33
33
|
grandchildrenActiveId: '1',
|
|
34
34
|
parents: [{
|
|
@@ -42,11 +42,11 @@ describe('utils.CollectionPage.getCollectionPageData', function () {
|
|
|
42
42
|
}]
|
|
43
43
|
}]
|
|
44
44
|
};
|
|
45
|
-
|
|
45
|
+
const data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
|
|
46
46
|
expect(data).toEqual(null);
|
|
47
47
|
});
|
|
48
|
-
it('should return null if the target collection does not exist',
|
|
49
|
-
|
|
48
|
+
it('should return null if the target collection does not exist', () => {
|
|
49
|
+
const FORM_DATA = {
|
|
50
50
|
parentsActiveId: '1',
|
|
51
51
|
grandchildrenActiveId: '1',
|
|
52
52
|
parents: [{
|
|
@@ -56,18 +56,18 @@ describe('utils.CollectionPage.getCollectionPageData', function () {
|
|
|
56
56
|
}]
|
|
57
57
|
}]
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
const data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
|
|
60
60
|
expect(data).toEqual(null);
|
|
61
61
|
});
|
|
62
62
|
});
|
|
63
|
-
it('should get data for top-level collections correctly',
|
|
64
|
-
|
|
63
|
+
it('should get data for top-level collections correctly', () => {
|
|
64
|
+
const FORM_DATA = {
|
|
65
65
|
testCollection: [{
|
|
66
66
|
id: '1',
|
|
67
67
|
value: 'Alpha'
|
|
68
68
|
}]
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
const data = (0, _getCollectionPageData.default)('testCollection', FORM_DATA);
|
|
71
71
|
expect(Array.isArray(data)).toBeTruthy();
|
|
72
72
|
expect(data.length).toEqual(1);
|
|
73
73
|
expect(data[0]).toMatchObject({
|
|
@@ -75,8 +75,8 @@ describe('utils.CollectionPage.getCollectionPageData', function () {
|
|
|
75
75
|
value: 'Alpha'
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
|
-
it('should get data for nested collections correctly',
|
|
79
|
-
|
|
78
|
+
it('should get data for nested collections correctly', () => {
|
|
79
|
+
const FORM_DATA = {
|
|
80
80
|
parentsActiveId: '1',
|
|
81
81
|
childrenActiveId: '1',
|
|
82
82
|
grandchildrenActiveId: '1',
|
|
@@ -91,7 +91,7 @@ describe('utils.CollectionPage.getCollectionPageData', function () {
|
|
|
91
91
|
}]
|
|
92
92
|
}]
|
|
93
93
|
};
|
|
94
|
-
|
|
94
|
+
const data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
|
|
95
95
|
expect(Array.isArray(data)).toBeTruthy();
|
|
96
96
|
expect(data.length).toEqual(1);
|
|
97
97
|
expect(data[0]).toMatchObject({
|