@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-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 +127 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +131 -101
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +769 -464
- package/dist/components/CollectionPage/CollectionPage.js +58 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +342 -300
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +59 -63
- package/dist/components/CollectionSummary/CollectionSummary.js +88 -61
- package/dist/components/CollectionSummary/CollectionSummary.test.js +96 -102
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/SummaryCard.js +148 -109
- package/dist/components/CollectionSummary/SummaryCard.scss +1 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +927 -905
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +29 -23
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +73 -61
- package/dist/components/FormComponent/Collection.js +107 -73
- package/dist/components/FormComponent/Collection.test.js +945 -809
- package/dist/components/FormComponent/Container.js +38 -40
- package/dist/components/FormComponent/Container.test.js +345 -314
- package/dist/components/FormComponent/FormComponent.js +70 -67
- package/dist/components/FormComponent/FormComponent.test.js +342 -284
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +181 -144
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +5 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +47 -11
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +91 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +73 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +40 -44
- package/dist/components/FormRenderer/onPageAction.test.js +206 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +26 -21
- package/dist/components/SummaryList/SummaryList.test.js +166 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +71 -45
- package/dist/components/TaskList/TaskList.test.js +111 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +79 -58
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +72 -32
- package/dist/context/ValidationContext/ValidationContext.test.js +59 -47
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/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 -30
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +60 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +88 -79
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +124 -146
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
- 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 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -9
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +22 -27
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +16 -12
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +30 -29
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +70 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +17 -14
- package/dist/utils/Condition/meetsCondition.test.js +376 -376
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +25 -19
- package/dist/utils/Data/getOptions.test.js +20 -20
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +77 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +15 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +23 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/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 -46
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +26 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +10 -8
- 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 +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +35 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +127 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +16 -18
- package/dist/utils/Validate/validateComponent.test.js +146 -167
- package/dist/utils/Validate/validateContainer.js +19 -14
- package/dist/utils/Validate/validateContainer.test.js +45 -49
- package/dist/utils/Validate/validateDate.js +17 -11
- package/dist/utils/Validate/validateDate.test.js +29 -28
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +18 -17
- package/dist/utils/Validate/validatePage.test.js +182 -185
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +14 -7
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
|
@@ -3,17 +3,19 @@
|
|
|
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
|
-
|
|
6
|
+
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); }
|
|
7
|
+
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; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
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 = {
|
|
9
13
|
id: '1',
|
|
10
14
|
value: 'value'
|
|
11
15
|
};
|
|
12
|
-
it('should duplicate the active entry if one exists', ()
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
[COLLECTION_NAME]: [OBJ]
|
|
16
|
-
};
|
|
16
|
+
it('should duplicate the active entry if one exists', function () {
|
|
17
|
+
var _FORM_DATA;
|
|
18
|
+
var FORM_DATA = (_FORM_DATA = {}, _defineProperty(_FORM_DATA, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA, COLLECTION_NAME, [OBJ]), _FORM_DATA);
|
|
17
19
|
(0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
|
|
18
20
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
|
|
19
21
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
|
|
@@ -22,8 +24,8 @@ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', () => {
|
|
|
22
24
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
|
|
23
25
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
|
|
24
26
|
});
|
|
25
|
-
it('should duplicate entries in nested collections correctly', ()
|
|
26
|
-
|
|
27
|
+
it('should duplicate entries in nested collections correctly', function () {
|
|
28
|
+
var FORM_DATA = {
|
|
27
29
|
parentsActiveId: '2',
|
|
28
30
|
childrenActiveId: '2',
|
|
29
31
|
parents: [{
|
|
@@ -51,19 +53,17 @@ describe('utils.CollectionPage.duplicateCollectionPageActiveEntry', () => {
|
|
|
51
53
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA)).toBeTruthy();
|
|
52
54
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA) === '2').toBeFalsy();
|
|
53
55
|
});
|
|
54
|
-
it('should do nothing if there is no active entry', ()
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
[COLLECTION_NAME]: [OBJ]
|
|
58
|
-
};
|
|
56
|
+
it('should do nothing if there is no active entry', function () {
|
|
57
|
+
var _FORM_DATA2;
|
|
58
|
+
var FORM_DATA = (_FORM_DATA2 = {}, _defineProperty(_FORM_DATA2, "".concat(COLLECTION_NAME, "ActiveId"), '2'), _defineProperty(_FORM_DATA2, COLLECTION_NAME, [OBJ]), _FORM_DATA2);
|
|
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
64
|
|
|
65
|
-
it('should do nothing if the collection does not exist', ()
|
|
66
|
-
|
|
65
|
+
it('should do nothing if the collection does not exist', function () {
|
|
66
|
+
var FORM_DATA = {};
|
|
67
67
|
(0, _duplicateCollectionPageActiveEntry.default)(COLLECTION_NAME, FORM_DATA);
|
|
68
68
|
expect(FORM_DATA).toEqual({});
|
|
69
69
|
});
|
|
@@ -6,19 +6,28 @@ 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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
+
var duplicateCollectionPageEntry = function duplicateCollectionPageEntry(collectionName, formData, entryId) {
|
|
16
|
+
var fieldsToIgnore = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
17
|
+
var collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
|
|
18
|
+
var entryToDuplicate = collectionData === null || collectionData === void 0 ? void 0 : collectionData.find(function (entry) {
|
|
19
|
+
return entry.id === entryId;
|
|
20
|
+
});
|
|
13
21
|
if (!entryToDuplicate) {
|
|
14
22
|
return null;
|
|
15
23
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
...entryToDuplicate,
|
|
24
|
+
var newEntryId = Date.now().toString();
|
|
25
|
+
var newEntry = _objectSpread(_objectSpread({}, entryToDuplicate), {}, {
|
|
19
26
|
id: newEntryId
|
|
20
|
-
};
|
|
21
|
-
fieldsToIgnore.forEach(
|
|
27
|
+
});
|
|
28
|
+
fieldsToIgnore.forEach(function (field) {
|
|
29
|
+
return delete newEntry[field];
|
|
30
|
+
});
|
|
22
31
|
collectionData.push(newEntry);
|
|
23
32
|
// eslint-disable-next-line no-param-reassign
|
|
24
33
|
formData["".concat(collectionName.split('.').pop(), "ActiveId")] = newEntry.id;
|
|
@@ -3,17 +3,19 @@
|
|
|
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
|
-
|
|
6
|
+
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); }
|
|
7
|
+
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; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
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 = {
|
|
9
13
|
id: '1',
|
|
10
14
|
value: 'value'
|
|
11
15
|
};
|
|
12
|
-
it('should duplicate the active entry if one exists', ()
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
[COLLECTION_NAME]: [OBJ]
|
|
16
|
-
};
|
|
16
|
+
it('should duplicate the active entry if one exists', function () {
|
|
17
|
+
var _FORM_DATA;
|
|
18
|
+
var FORM_DATA = (_FORM_DATA = {}, _defineProperty(_FORM_DATA, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA, COLLECTION_NAME, [OBJ]), _FORM_DATA);
|
|
17
19
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
|
|
18
20
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
|
|
19
21
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toEqual(FORM_DATA[COLLECTION_NAME][0].value);
|
|
@@ -22,8 +24,8 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
|
|
|
22
24
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")]).toBeTruthy();
|
|
23
25
|
expect(FORM_DATA["".concat(COLLECTION_NAME, "ActiveId")] === '1').toBeFalsy();
|
|
24
26
|
});
|
|
25
|
-
it('should duplicate entries in nested collections correctly', ()
|
|
26
|
-
|
|
27
|
+
it('should duplicate entries in nested collections correctly', function () {
|
|
28
|
+
var FORM_DATA = {
|
|
27
29
|
parentsActiveId: '2',
|
|
28
30
|
childrenActiveId: '2',
|
|
29
31
|
parents: [{
|
|
@@ -51,13 +53,11 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
|
|
|
51
53
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA)).toBeTruthy();
|
|
52
54
|
expect((0, _getCollectionPageActiveId.default)('parents.children', FORM_DATA) === '2').toBeFalsy();
|
|
53
55
|
});
|
|
54
|
-
it('should ignore fields in the fieldToIgnore array', ()
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
[COLLECTION_NAME]: [OBJ]
|
|
58
|
-
};
|
|
56
|
+
it('should ignore fields in the fieldToIgnore array', function () {
|
|
57
|
+
var _FORM_DATA2;
|
|
58
|
+
var FORM_DATA = (_FORM_DATA2 = {}, _defineProperty(_FORM_DATA2, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA2, COLLECTION_NAME, [OBJ]), _FORM_DATA2);
|
|
59
59
|
;
|
|
60
|
-
|
|
60
|
+
var FIELDS_TO_IGNORE = ['value'];
|
|
61
61
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1', FIELDS_TO_IGNORE);
|
|
62
62
|
expect(FORM_DATA[COLLECTION_NAME].length).toEqual(2);
|
|
63
63
|
expect(FORM_DATA[COLLECTION_NAME][0].id).toBeTruthy();
|
|
@@ -65,20 +65,15 @@ describe('utils.CollectionPage.duplicateCollectionPageEntry', () => {
|
|
|
65
65
|
expect(FORM_DATA[COLLECTION_NAME][1].id).toBeTruthy();
|
|
66
66
|
expect(FORM_DATA[COLLECTION_NAME][1].value).toBeUndefined();
|
|
67
67
|
});
|
|
68
|
-
it('should do nothing if an entry with the given id does not exist', ()
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
[COLLECTION_NAME]: [OBJ]
|
|
72
|
-
};
|
|
68
|
+
it('should do nothing if an entry with the given id does not exist', function () {
|
|
69
|
+
var _FORM_DATA3, _expect$toEqual;
|
|
70
|
+
var FORM_DATA = (_FORM_DATA3 = {}, _defineProperty(_FORM_DATA3, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_FORM_DATA3, COLLECTION_NAME, [OBJ]), _FORM_DATA3);
|
|
73
71
|
;
|
|
74
72
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '0');
|
|
75
|
-
expect(FORM_DATA).toEqual({
|
|
76
|
-
["".concat(COLLECTION_NAME, "ActiveId")]: '1',
|
|
77
|
-
[COLLECTION_NAME]: [OBJ]
|
|
78
|
-
});
|
|
73
|
+
expect(FORM_DATA).toEqual((_expect$toEqual = {}, _defineProperty(_expect$toEqual, "".concat(COLLECTION_NAME, "ActiveId"), '1'), _defineProperty(_expect$toEqual, COLLECTION_NAME, [OBJ]), _expect$toEqual));
|
|
79
74
|
});
|
|
80
|
-
it('should do nothing if the collection does not exist', ()
|
|
81
|
-
|
|
75
|
+
it('should do nothing if the collection does not exist', function () {
|
|
76
|
+
var FORM_DATA = {};
|
|
82
77
|
(0, _duplicateCollectionPageEntry.default)(COLLECTION_NAME, FORM_DATA, '1');
|
|
83
78
|
expect(FORM_DATA).toEqual({});
|
|
84
79
|
});
|
|
@@ -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
|
+
var getCollectionPageActiveId = function getCollectionPageActiveId(collectionName, formData) {
|
|
20
|
+
var 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', function () {
|
|
6
|
+
it('should return null if no active ID exists for the collection', function () {
|
|
7
|
+
var FORM_DATA = {};
|
|
8
|
+
var 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', function () {
|
|
12
|
+
var FORM_DATA = {
|
|
13
13
|
testCollectionActiveId: '1'
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
var 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', function () {
|
|
19
|
+
var FORM_DATA = {
|
|
20
20
|
grandchildActiveId: '1'
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
var activeId = (0, _getCollectionPageActiveId.default)('parent.child.grandchild', FORM_DATA);
|
|
23
23
|
expect(activeId).toEqual(FORM_DATA.grandchildActiveId);
|
|
24
24
|
});
|
|
25
25
|
});
|
|
@@ -4,15 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var isValidIndex = function isValidIndex(value) {
|
|
8
|
+
return typeof value === 'number' && value >= 0;
|
|
9
|
+
};
|
|
10
|
+
var getLastActiveIndexInChain = function getLastActiveIndexInChain(collectionNames, data, formData) {
|
|
9
11
|
var _data$currentName;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
var currentName = collectionNames[0];
|
|
13
|
+
var activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
12
14
|
if (!activeId) {
|
|
13
15
|
return null;
|
|
14
16
|
}
|
|
15
|
-
|
|
17
|
+
var activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(function (item) {
|
|
18
|
+
return item.id === activeId;
|
|
19
|
+
});
|
|
16
20
|
if (!isValidIndex(activeIndex)) {
|
|
17
21
|
return null;
|
|
18
22
|
}
|
|
@@ -36,8 +40,8 @@ const getLastActiveIndexInChain = (collectionNames, data, formData) => {
|
|
|
36
40
|
* @param {object} data Top-level formData.
|
|
37
41
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
38
42
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
var getCollectionPageActiveIndex = function getCollectionPageActiveIndex(collectionName, formData) {
|
|
44
|
+
var nameParts = collectionName.split('.');
|
|
41
45
|
return getLastActiveIndexInChain(nameParts, formData, formData);
|
|
42
46
|
};
|
|
43
47
|
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', function () {
|
|
8
|
+
it('should return the index of the active item in the collection, if one exists', function () {
|
|
9
|
+
var COLLECTION_NAME = 'test';
|
|
10
|
+
var ACTIVE_ID = '002';
|
|
11
|
+
var FORM_DATA = {
|
|
12
12
|
testActiveId: ACTIVE_ID,
|
|
13
13
|
test: [{
|
|
14
14
|
id: '001'
|
|
@@ -16,7 +16,7 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
16
16
|
id: '002'
|
|
17
17
|
}]
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
var PAGE = {
|
|
20
20
|
collection: {
|
|
21
21
|
name: COLLECTION_NAME
|
|
22
22
|
},
|
|
@@ -24,10 +24,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
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', function () {
|
|
28
|
+
var COLLECTION_NAME = 'parent.child';
|
|
29
|
+
var ACTIVE_ID = '001';
|
|
30
|
+
var FORM_DATA = {
|
|
31
31
|
parentActiveId: '001',
|
|
32
32
|
childActiveId: ACTIVE_ID,
|
|
33
33
|
parent: [{
|
|
@@ -42,16 +42,16 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
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', function () {
|
|
46
|
+
var COLLECTION_NAME = 'test';
|
|
47
|
+
var ACTIVE_ID = '002';
|
|
48
|
+
var FORM_DATA = {
|
|
49
49
|
testActiveId: ACTIVE_ID,
|
|
50
50
|
test: [{
|
|
51
51
|
id: '001'
|
|
52
52
|
}]
|
|
53
53
|
};
|
|
54
|
-
|
|
54
|
+
var PAGE = {
|
|
55
55
|
collection: {
|
|
56
56
|
name: COLLECTION_NAME
|
|
57
57
|
},
|
|
@@ -59,10 +59,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
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', function () {
|
|
63
|
+
var COLLECTION_NAME = 'parent.child';
|
|
64
|
+
var ACTIVE_ID = '002';
|
|
65
|
+
var FORM_DATA = {
|
|
66
66
|
parentActiveId: '001',
|
|
67
67
|
childActiveId: ACTIVE_ID,
|
|
68
68
|
parent: [{
|
|
@@ -75,9 +75,9 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
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', function () {
|
|
79
|
+
var COLLECTION_NAME = 'test';
|
|
80
|
+
var PAGE = {
|
|
81
81
|
collection: {
|
|
82
82
|
name: COLLECTION_NAME
|
|
83
83
|
}
|
|
@@ -4,22 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var isValidIndex = function isValidIndex(value) {
|
|
8
|
+
return typeof value === 'number' && value >= 0;
|
|
9
|
+
};
|
|
10
|
+
var getLastDataInChain = function getLastDataInChain(collectionNames, data, formData) {
|
|
9
11
|
var _data$currentName;
|
|
10
|
-
|
|
12
|
+
var currentName = collectionNames[0];
|
|
11
13
|
// If we're at the last collection in the chain, then just
|
|
12
14
|
// try and grab its data.
|
|
13
15
|
if (collectionNames.length === 1) {
|
|
14
16
|
return data[currentName] || null;
|
|
15
17
|
}
|
|
16
|
-
|
|
18
|
+
var activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
17
19
|
// No active ID for the current collection - the chain
|
|
18
20
|
// has been broken!
|
|
19
21
|
if (!activeId) {
|
|
20
22
|
return null;
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
var activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(function (item) {
|
|
25
|
+
return item.id === activeId;
|
|
26
|
+
});
|
|
23
27
|
// No entry that matches the active ID - the chain
|
|
24
28
|
// has been broken!
|
|
25
29
|
if (!isValidIndex(activeIndex)) {
|
|
@@ -44,9 +48,9 @@ const getLastDataInChain = (collectionNames, data, formData) => {
|
|
|
44
48
|
* @param {object} data The top level formData object.
|
|
45
49
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
46
50
|
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
var getCollectionPageData = function getCollectionPageData(collectionName, formData) {
|
|
52
|
+
var nameParts = collectionName.split('.');
|
|
53
|
+
var result = getLastDataInChain(nameParts, formData, formData);
|
|
50
54
|
return result;
|
|
51
55
|
};
|
|
52
56
|
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', function () {
|
|
6
|
+
it('should return null if the collection does not exist', function () {
|
|
7
|
+
var 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', function () {
|
|
11
|
+
it('should return null if a parent collection does not exist', function () {
|
|
12
|
+
var FORM_DATA = {
|
|
13
13
|
parentsActiveId: '1',
|
|
14
14
|
childrenActiveId: '1',
|
|
15
15
|
grandchildrenActiveId: '1',
|
|
@@ -24,11 +24,11 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
24
24
|
}]
|
|
25
25
|
}]
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
var 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', function () {
|
|
31
|
+
var FORM_DATA = {
|
|
32
32
|
parentsActiveId: '1',
|
|
33
33
|
grandchildrenActiveId: '1',
|
|
34
34
|
parents: [{
|
|
@@ -42,11 +42,11 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
42
42
|
}]
|
|
43
43
|
}]
|
|
44
44
|
};
|
|
45
|
-
|
|
45
|
+
var 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', function () {
|
|
49
|
+
var FORM_DATA = {
|
|
50
50
|
parentsActiveId: '1',
|
|
51
51
|
grandchildrenActiveId: '1',
|
|
52
52
|
parents: [{
|
|
@@ -56,18 +56,18 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
56
56
|
}]
|
|
57
57
|
}]
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
var 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', function () {
|
|
64
|
+
var FORM_DATA = {
|
|
65
65
|
testCollection: [{
|
|
66
66
|
id: '1',
|
|
67
67
|
value: 'Alpha'
|
|
68
68
|
}]
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
var 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', () => {
|
|
|
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', function () {
|
|
79
|
+
var FORM_DATA = {
|
|
80
80
|
parentsActiveId: '1',
|
|
81
81
|
childrenActiveId: '1',
|
|
82
82
|
grandchildrenActiveId: '1',
|
|
@@ -91,7 +91,7 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
91
91
|
}]
|
|
92
92
|
}]
|
|
93
93
|
};
|
|
94
|
-
|
|
94
|
+
var 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({
|
|
@@ -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
|
* Generates a new renderable page configuration containing just the components specified in the config.
|
|
9
15
|
* Page is intended for rendering within a CollectionSummarys QuickEdit section.
|
|
@@ -22,34 +28,31 @@ exports.default = void 0;
|
|
|
22
28
|
* @param {array} pages all the pages in the form
|
|
23
29
|
* @returns Page suitble for rendering in a QuickEdit
|
|
24
30
|
*/
|
|
25
|
-
|
|
31
|
+
var getQuickEditPage = function getQuickEditPage(config, pages, entryData) {
|
|
26
32
|
if (!config || !pages) {
|
|
27
33
|
return undefined;
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
// Create array of full component definitions
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
pages.forEach(page
|
|
37
|
+
var components = config.components;
|
|
38
|
+
var componentsRaised = components.map(function (component) {
|
|
39
|
+
return component.use;
|
|
40
|
+
});
|
|
41
|
+
var fullComponents = [];
|
|
42
|
+
pages.forEach(function (page) {
|
|
37
43
|
var _page$components;
|
|
38
|
-
(_page$components = page.components) === null || _page$components === void 0 || _page$components.forEach(component
|
|
44
|
+
(_page$components = page.components) === null || _page$components === void 0 || _page$components.forEach(function (component) {
|
|
39
45
|
if (componentsRaised.includes(component.id)) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
...component,
|
|
43
|
-
...providedConfig
|
|
46
|
+
var providedConfig = components.find(function (c) {
|
|
47
|
+
return c.use === component.id;
|
|
44
48
|
});
|
|
49
|
+
fullComponents.push(_objectSpread(_objectSpread({}, component), providedConfig));
|
|
45
50
|
}
|
|
46
51
|
});
|
|
47
52
|
});
|
|
48
53
|
|
|
49
54
|
// Put components and actions onto page object
|
|
50
|
-
|
|
51
|
-
...pages[0]
|
|
52
|
-
};
|
|
55
|
+
var pageToReturn = _objectSpread({}, pages[0]);
|
|
53
56
|
pageToReturn.components = fullComponents;
|
|
54
57
|
pageToReturn.actions = [{
|
|
55
58
|
type: 'save',
|
|
@@ -63,10 +66,7 @@ const getQuickEditPage = (config, pages, entryData) => {
|
|
|
63
66
|
}];
|
|
64
67
|
|
|
65
68
|
// Need to have the collection data at the top level
|
|
66
|
-
pageToReturn.formData = {
|
|
67
|
-
...pageToReturn.formData,
|
|
68
|
-
...entryData
|
|
69
|
-
};
|
|
69
|
+
pageToReturn.formData = _objectSpread(_objectSpread({}, pageToReturn.formData), entryData);
|
|
70
70
|
delete pageToReturn.title;
|
|
71
71
|
return pageToReturn;
|
|
72
72
|
};
|