@ukhomeoffice/cop-react-form-renderer 5.45.1 → 5.45.2-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 +464 -769
- package/dist/components/CollectionPage/CollectionPage.js +66 -58
- package/dist/components/CollectionPage/CollectionPage.test.js +300 -342
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +63 -59
- package/dist/components/CollectionSummary/CollectionSummary.js +60 -75
- package/dist/components/CollectionSummary/CollectionSummary.test.js +102 -96
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/SummaryCard.js +93 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +902 -924
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +23 -29
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +61 -73
- package/dist/components/FormComponent/Collection.js +73 -107
- package/dist/components/FormComponent/Collection.test.js +809 -945
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +67 -70
- package/dist/components/FormComponent/FormComponent.test.js +284 -342
- 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 +142 -178
- 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 +9 -9
- 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 +97 -91
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -73
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +43 -39
- package/dist/components/FormRenderer/onPageAction.test.js +223 -206
- 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 +58 -79
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +32 -72
- package/dist/context/ValidationContext/ValidationContext.test.js +47 -59
- 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 +30 -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 -60
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -88
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +146 -124
- 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/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 +9 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +27 -22
- 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/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +12 -16
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +29 -30
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- 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 -70
- 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 +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +14 -17
- 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 +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 +19 -25
- package/dist/utils/Data/getOptions.test.js +20 -20
- 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/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/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/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- 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 +78 -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 -77
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -15
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -23
- 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 -46
- 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 -26
- 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/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 +14 -19
- package/dist/utils/Validate/validateContainer.test.js +49 -45
- package/dist/utils/Validate/validateDate.js +11 -17
- package/dist/utils/Validate/validateDate.test.js +28 -29
- 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 +17 -18
- package/dist/utils/Validate/validatePage.test.js +185 -182
- 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 +7 -14
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +7 -9
- package/package.json +1 -1
|
@@ -16,21 +16,21 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
16
16
|
|
|
17
17
|
// Styles.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-banner-strip';
|
|
20
|
+
const BannerStrip = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
id,
|
|
23
|
+
banners,
|
|
24
|
+
formData,
|
|
25
|
+
classModifiers
|
|
26
|
+
} = _ref;
|
|
27
|
+
const classes = _utils.default.classBuilder(DEFAULT_CLASS, classModifiers, '');
|
|
28
|
+
const filteredBanners = banners.filter(banner => _utils.default.Component.show(banner, formData));
|
|
29
29
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
30
30
|
id: id,
|
|
31
31
|
className: classes()
|
|
32
|
-
}, filteredBanners.map(
|
|
33
|
-
|
|
32
|
+
}, filteredBanners.map((banner, index) => {
|
|
33
|
+
const bannerId = "".concat(id, "-banner-").concat(index);
|
|
34
34
|
if (typeof banner === 'string') {
|
|
35
35
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
36
36
|
id: bannerId,
|
|
@@ -1,124 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
5
|
var _setupTests = require("../../setupTests");
|
|
7
6
|
var _BannerStrip = _interopRequireWildcard(require("./BannerStrip"));
|
|
8
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
9
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
7
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
8
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
10
|
// Global imports.
|
|
12
11
|
|
|
13
12
|
// Local imports.
|
|
14
13
|
|
|
15
|
-
describe('components.CollectionSummary.BannerStrip',
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
describe('components.CollectionSummary.BannerStrip', () => {
|
|
15
|
+
const ID = 'testBanner';
|
|
16
|
+
const BANNERS = ['Banner 1', 'Banner 2'];
|
|
17
|
+
const FORM_DATA = {
|
|
19
18
|
textField: 'banner'
|
|
20
19
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const classes = _copReactComponents.Utils.classBuilder(_BannerStrip.DEFAULT_CLASS, [], '');
|
|
21
|
+
const checkSetup = container => {
|
|
22
|
+
const bannerStripDiv = container.children[0];
|
|
24
23
|
expect(bannerStripDiv.tagName).toEqual('DIV');
|
|
25
24
|
expect(bannerStripDiv.id).toEqual(ID);
|
|
26
25
|
return bannerStripDiv;
|
|
27
26
|
};
|
|
28
|
-
it('should correctly render a BannerStrip component with plain-text banners',
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
it('should correctly render a BannerStrip component with plain-text banners', () => {
|
|
28
|
+
const {
|
|
29
|
+
container
|
|
30
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
|
|
31
|
+
id: ID,
|
|
32
|
+
banners: BANNERS,
|
|
33
|
+
formData: FORM_DATA
|
|
34
|
+
}));
|
|
35
|
+
const bannerStripDiv = checkSetup(container);
|
|
36
36
|
expect(bannerStripDiv.tagName).toEqual('DIV');
|
|
37
37
|
expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
|
|
38
38
|
expect(bannerStripDiv.children.length).toEqual(2); // One for each banner provided.
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
const firstBanner = bannerStripDiv.children[0];
|
|
41
41
|
expect(firstBanner.tagName).toEqual('DIV');
|
|
42
42
|
expect(firstBanner.classList).toContain(classes('banner'));
|
|
43
43
|
expect(firstBanner.textContent).toEqual(BANNERS[0]);
|
|
44
|
-
|
|
44
|
+
const secondBanner = bannerStripDiv.children[1];
|
|
45
45
|
expect(secondBanner.tagName).toEqual('DIV');
|
|
46
46
|
expect(secondBanner.classList).toContain(classes('banner'));
|
|
47
47
|
expect(secondBanner.textContent).toEqual(BANNERS[1]);
|
|
48
48
|
});
|
|
49
|
-
it('should correctly render a BannerStrip component with tag banners',
|
|
50
|
-
|
|
49
|
+
it('should correctly render a BannerStrip component with tag banners', () => {
|
|
50
|
+
const TAG_BANNERS = [{
|
|
51
51
|
text: 'Banner 1'
|
|
52
52
|
}, {
|
|
53
53
|
text: 'Banner 2'
|
|
54
54
|
}];
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
const {
|
|
56
|
+
container
|
|
57
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
|
|
58
|
+
id: ID,
|
|
59
|
+
banners: TAG_BANNERS,
|
|
60
|
+
formData: FORM_DATA
|
|
61
|
+
}));
|
|
62
|
+
const bannerStripDiv = checkSetup(container);
|
|
62
63
|
expect(bannerStripDiv.tagName).toEqual('DIV');
|
|
63
64
|
expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
|
|
64
65
|
expect(bannerStripDiv.children.length).toEqual(2); // One for each banner provided.
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
const firstBanner = bannerStripDiv.children[0];
|
|
67
68
|
expect(firstBanner.tagName).toEqual('STRONG');
|
|
68
69
|
expect(firstBanner.classList).toContain(classes('tag'));
|
|
69
70
|
expect(firstBanner.textContent).toEqual(BANNERS[0]);
|
|
70
|
-
|
|
71
|
+
const secondBanner = bannerStripDiv.children[1];
|
|
71
72
|
expect(secondBanner.tagName).toEqual('STRONG');
|
|
72
73
|
expect(secondBanner.classList).toContain(classes('tag'));
|
|
73
74
|
expect(secondBanner.textContent).toEqual(BANNERS[1]);
|
|
74
75
|
});
|
|
75
|
-
it('should correctly interpolate banners',
|
|
76
|
-
|
|
76
|
+
it('should correctly interpolate banners', () => {
|
|
77
|
+
const INTERPOLATED_BANNERS = [{
|
|
77
78
|
// eslint-disable-next-line no-template-curly-in-string
|
|
78
79
|
text: 'An interpolated ${textField}'
|
|
79
80
|
},
|
|
80
81
|
// eslint-disable-next-line no-template-curly-in-string
|
|
81
82
|
'Another interpolated ${textField}'];
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
const {
|
|
84
|
+
container
|
|
85
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
|
|
86
|
+
id: ID,
|
|
87
|
+
banners: INTERPOLATED_BANNERS,
|
|
88
|
+
formData: FORM_DATA
|
|
89
|
+
}));
|
|
90
|
+
const bannerStripDiv = checkSetup(container);
|
|
89
91
|
expect(bannerStripDiv.children.length).toEqual(2); // One for each banner provided.
|
|
90
92
|
|
|
91
|
-
|
|
93
|
+
const firstBanner = bannerStripDiv.children[0];
|
|
92
94
|
expect(firstBanner.tagName).toEqual('STRONG');
|
|
93
95
|
expect(firstBanner.classList).toContain(classes('tag'));
|
|
94
96
|
expect(firstBanner.textContent).toEqual("An interpolated ".concat(FORM_DATA.textField));
|
|
95
|
-
|
|
97
|
+
const secondBanner = bannerStripDiv.children[1];
|
|
96
98
|
expect(secondBanner.tagName).toEqual('DIV');
|
|
97
99
|
expect(secondBanner.classList).toContain(classes('banner'));
|
|
98
100
|
expect(secondBanner.textContent).toEqual("Another interpolated ".concat(FORM_DATA.textField));
|
|
99
101
|
});
|
|
100
|
-
it('should render no banners if none are provided',
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
102
|
+
it('should render no banners if none are provided', () => {
|
|
103
|
+
const {
|
|
104
|
+
container
|
|
105
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
|
|
106
|
+
id: ID,
|
|
107
|
+
formData: FORM_DATA
|
|
108
|
+
}));
|
|
109
|
+
const bannerStripDiv = checkSetup(container);
|
|
107
110
|
expect(bannerStripDiv.tagName).toEqual('DIV');
|
|
108
111
|
expect(bannerStripDiv.classList).toContain(_BannerStrip.DEFAULT_CLASS);
|
|
109
112
|
expect(bannerStripDiv.children.length).toEqual(0);
|
|
110
113
|
});
|
|
111
|
-
it('should correctly render a BannerStrip component with a plain string banner',
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
it('should correctly render a BannerStrip component with a plain string banner', () => {
|
|
115
|
+
const PLAIN_STRING_BANNER = 'banner';
|
|
116
|
+
const {
|
|
117
|
+
container
|
|
118
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_BannerStrip.default, {
|
|
119
|
+
id: ID,
|
|
120
|
+
banners: [PLAIN_STRING_BANNER],
|
|
121
|
+
formData: FORM_DATA
|
|
122
|
+
}));
|
|
123
|
+
const bannerStripDiv = checkSetup(container);
|
|
120
124
|
expect(bannerStripDiv.children.length).toEqual(1); // One banner provided.
|
|
121
|
-
|
|
125
|
+
const plainStringBanner = bannerStripDiv.children[0];
|
|
122
126
|
expect(plainStringBanner.tagName).toEqual('DIV');
|
|
123
127
|
expect(plainStringBanner.classList.contains(classes('banner'))).toBe(true);
|
|
124
128
|
expect(plainStringBanner.textContent).toEqual(PLAIN_STRING_BANNER);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -15,23 +14,16 @@ var _Confirmation = _interopRequireDefault(require("./Confirmation"));
|
|
|
15
14
|
var _SummaryCard = _interopRequireDefault(require("./SummaryCard"));
|
|
16
15
|
var _SummaryCardValidationContext = _interopRequireDefault(require("./SummaryCardValidationContext"));
|
|
17
16
|
require("./CollectionSummary.scss");
|
|
18
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
19
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
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; }
|
|
24
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
25
|
-
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); }
|
|
26
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
28
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
30
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
31
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports.
|
|
20
|
+
// Global imports.
|
|
21
|
+
|
|
32
22
|
// Local imports.
|
|
23
|
+
|
|
33
24
|
// Styles.
|
|
34
|
-
|
|
25
|
+
|
|
26
|
+
const DEFAULT_ADD_BUTTON_LABEL = exports.DEFAULT_ADD_BUTTON_LABEL = 'Add';
|
|
35
27
|
|
|
36
28
|
// A note about validation.
|
|
37
29
|
//
|
|
@@ -45,58 +37,55 @@ var DEFAULT_ADD_BUTTON_LABEL = exports.DEFAULT_ADD_BUTTON_LABEL = 'Add';
|
|
|
45
37
|
// errors found by the summary and allow the Summary Card to keep any Quick Edit
|
|
46
38
|
// errors local to the Quick Edit page.
|
|
47
39
|
|
|
48
|
-
|
|
40
|
+
const CollectionSummary = _ref => {
|
|
49
41
|
var _config$confirmation, _config$confirmation2;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
var newMasterPages = _utils.default.CollectionPage.mergePages(pages || []) || [];
|
|
68
|
-
return newMasterPages.find(function (page) {
|
|
42
|
+
let {
|
|
43
|
+
config,
|
|
44
|
+
formData,
|
|
45
|
+
onAction,
|
|
46
|
+
onChange,
|
|
47
|
+
pages
|
|
48
|
+
} = _ref;
|
|
49
|
+
const {
|
|
50
|
+
errors,
|
|
51
|
+
addErrors,
|
|
52
|
+
clearErrors
|
|
53
|
+
} = (0, _hooks.useValidation)();
|
|
54
|
+
const [entryToDelete, setEntryToDelete] = (0, _react.useState)(null);
|
|
55
|
+
const data = (0, _react.useMemo)(() => _utils.default.CollectionPage.getData(config.collectionName, formData) || [], [formData]);
|
|
56
|
+
const masterPage = (0, _react.useMemo)(() => {
|
|
57
|
+
const newMasterPages = _utils.default.CollectionPage.mergePages(pages || []) || [];
|
|
58
|
+
return newMasterPages.find(page => {
|
|
69
59
|
var _page$collection;
|
|
70
60
|
return ((_page$collection = page.collection) === null || _page$collection === void 0 ? void 0 : _page$collection.name) === config.collectionName;
|
|
71
61
|
});
|
|
72
62
|
}, [pages]);
|
|
73
|
-
|
|
63
|
+
const validateEntries = () => {
|
|
74
64
|
// We only clear errors if it's not empty to avoid
|
|
75
65
|
// triggering a race condition with the 'data' memo
|
|
76
66
|
// above.
|
|
77
67
|
if (errors.length > 0) {
|
|
78
68
|
clearErrors();
|
|
79
69
|
}
|
|
80
|
-
|
|
81
|
-
data.forEach(
|
|
70
|
+
let allErrors = [];
|
|
71
|
+
data.forEach(entry => {
|
|
82
72
|
// Validation of a collection page uses the data from the
|
|
83
73
|
// active entry, so here we have to set the active ID before
|
|
84
74
|
// validating.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
75
|
+
const childPages = masterPage === null || masterPage === void 0 ? void 0 : masterPage.childPages.map(page => ({
|
|
76
|
+
...page,
|
|
77
|
+
formData: {
|
|
78
|
+
...masterPage.formData,
|
|
79
|
+
["".concat(config.collectionName, "ActiveId")]: entry.id
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
const allPagesErrors = (childPages === null || childPages === void 0 ? void 0 : childPages.flatMap(page => _utils.default.Validate.page(page))) || [];
|
|
93
83
|
// For each error we found, add the entryId so we know what Summary Card
|
|
94
84
|
// we have to pass it to.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
});
|
|
85
|
+
const entryErrors = allPagesErrors.map(e => ({
|
|
86
|
+
...e,
|
|
87
|
+
entryId: entry.id
|
|
88
|
+
}));
|
|
100
89
|
allErrors = allErrors.concat(entryErrors);
|
|
101
90
|
});
|
|
102
91
|
// We only add allErrors if it's not empty to avoid
|
|
@@ -106,26 +95,26 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
106
95
|
addErrors(allErrors);
|
|
107
96
|
}
|
|
108
97
|
};
|
|
109
|
-
(0, _react.useEffect)(
|
|
98
|
+
(0, _react.useEffect)(() => {
|
|
110
99
|
validateEntries();
|
|
111
100
|
}, [data]);
|
|
112
|
-
|
|
101
|
+
const onSummaryCardChange = (page, entryId) => {
|
|
113
102
|
if (typeof onAction !== 'function') {
|
|
114
103
|
return;
|
|
115
104
|
}
|
|
116
105
|
onAction({
|
|
117
106
|
type: _PageAction.PageActionTypes.SAVE_AND_NAVIGATE,
|
|
118
|
-
page
|
|
107
|
+
page,
|
|
119
108
|
addToFormData: {
|
|
120
109
|
field: "".concat(config.collectionName.split('.').pop(), "ActiveId"),
|
|
121
110
|
value: entryId
|
|
122
111
|
}
|
|
123
112
|
});
|
|
124
113
|
};
|
|
125
|
-
|
|
114
|
+
const onDuplicate = entry => {
|
|
126
115
|
var _config$card;
|
|
127
116
|
_utils.default.CollectionPage.duplicateEntry(config.collectionName, formData, entry.id, ((_config$card = config.card) === null || _config$card === void 0 || (_config$card = _config$card.duplicateAction) === null || _config$card === void 0 ? void 0 : _config$card.fieldsToIgnore) || []);
|
|
128
|
-
|
|
117
|
+
const parentCollection = config.collectionName.split('.').shift();
|
|
129
118
|
// Report the whole top-level collection as being changed. We have to do this
|
|
130
119
|
// because of how patch is applied to formData on a page submission.
|
|
131
120
|
if (typeof onChange === 'function') {
|
|
@@ -138,12 +127,12 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
138
127
|
validateEntries();
|
|
139
128
|
}
|
|
140
129
|
};
|
|
141
|
-
|
|
130
|
+
const onDeleteConfirm = () => {
|
|
142
131
|
if (!entryToDelete) {
|
|
143
132
|
return;
|
|
144
133
|
}
|
|
145
134
|
_utils.default.CollectionPage.removeEntry(config.collectionName, formData, entryToDelete.id);
|
|
146
|
-
|
|
135
|
+
const parentCollection = config.collectionName.split('.').shift();
|
|
147
136
|
// Report the whole top-level collection as being changed. We have to do this
|
|
148
137
|
// because of how patch is applied to formData on a page submission.
|
|
149
138
|
if (typeof onChange === 'function') {
|
|
@@ -164,15 +153,14 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
164
153
|
message: _utils.default.interpolateString((_config$confirmation = config.confirmation) === null || _config$confirmation === void 0 ? void 0 : _config$confirmation.message, entryToDelete) || null,
|
|
165
154
|
confirmLabel: _utils.default.interpolateString((_config$confirmation2 = config.confirmation) === null || _config$confirmation2 === void 0 ? void 0 : _config$confirmation2.label, entryToDelete) || null,
|
|
166
155
|
onConfirm: onDeleteConfirm,
|
|
167
|
-
onCancel:
|
|
168
|
-
return setEntryToDelete(null);
|
|
169
|
-
}
|
|
156
|
+
onCancel: () => setEntryToDelete(null)
|
|
170
157
|
}, /*#__PURE__*/_react.default.createElement(_SummaryCard.default, {
|
|
171
158
|
id: "".concat(config.fieldId, ".confirmationChild"),
|
|
172
159
|
entryData: entryToDelete,
|
|
173
|
-
config: config.card ?
|
|
160
|
+
config: config.card ? {
|
|
161
|
+
...config.card,
|
|
174
162
|
quickEdit: null
|
|
175
|
-
}
|
|
163
|
+
} : {},
|
|
176
164
|
masterPage: masterPage,
|
|
177
165
|
classModifiers: "nested",
|
|
178
166
|
hideDetails: true
|
|
@@ -186,35 +174,32 @@ var CollectionSummary = function CollectionSummary(_ref) {
|
|
|
186
174
|
classModifiers: ['secondary']
|
|
187
175
|
},
|
|
188
176
|
onAction: onAction
|
|
189
|
-
}), data.map(
|
|
190
|
-
|
|
177
|
+
}), data.map((entry, index) => {
|
|
178
|
+
const key = "".concat(config.fieldId, ".summaryCard").concat(entry.id);
|
|
191
179
|
return /*#__PURE__*/_react.default.createElement(_SummaryCardValidationContext.default, {
|
|
192
180
|
entryId: entry.id,
|
|
193
181
|
topLevelErrors: errors
|
|
194
182
|
}, /*#__PURE__*/_react.default.createElement(_SummaryCard.default, {
|
|
195
183
|
id: key,
|
|
196
184
|
key: key,
|
|
197
|
-
entryData:
|
|
198
|
-
|
|
199
|
-
|
|
185
|
+
entryData: {
|
|
186
|
+
...entry,
|
|
187
|
+
index
|
|
188
|
+
},
|
|
200
189
|
masterPage: masterPage,
|
|
201
190
|
config: config.card || {},
|
|
202
191
|
onChange: onSummaryCardChange,
|
|
203
192
|
onDuplicate: onDuplicate,
|
|
204
|
-
onDelete:
|
|
205
|
-
return setEntryToDelete(entry);
|
|
206
|
-
},
|
|
193
|
+
onDelete: () => setEntryToDelete(entry),
|
|
207
194
|
pages: pages,
|
|
208
|
-
onQuickEdit:
|
|
195
|
+
onQuickEdit: target => {
|
|
209
196
|
validateEntries();
|
|
210
197
|
return onChange(target);
|
|
211
198
|
},
|
|
212
199
|
parentCollectionName: config.collectionName.split('.').shift(),
|
|
213
200
|
formData: formData,
|
|
214
201
|
classModifiers: entry === entryToDelete ? ['deleting-summary-card'] : [''],
|
|
215
|
-
inError: errors.filter(
|
|
216
|
-
return e.entryId === entry.id;
|
|
217
|
-
}).length > 0
|
|
202
|
+
inError: errors.filter(e => e.entryId === entry.id).length > 0
|
|
218
203
|
}));
|
|
219
204
|
}));
|
|
220
205
|
};
|