@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +16 -25
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +21 -27
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -12,51 +12,46 @@ var _getComponentRowForCYA = _interopRequireDefault(require("../../utils/CheckYo
|
|
|
12
12
|
var _getCYARowsForContainer = _interopRequireDefault(require("../../utils/CheckYourAnswers/getCYARowsForContainer"));
|
|
13
13
|
var _showComponent = _interopRequireDefault(require("../../utils/Component/showComponent"));
|
|
14
14
|
require("./SummaryCardDetails.scss");
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
15
|
+
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); }
|
|
16
|
+
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 && {}.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; }
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
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; }
|
|
22
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
23
|
-
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); } // Global imports.
|
|
18
|
+
// Global imports.
|
|
19
|
+
|
|
24
20
|
// Local imports.
|
|
21
|
+
|
|
25
22
|
// Styles.
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
|
|
24
|
+
const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-summary-card-details';
|
|
25
|
+
const SummaryCardDetails = _ref => {
|
|
28
26
|
var _masterPage$childPage;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}, [masterPage, childCollections]);
|
|
46
|
-
var getSectionContent = function getSectionContent(section, components, childPage) {
|
|
47
|
-
var columnIndex = 0;
|
|
48
|
-
return section.columns.flatMap(function (column, index) {
|
|
27
|
+
let {
|
|
28
|
+
masterPage,
|
|
29
|
+
childCollections,
|
|
30
|
+
formData,
|
|
31
|
+
entryData,
|
|
32
|
+
classModifiers,
|
|
33
|
+
hideChildSectionTitles
|
|
34
|
+
} = _ref;
|
|
35
|
+
const classes = _utils.default.classBuilder(DEFAULT_CLASS, classModifiers);
|
|
36
|
+
const childMasterPages = (0, _react.useMemo)(() => childCollections.map(childName => masterPage.childPages.find(page => {
|
|
37
|
+
var _page$collection;
|
|
38
|
+
return ((_page$collection = page.collection) === null || _page$collection === void 0 ? void 0 : _page$collection.name) === childName;
|
|
39
|
+
})).filter(e => !!e), [masterPage, childCollections]);
|
|
40
|
+
const getSectionContent = (section, components, childPage) => {
|
|
41
|
+
let columnIndex = 0;
|
|
42
|
+
return section.columns.flatMap((column, index) => {
|
|
49
43
|
var _column$fields;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
44
|
+
let rowIndex = 0;
|
|
45
|
+
const columnContent = (_column$fields = column.fields) === null || _column$fields === void 0 ? void 0 : _column$fields.flatMap(fieldId => {
|
|
46
|
+
const component = components.find(comp => comp.fieldId === fieldId);
|
|
47
|
+
if (!component || !(0, _showComponent.default)(component, {
|
|
48
|
+
...childPage.formData,
|
|
49
|
+
...entryData
|
|
50
|
+
})) {
|
|
56
51
|
return null;
|
|
57
52
|
}
|
|
58
53
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
59
|
-
|
|
54
|
+
const containerRows = (0, _getCYARowsForContainer.default)(childPage, component, entryData);
|
|
60
55
|
rowIndex += 1;
|
|
61
56
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
62
57
|
key: fieldId,
|
|
@@ -65,13 +60,21 @@ var SummaryCardDetails = function SummaryCardDetails(_ref) {
|
|
|
65
60
|
'--column': columnIndex + 1,
|
|
66
61
|
'--row': rowIndex
|
|
67
62
|
}
|
|
68
|
-
}, containerRows.map(
|
|
63
|
+
}, containerRows.map(subComponent => {
|
|
69
64
|
var _entryData$component$;
|
|
70
65
|
// Put value for current subcomponent at top level
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
66
|
+
const modEntry = {
|
|
67
|
+
...entryData,
|
|
68
|
+
...{
|
|
69
|
+
[subComponent.fieldId]: (_entryData$component$ = entryData[component.fieldId]) === null || _entryData$component$ === void 0 ? void 0 : _entryData$component$[subComponent.fieldId]
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return (0, _getComponentRowForCYA.default)(childPage, {
|
|
73
|
+
...subComponent,
|
|
74
|
+
...{
|
|
75
|
+
label: subComponent.key
|
|
76
|
+
}
|
|
77
|
+
}, classes, modEntry);
|
|
75
78
|
}));
|
|
76
79
|
}
|
|
77
80
|
rowIndex += 1;
|
|
@@ -83,14 +86,12 @@ var SummaryCardDetails = function SummaryCardDetails(_ref) {
|
|
|
83
86
|
'--row': rowIndex
|
|
84
87
|
}
|
|
85
88
|
}, (0, _getComponentRowForCYA.default)(childPage, component, classes, entryData));
|
|
86
|
-
}).filter(
|
|
87
|
-
return !!e;
|
|
88
|
-
});
|
|
89
|
+
}).filter(e => !!e);
|
|
89
90
|
// If the column that's just been generated has anything in it
|
|
90
91
|
// then we stick a divider on it's right side. The divider isn't
|
|
91
92
|
// passed rowIndex as it spans all rows. columnIndex is incremented
|
|
92
93
|
// twice to account for the divider column too.
|
|
93
|
-
|
|
94
|
+
const lastColumn = index === section.columns.length - 1;
|
|
94
95
|
if (!lastColumn && columnContent.length !== 0) {
|
|
95
96
|
columnIndex += 2;
|
|
96
97
|
return [].concat(columnContent, [/*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -102,36 +103,38 @@ var SummaryCardDetails = function SummaryCardDetails(_ref) {
|
|
|
102
103
|
})]);
|
|
103
104
|
}
|
|
104
105
|
return columnContent;
|
|
105
|
-
}).filter(
|
|
106
|
-
return !!e;
|
|
107
|
-
});
|
|
106
|
+
}).filter(e => !!e);
|
|
108
107
|
};
|
|
109
|
-
return (masterPage === null || masterPage === void 0 || (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.filter(
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
return (masterPage === null || masterPage === void 0 || (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.filter(p => _utils.default.FormPage.show(p, {
|
|
109
|
+
...formData,
|
|
110
|
+
...entryData
|
|
111
|
+
})).map(childPage => {
|
|
112
112
|
var _childPage$summaryLay;
|
|
113
|
-
|
|
114
|
-
return (_childPage$summaryLay = childPage.summaryLayout) === null || _childPage$summaryLay === void 0 ? void 0 : _childPage$summaryLay.sections.map(
|
|
115
|
-
if (section.show_when && !_utils.default.Condition.meetsAll(section.show_when,
|
|
113
|
+
const allPageComponents = _utils.default.Component.elevateNested(childPage === null || childPage === void 0 ? void 0 : childPage.components, entryData);
|
|
114
|
+
return (_childPage$summaryLay = childPage.summaryLayout) === null || _childPage$summaryLay === void 0 ? void 0 : _childPage$summaryLay.sections.map(section => {
|
|
115
|
+
if (section.show_when && !_utils.default.Condition.meetsAll(section.show_when, {
|
|
116
|
+
...formData,
|
|
117
|
+
...entryData
|
|
118
|
+
})) {
|
|
116
119
|
return null;
|
|
117
120
|
}
|
|
118
121
|
if (section.type === 'childCollection') {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
});
|
|
122
|
-
var childFormData = entryData[section.collectionName.split('.').pop()] || [];
|
|
122
|
+
const childMasterPage = childMasterPages.find(p => p.collection.name === section.collectionName);
|
|
123
|
+
const childFormData = entryData[section.collectionName.split('.').pop()] || [];
|
|
123
124
|
if (childMasterPage && childFormData.length > 0) {
|
|
124
125
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h3", {
|
|
125
126
|
className: classes('section-title')
|
|
126
|
-
}, section.title), childFormData.map(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
formData
|
|
131
|
-
entryData
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
127
|
+
}, section.title), childFormData.map(entry => /*#__PURE__*/_react.default.createElement(SummaryCardDetails, {
|
|
128
|
+
masterPage: childMasterPage,
|
|
129
|
+
childMasterPages: [],
|
|
130
|
+
formData: {
|
|
131
|
+
...formData,
|
|
132
|
+
...entryData,
|
|
133
|
+
...entry
|
|
134
|
+
},
|
|
135
|
+
entryData: entry,
|
|
136
|
+
hideChildSectionTitles: true
|
|
137
|
+
})));
|
|
135
138
|
}
|
|
136
139
|
return null;
|
|
137
140
|
}
|
|
@@ -147,9 +150,7 @@ var SummaryCardDetails = function SummaryCardDetails(_ref) {
|
|
|
147
150
|
}
|
|
148
151
|
}, getSectionContent(section, allPageComponents, childPage)));
|
|
149
152
|
});
|
|
150
|
-
}).filter(
|
|
151
|
-
return !!e;
|
|
152
|
-
})) || null;
|
|
153
|
+
}).filter(e => !!e)) || null;
|
|
153
154
|
};
|
|
154
155
|
SummaryCardDetails.propTypes = {
|
|
155
156
|
childCollections: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
@@ -4,19 +4,16 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
4
4
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
5
5
|
var _setupTests = require("../../setupTests");
|
|
6
6
|
var _SummaryCardDetails = _interopRequireWildcard(require("./SummaryCardDetails"));
|
|
7
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
8
|
-
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 && {}.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; }
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
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; }
|
|
13
|
-
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; }
|
|
14
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
-
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); } // Global imports.
|
|
10
|
+
// Global imports.
|
|
11
|
+
|
|
16
12
|
// Local imports.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
|
|
14
|
+
describe('components.CollectionSummary.SummaryCardDetails', () => {
|
|
15
|
+
const classes = _copReactComponents.Utils.classBuilder(_SummaryCardDetails.DEFAULT_CLASS, [], '');
|
|
16
|
+
const ENTRY = {
|
|
20
17
|
id: '001',
|
|
21
18
|
bannerText: 'A banner',
|
|
22
19
|
titleText: 'A title',
|
|
@@ -33,8 +30,8 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
33
30
|
childField2: 'bravo'
|
|
34
31
|
}]
|
|
35
32
|
};
|
|
36
|
-
it('should render sections and fields based on summaryLayout config',
|
|
37
|
-
|
|
33
|
+
it('should render sections and fields based on summaryLayout config', () => {
|
|
34
|
+
const CHILD_PAGES = [{
|
|
38
35
|
summaryLayout: {
|
|
39
36
|
sections: [{
|
|
40
37
|
title: 'Section 1',
|
|
@@ -58,36 +55,35 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
58
55
|
fieldId: 'fieldC'
|
|
59
56
|
}]
|
|
60
57
|
}];
|
|
61
|
-
|
|
58
|
+
const MASTER_PAGE = {
|
|
62
59
|
childPages: CHILD_PAGES
|
|
63
60
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
61
|
+
const {
|
|
62
|
+
container
|
|
63
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
64
|
+
masterPage: MASTER_PAGE,
|
|
65
|
+
childMasterPages: [],
|
|
66
|
+
formData: {},
|
|
67
|
+
entryData: ENTRY
|
|
68
|
+
}));
|
|
71
69
|
|
|
72
70
|
// Function to find an element by its text content
|
|
73
71
|
function getByTextContent(parent, text) {
|
|
74
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
75
|
-
return el.textContent === text;
|
|
76
|
-
});
|
|
72
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
77
73
|
}
|
|
78
74
|
|
|
79
75
|
// Check for section titles
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
77
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
82
78
|
expect(section1Title).not.toBeUndefined();
|
|
83
79
|
expect(section2Title).not.toBeUndefined();
|
|
84
|
-
|
|
80
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
85
81
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(2);
|
|
86
|
-
|
|
82
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
87
83
|
expect(section2Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
88
84
|
});
|
|
89
|
-
it('should render sections containing containers based on summaryLayout config',
|
|
90
|
-
|
|
85
|
+
it('should render sections containing containers based on summaryLayout config', () => {
|
|
86
|
+
const CHILD_PAGES = [{
|
|
91
87
|
summaryLayout: {
|
|
92
88
|
sections: [{
|
|
93
89
|
title: 'Section 1',
|
|
@@ -112,7 +108,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
112
108
|
}]
|
|
113
109
|
}]
|
|
114
110
|
}];
|
|
115
|
-
|
|
111
|
+
const CONTAINER_ENTRY = {
|
|
116
112
|
id: '001',
|
|
117
113
|
bannerText: 'A banner',
|
|
118
114
|
titleText: 'A title',
|
|
@@ -125,30 +121,29 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
125
121
|
subThree: 'charlie'
|
|
126
122
|
}
|
|
127
123
|
};
|
|
128
|
-
|
|
124
|
+
const MASTER_PAGE = {
|
|
129
125
|
childPages: CHILD_PAGES
|
|
130
126
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
127
|
+
const {
|
|
128
|
+
container
|
|
129
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
130
|
+
masterPage: MASTER_PAGE,
|
|
131
|
+
childMasterPages: [],
|
|
132
|
+
formData: {},
|
|
133
|
+
entryData: CONTAINER_ENTRY
|
|
134
|
+
}));
|
|
138
135
|
|
|
139
136
|
// Function to find an element by its text content
|
|
140
137
|
function getByTextContent(parent, text) {
|
|
141
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
142
|
-
return el.textContent === text;
|
|
143
|
-
});
|
|
138
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
144
139
|
}
|
|
145
140
|
|
|
146
141
|
// Check for section title
|
|
147
|
-
|
|
142
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
148
143
|
expect(section1Title).not.toBeUndefined();
|
|
149
144
|
|
|
150
145
|
// All three subcomponents from the container should have labels and values displayed
|
|
151
|
-
|
|
146
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
152
147
|
expect(section1Content.textContent).toContain('subOneLabel');
|
|
153
148
|
expect(section1Content.textContent).toContain('alpha');
|
|
154
149
|
expect(section1Content.textContent).toContain('subTwoLabel');
|
|
@@ -156,8 +151,8 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
156
151
|
expect(section1Content.textContent).toContain('subThreeLabel');
|
|
157
152
|
expect(section1Content.textContent).toContain('charlie');
|
|
158
153
|
});
|
|
159
|
-
it('should render sections if they have show_when checks and pass them',
|
|
160
|
-
|
|
154
|
+
it('should render sections if they have show_when checks and pass them', () => {
|
|
155
|
+
const CHILD_PAGES = [{
|
|
161
156
|
summaryLayout: {
|
|
162
157
|
sections: [{
|
|
163
158
|
title: 'Section 1',
|
|
@@ -186,39 +181,39 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
186
181
|
fieldId: 'fieldC'
|
|
187
182
|
}]
|
|
188
183
|
}];
|
|
189
|
-
|
|
184
|
+
const MASTER_PAGE = {
|
|
190
185
|
childPages: CHILD_PAGES
|
|
191
186
|
};
|
|
192
|
-
|
|
187
|
+
const CUSTOM_ENTRY = {
|
|
188
|
+
...ENTRY,
|
|
193
189
|
showSection1: true
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
190
|
+
};
|
|
191
|
+
const {
|
|
192
|
+
container
|
|
193
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
194
|
+
masterPage: MASTER_PAGE,
|
|
195
|
+
childMasterPages: [],
|
|
196
|
+
formData: {},
|
|
197
|
+
entryData: CUSTOM_ENTRY
|
|
198
|
+
}));
|
|
202
199
|
|
|
203
200
|
// Function to find an element by its text content
|
|
204
201
|
function getByTextContent(parent, text) {
|
|
205
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
206
|
-
return el.textContent === text;
|
|
207
|
-
});
|
|
202
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
208
203
|
}
|
|
209
204
|
|
|
210
205
|
// Check for section titles
|
|
211
|
-
|
|
212
|
-
|
|
206
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
207
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
213
208
|
expect(section1Title).not.toBeUndefined();
|
|
214
209
|
expect(section2Title).not.toBeUndefined();
|
|
215
|
-
|
|
210
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
216
211
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(2);
|
|
217
|
-
|
|
212
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
218
213
|
expect(section2Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
219
214
|
});
|
|
220
|
-
it('should not render sections if they have show_when checks and fail them',
|
|
221
|
-
|
|
215
|
+
it('should not render sections if they have show_when checks and fail them', () => {
|
|
216
|
+
const CHILD_PAGES = [{
|
|
222
217
|
summaryLayout: {
|
|
223
218
|
sections: [{
|
|
224
219
|
title: 'Section 1',
|
|
@@ -247,37 +242,37 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
247
242
|
fieldId: 'fieldC'
|
|
248
243
|
}]
|
|
249
244
|
}];
|
|
250
|
-
|
|
245
|
+
const MASTER_PAGE = {
|
|
251
246
|
childPages: CHILD_PAGES
|
|
252
247
|
};
|
|
253
|
-
|
|
248
|
+
const CUSTOM_ENTRY = {
|
|
249
|
+
...ENTRY,
|
|
254
250
|
showSection1: false
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}
|
|
262
|
-
|
|
251
|
+
};
|
|
252
|
+
const {
|
|
253
|
+
container
|
|
254
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
255
|
+
masterPage: MASTER_PAGE,
|
|
256
|
+
childMasterPages: [],
|
|
257
|
+
formData: {},
|
|
258
|
+
entryData: CUSTOM_ENTRY
|
|
259
|
+
}));
|
|
263
260
|
|
|
264
261
|
// Function to find an element by its text content
|
|
265
262
|
function getByTextContent(parent, text) {
|
|
266
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
267
|
-
return el.textContent === text;
|
|
268
|
-
});
|
|
263
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
269
264
|
}
|
|
270
265
|
|
|
271
266
|
// Check for section titles
|
|
272
|
-
|
|
273
|
-
|
|
267
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
268
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
274
269
|
expect(section1Title).toBeUndefined();
|
|
275
270
|
expect(section2Title).not.toBeUndefined();
|
|
276
|
-
|
|
271
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
277
272
|
expect(section2Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
278
273
|
});
|
|
279
|
-
it('should not render components that fail show_when checks',
|
|
280
|
-
|
|
274
|
+
it('should not render components that fail show_when checks', () => {
|
|
275
|
+
const CHILD_PAGES = [{
|
|
281
276
|
summaryLayout: {
|
|
282
277
|
sections: [{
|
|
283
278
|
title: 'Section 1',
|
|
@@ -306,37 +301,36 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
306
301
|
fieldId: 'fieldC'
|
|
307
302
|
}]
|
|
308
303
|
}];
|
|
309
|
-
|
|
304
|
+
const MASTER_PAGE = {
|
|
310
305
|
childPages: CHILD_PAGES
|
|
311
306
|
};
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}
|
|
318
|
-
|
|
307
|
+
const {
|
|
308
|
+
container
|
|
309
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
310
|
+
masterPage: MASTER_PAGE,
|
|
311
|
+
childMasterPages: [],
|
|
312
|
+
formData: {},
|
|
313
|
+
entryData: ENTRY
|
|
314
|
+
}));
|
|
319
315
|
|
|
320
316
|
// Function to find an element by its text content
|
|
321
317
|
function getByTextContent(parent, text) {
|
|
322
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
323
|
-
return el.textContent === text;
|
|
324
|
-
});
|
|
318
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
325
319
|
}
|
|
326
320
|
|
|
327
321
|
// Check for section titles
|
|
328
|
-
|
|
329
|
-
|
|
322
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
323
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
330
324
|
expect(section1Title).not.toBeUndefined();
|
|
331
325
|
expect(section2Title).not.toBeUndefined();
|
|
332
|
-
|
|
326
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
333
327
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1); // Just Field A, Field B should be hidden.
|
|
334
328
|
|
|
335
|
-
|
|
329
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
336
330
|
expect(section2Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
337
331
|
});
|
|
338
|
-
it('should not render sections on pages that fail show_when checks',
|
|
339
|
-
|
|
332
|
+
it('should not render sections on pages that fail show_when checks', () => {
|
|
333
|
+
const CHILD_PAGES = [{
|
|
340
334
|
show_when: [{
|
|
341
335
|
field: 'testField',
|
|
342
336
|
op: '=',
|
|
@@ -370,37 +364,37 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
370
364
|
fieldId: 'fieldC'
|
|
371
365
|
}]
|
|
372
366
|
}];
|
|
373
|
-
|
|
367
|
+
const MASTER_PAGE = {
|
|
374
368
|
childPages: CHILD_PAGES
|
|
375
369
|
};
|
|
376
|
-
|
|
370
|
+
const CUSTOM_ENTRY = {
|
|
371
|
+
...ENTRY,
|
|
377
372
|
showSection1: false
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
387
|
-
|
|
373
|
+
};
|
|
374
|
+
const {
|
|
375
|
+
container
|
|
376
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
377
|
+
masterPage: MASTER_PAGE,
|
|
378
|
+
childMasterPages: [],
|
|
379
|
+
formData: {
|
|
380
|
+
testField: false
|
|
381
|
+
},
|
|
382
|
+
entryData: CUSTOM_ENTRY
|
|
383
|
+
}));
|
|
388
384
|
|
|
389
385
|
// Function to find an element by its text content
|
|
390
386
|
function getByTextContent(parent, text) {
|
|
391
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
392
|
-
return el.textContent === text;
|
|
393
|
-
});
|
|
387
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
394
388
|
}
|
|
395
389
|
|
|
396
390
|
// Check for section titles
|
|
397
|
-
|
|
398
|
-
|
|
391
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
392
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
399
393
|
expect(section1Title).toBeUndefined();
|
|
400
394
|
expect(section2Title).toBeUndefined();
|
|
401
395
|
});
|
|
402
|
-
it('should render child collections',
|
|
403
|
-
|
|
396
|
+
it('should render child collections', () => {
|
|
397
|
+
const CHILD_MASTER_PAGES = [{
|
|
404
398
|
collection: {
|
|
405
399
|
name: 'childCollection'
|
|
406
400
|
},
|
|
@@ -422,7 +416,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
422
416
|
}
|
|
423
417
|
}]
|
|
424
418
|
}];
|
|
425
|
-
|
|
419
|
+
const CHILD_PAGES = [{
|
|
426
420
|
summaryLayout: {
|
|
427
421
|
sections: [{
|
|
428
422
|
type: 'childCollection',
|
|
@@ -438,30 +432,29 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
438
432
|
fieldId: 'fieldC'
|
|
439
433
|
}]
|
|
440
434
|
}];
|
|
441
|
-
|
|
435
|
+
const MASTER_PAGE = {
|
|
442
436
|
childPages: [].concat(CHILD_PAGES, CHILD_MASTER_PAGES)
|
|
443
437
|
};
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
}
|
|
451
|
-
|
|
438
|
+
const CHILD_COLLECTIONS = ['childCollection'];
|
|
439
|
+
const {
|
|
440
|
+
container
|
|
441
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
442
|
+
masterPage: MASTER_PAGE,
|
|
443
|
+
childCollections: CHILD_COLLECTIONS,
|
|
444
|
+
formData: {},
|
|
445
|
+
entryData: ENTRY
|
|
446
|
+
}));
|
|
452
447
|
|
|
453
448
|
// Function to find an element by its text content
|
|
454
449
|
function getByTextContent(parent, text) {
|
|
455
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
456
|
-
return el.textContent === text;
|
|
457
|
-
});
|
|
450
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
458
451
|
}
|
|
459
|
-
|
|
452
|
+
const childCollectionSectionTitle = getByTextContent(container, 'Children');
|
|
460
453
|
expect(childCollectionSectionTitle).not.toBeUndefined();
|
|
461
|
-
|
|
454
|
+
const childSectionTitles = getByTextContent(container, 'Hidden Title');
|
|
462
455
|
expect(childSectionTitles).toBeUndefined(); // Individual section title for child collections should be hidden.
|
|
463
456
|
|
|
464
|
-
|
|
457
|
+
const childFields = container.querySelectorAll(".".concat(classes('section')));
|
|
465
458
|
expect(childFields.length).toEqual(2); // One for each entry in the child collection.
|
|
466
459
|
});
|
|
467
460
|
});
|