@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
|
@@ -6,49 +6,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ = _interopRequireDefault(require(".."));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
-
var getErrorsForCollection = function getErrorsForCollection(config, masterPage, formData, hooks) {
|
|
16
|
-
var activeIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
9
|
+
const getErrorsForCollection = function (config, masterPage, formData, hooks) {
|
|
10
|
+
let activeIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
17
11
|
if (!masterPage) {
|
|
18
12
|
return [];
|
|
19
13
|
}
|
|
20
14
|
// Get data for current collection
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
const collectionData = _.default.CollectionPage.getData(masterPage.collection.name, masterPage.formData) || [];
|
|
16
|
+
let allErrors = [];
|
|
23
17
|
|
|
24
18
|
// Loop over each entry in the collection data
|
|
25
|
-
collectionData.forEach(
|
|
19
|
+
collectionData.forEach(entry => {
|
|
26
20
|
var _masterPage$childPage;
|
|
27
21
|
// eslint-disable-next-line no-param-reassign
|
|
28
|
-
activeIds =
|
|
22
|
+
activeIds = {
|
|
23
|
+
...activeIds,
|
|
24
|
+
["".concat(masterPage.collection.name.split('.').pop(), "ActiveId")]: entry.id
|
|
25
|
+
};
|
|
29
26
|
|
|
30
27
|
// Loop over child pages and validate each one
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
const allPagesErrors = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(page => {
|
|
29
|
+
const pageWithIds = {
|
|
30
|
+
...page,
|
|
31
|
+
formData: {
|
|
32
|
+
...formData,
|
|
33
|
+
...activeIds
|
|
34
|
+
}
|
|
35
|
+
};
|
|
35
36
|
|
|
36
37
|
// Handle nested collections
|
|
37
38
|
if (page.childPages) {
|
|
38
39
|
return getErrorsForCollection(config, pageWithIds, formData, hooks, activeIds);
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
+
const pageErrors = _.default.Validate.page(pageWithIds);
|
|
41
42
|
return hooks.onValidate(pageWithIds, pageErrors);
|
|
42
43
|
});
|
|
43
44
|
|
|
44
45
|
// For each error add the entryId so we know what Summary Card we have to pass it to.
|
|
45
|
-
allErrors = allErrors.concat(allPagesErrors.map(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}));
|
|
46
|
+
allErrors = allErrors.concat(allPagesErrors.map(e => ({
|
|
47
|
+
...e,
|
|
48
|
+
entryId: entry.id,
|
|
49
|
+
showFor: config.id,
|
|
50
|
+
raisedBy: config.id
|
|
51
|
+
})));
|
|
52
52
|
});
|
|
53
53
|
return allErrors;
|
|
54
54
|
};
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
var _getErrorsForCollection = _interopRequireDefault(require("./getErrorsForCollection"));
|
|
4
4
|
var _models = require("../../models");
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
describe('Utils.CollectionPage.getErrorsForCollection',
|
|
7
|
-
|
|
8
|
-
onValidate:
|
|
9
|
-
return errors;
|
|
10
|
-
}
|
|
6
|
+
describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
7
|
+
const HOOKS = {
|
|
8
|
+
onValidate: (_, errors) => errors
|
|
11
9
|
};
|
|
12
|
-
|
|
10
|
+
const CONFIG = {
|
|
13
11
|
id: 'testId'
|
|
14
12
|
};
|
|
15
|
-
|
|
13
|
+
const FORM_DATA = {
|
|
16
14
|
collection: [{
|
|
17
15
|
id: 22,
|
|
18
16
|
item1: 'blue',
|
|
@@ -22,7 +20,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
|
22
20
|
}]
|
|
23
21
|
}]
|
|
24
22
|
};
|
|
25
|
-
|
|
23
|
+
const FORM_DATA_MISSING_TOP = {
|
|
26
24
|
collection: [{
|
|
27
25
|
id: 22,
|
|
28
26
|
item2: 'blue',
|
|
@@ -32,7 +30,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
|
32
30
|
}]
|
|
33
31
|
}]
|
|
34
32
|
};
|
|
35
|
-
|
|
33
|
+
const FORM_DATA_MISSING_NESTED = {
|
|
36
34
|
collection: [{
|
|
37
35
|
id: 22,
|
|
38
36
|
item1: 'blue',
|
|
@@ -42,7 +40,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
|
42
40
|
}]
|
|
43
41
|
}]
|
|
44
42
|
};
|
|
45
|
-
|
|
43
|
+
const FORM_DATA_MISSING_BOTH = {
|
|
46
44
|
collection: [{
|
|
47
45
|
id: 22,
|
|
48
46
|
item9: 'blue',
|
|
@@ -52,7 +50,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
|
52
50
|
}]
|
|
53
51
|
}]
|
|
54
52
|
};
|
|
55
|
-
|
|
53
|
+
const MASTER_PAGE = {
|
|
56
54
|
id: 'masterPage',
|
|
57
55
|
collection: {
|
|
58
56
|
name: 'collection',
|
|
@@ -79,7 +77,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
|
79
77
|
}]
|
|
80
78
|
}]
|
|
81
79
|
};
|
|
82
|
-
|
|
80
|
+
const MASTER_PAGE_WITH_NESTED = {
|
|
83
81
|
id: 'masterPage',
|
|
84
82
|
collection: {
|
|
85
83
|
name: 'collection',
|
|
@@ -132,24 +130,24 @@ describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
|
132
130
|
}]
|
|
133
131
|
}]
|
|
134
132
|
};
|
|
135
|
-
it('should return nothing for a master page without errors',
|
|
136
|
-
|
|
133
|
+
it('should return nothing for a master page without errors', () => {
|
|
134
|
+
const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA, HOOKS);
|
|
137
135
|
expect(errors.length).toEqual(0);
|
|
138
136
|
});
|
|
139
|
-
it('should return erorrs for a master page with errors',
|
|
140
|
-
|
|
137
|
+
it('should return erorrs for a master page with errors', () => {
|
|
138
|
+
const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA_MISSING_TOP, HOOKS);
|
|
141
139
|
expect(errors.length).toEqual(1);
|
|
142
140
|
});
|
|
143
|
-
it('should return nothing for a master page with a nested master page without errors',
|
|
144
|
-
|
|
141
|
+
it('should return nothing for a master page with a nested master page without errors', () => {
|
|
142
|
+
const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA, HOOKS);
|
|
145
143
|
expect(errors.length).toEqual(0);
|
|
146
144
|
});
|
|
147
|
-
it('should return errors for a master page with a nested master page without errors',
|
|
148
|
-
|
|
145
|
+
it('should return errors for a master page with a nested master page without errors', () => {
|
|
146
|
+
const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_NESTED, HOOKS);
|
|
149
147
|
expect(errors.length).toEqual(1);
|
|
150
148
|
});
|
|
151
|
-
it('should return errors for a master page with errors with a nested master page with errors',
|
|
152
|
-
|
|
149
|
+
it('should return errors for a master page with errors with a nested master page with errors', () => {
|
|
150
|
+
const errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_BOTH, HOOKS);
|
|
153
151
|
expect(errors.length).toEqual(2);
|
|
154
152
|
});
|
|
155
153
|
});
|
|
@@ -6,16 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _meetsAllConditions = _interopRequireDefault(require("../Condition/meetsAllConditions"));
|
|
8
8
|
var _showFormPage = _interopRequireDefault(require("../FormPage/showFormPage"));
|
|
9
|
-
var _excluded = ["id"];
|
|
10
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
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); }
|
|
12
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
13
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
14
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
-
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; }
|
|
16
|
-
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; }
|
|
17
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
-
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); }
|
|
19
10
|
/**
|
|
20
11
|
* Generates a new page to be used in a SumaryCard's quick edit section.
|
|
21
12
|
* The page is a standard form page that has all the components that are
|
|
@@ -50,41 +41,50 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
50
41
|
* editable or not.
|
|
51
42
|
*
|
|
52
43
|
* @param {object} masterPage The master page for the collection.
|
|
44
|
+
* @param {object} formData The top-level formData object.
|
|
53
45
|
* @param {object} entryData The data for the current collection entry.
|
|
54
46
|
* @returns Page suitble for rendering in a QuickEdit
|
|
55
47
|
*/
|
|
56
|
-
|
|
48
|
+
const getQuickEditPage = (masterPage, formData, entryData) => {
|
|
57
49
|
if (!masterPage) {
|
|
58
50
|
return null;
|
|
59
51
|
}
|
|
60
|
-
|
|
61
|
-
masterPage.childPages.forEach(
|
|
62
|
-
if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page,
|
|
52
|
+
const fullComponents = [];
|
|
53
|
+
masterPage.childPages.forEach(page => {
|
|
54
|
+
if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, {
|
|
55
|
+
...formData,
|
|
56
|
+
...entryData
|
|
57
|
+
})) {
|
|
63
58
|
return;
|
|
64
59
|
}
|
|
65
|
-
page.summaryQuickEdit.forEach(
|
|
60
|
+
page.summaryQuickEdit.forEach(quickEditComponent => {
|
|
66
61
|
if (typeof quickEditComponent === 'string') {
|
|
67
|
-
fullComponents.push(
|
|
68
|
-
|
|
69
|
-
})
|
|
62
|
+
fullComponents.push({
|
|
63
|
+
...page.components.find(c => c.id === quickEditComponent)
|
|
64
|
+
});
|
|
70
65
|
return;
|
|
71
66
|
}
|
|
72
|
-
|
|
73
|
-
return c.id === quickEditComponent.use;
|
|
74
|
-
});
|
|
67
|
+
const originalComponent = page.components.find(c => c.id === quickEditComponent.use);
|
|
75
68
|
if (!originalComponent) {
|
|
76
69
|
return;
|
|
77
70
|
}
|
|
78
|
-
|
|
71
|
+
const mergedComponent = {
|
|
72
|
+
...originalComponent,
|
|
73
|
+
...quickEditComponent
|
|
74
|
+
};
|
|
79
75
|
|
|
80
76
|
// If there's a show_when in the quick edit config, then we treat
|
|
81
77
|
// that as a specific test for when the component should be quick
|
|
82
78
|
// editable - it doesn't get spread to the merged object.
|
|
83
79
|
if (quickEditComponent.show_when) {
|
|
84
|
-
if ((0, _meetsAllConditions.default)(quickEditComponent.show_when,
|
|
85
|
-
|
|
80
|
+
if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, {
|
|
81
|
+
...formData,
|
|
82
|
+
...entryData
|
|
83
|
+
})) {
|
|
84
|
+
fullComponents.push({
|
|
85
|
+
...mergedComponent,
|
|
86
86
|
show_when: originalComponent.show_when || []
|
|
87
|
-
})
|
|
87
|
+
});
|
|
88
88
|
}
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
@@ -93,7 +93,10 @@ var getQuickEditPage = function getQuickEditPage(masterPage, entryData) {
|
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
// Put components and actions onto page object
|
|
96
|
-
|
|
96
|
+
const pageToReturn = {
|
|
97
|
+
...masterPage.childPages[0],
|
|
98
|
+
formData
|
|
99
|
+
};
|
|
97
100
|
pageToReturn.components = fullComponents;
|
|
98
101
|
pageToReturn.actions = [{
|
|
99
102
|
type: 'save',
|
|
@@ -108,9 +111,14 @@ var getQuickEditPage = function getQuickEditPage(masterPage, entryData) {
|
|
|
108
111
|
|
|
109
112
|
// Need to have the collection data at the top level
|
|
110
113
|
// Remove ID to stop overwriting top-level form ID.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
+
const {
|
|
115
|
+
id,
|
|
116
|
+
...entryWithNoId
|
|
117
|
+
} = entryData;
|
|
118
|
+
pageToReturn.formData = {
|
|
119
|
+
...pageToReturn.formData,
|
|
120
|
+
...entryWithNoId
|
|
121
|
+
};
|
|
114
122
|
delete pageToReturn.title;
|
|
115
123
|
delete pageToReturn.collection;
|
|
116
124
|
return pageToReturn;
|
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var _getQuickEditPage = _interopRequireDefault(require("./getQuickEditPage"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
6
|
+
const FORM_DATA = {
|
|
7
|
+
items: [{
|
|
8
|
+
id: '123',
|
|
9
|
+
testText1: 'value 1',
|
|
10
|
+
testText2: 'value 2',
|
|
11
|
+
conditionText: 'true',
|
|
12
|
+
testText3: 'value 3'
|
|
13
|
+
}]
|
|
14
|
+
};
|
|
15
|
+
const MASTER_PAGE = {
|
|
13
16
|
childPages: [{
|
|
14
17
|
id: 'firstPage',
|
|
15
18
|
name: 'firstPage',
|
|
@@ -44,15 +47,7 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
44
47
|
fieldId: 'testText2',
|
|
45
48
|
required: true
|
|
46
49
|
}],
|
|
47
|
-
formData:
|
|
48
|
-
items: [{
|
|
49
|
-
id: '123',
|
|
50
|
-
testText1: 'value 1',
|
|
51
|
-
testText2: 'value 2',
|
|
52
|
-
conditionText: 'true',
|
|
53
|
-
testText3: 'value 3'
|
|
54
|
-
}]
|
|
55
|
-
},
|
|
50
|
+
formData: FORM_DATA,
|
|
56
51
|
summaryQuickEdit: [{
|
|
57
52
|
use: "testText2",
|
|
58
53
|
show_when: {
|
|
@@ -69,19 +64,11 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
69
64
|
fieldId: 'testText3',
|
|
70
65
|
required: true
|
|
71
66
|
}],
|
|
72
|
-
formData:
|
|
73
|
-
items: [{
|
|
74
|
-
id: '123',
|
|
75
|
-
testText1: 'value 1',
|
|
76
|
-
testText2: 'value 2',
|
|
77
|
-
conditionText: 'true',
|
|
78
|
-
testText3: 'value 3'
|
|
79
|
-
}]
|
|
80
|
-
},
|
|
67
|
+
formData: FORM_DATA,
|
|
81
68
|
summaryQuickEdit: ["testText3"]
|
|
82
69
|
}]
|
|
83
70
|
};
|
|
84
|
-
|
|
71
|
+
const EXPECTED_OUTPUT = {
|
|
85
72
|
id: 'firstPage',
|
|
86
73
|
name: 'firstPage',
|
|
87
74
|
components: [{
|
|
@@ -103,15 +90,7 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
103
90
|
fieldId: 'testText3',
|
|
104
91
|
required: true
|
|
105
92
|
}],
|
|
106
|
-
formData:
|
|
107
|
-
items: [{
|
|
108
|
-
id: '123',
|
|
109
|
-
testText1: 'value 1',
|
|
110
|
-
testText2: 'value 2',
|
|
111
|
-
conditionText: 'true',
|
|
112
|
-
testText3: 'value 3'
|
|
113
|
-
}]
|
|
114
|
-
},
|
|
93
|
+
formData: FORM_DATA,
|
|
115
94
|
actions: [{
|
|
116
95
|
type: 'save',
|
|
117
96
|
label: 'Save',
|
|
@@ -123,28 +102,30 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
123
102
|
classModifiers: 'secondary'
|
|
124
103
|
}]
|
|
125
104
|
};
|
|
126
|
-
|
|
105
|
+
const ENTRY_DATA = {
|
|
127
106
|
id: '123',
|
|
128
107
|
testText1: 'value 1',
|
|
129
108
|
testText2: 'value 2',
|
|
130
109
|
conditionText: 'true',
|
|
131
110
|
testText3: 'value 3'
|
|
132
111
|
};
|
|
133
|
-
it('should return a quick edit page',
|
|
134
|
-
|
|
112
|
+
it('should return a quick edit page', () => {
|
|
113
|
+
const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
|
|
135
114
|
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
136
115
|
});
|
|
137
|
-
it('should return a quick edit page without components that fail the quick edit show_when',
|
|
138
|
-
|
|
116
|
+
it('should return a quick edit page without components that fail the quick edit show_when', () => {
|
|
117
|
+
const CUSTOM_OUTPUT = {
|
|
118
|
+
...EXPECTED_OUTPUT,
|
|
139
119
|
components: [EXPECTED_OUTPUT.components[0],
|
|
140
120
|
// The second component should fail the show when
|
|
141
121
|
// and not be included in the quick edit page.
|
|
142
122
|
EXPECTED_OUTPUT.components[2]]
|
|
143
|
-
}
|
|
144
|
-
|
|
123
|
+
};
|
|
124
|
+
const CUSTOM_ENTRY_DATA = {
|
|
125
|
+
...ENTRY_DATA,
|
|
145
126
|
conditionText: 'false'
|
|
146
|
-
}
|
|
147
|
-
|
|
127
|
+
};
|
|
128
|
+
const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
|
|
148
129
|
expect(createdPage).toMatchObject(CUSTOM_OUTPUT);
|
|
149
130
|
});
|
|
150
131
|
});
|
|
@@ -17,7 +17,7 @@ var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPage
|
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
// Local imports
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
const CollectionPage = {
|
|
21
21
|
addEntry: _addCollectionPageEntry.default,
|
|
22
22
|
duplicateActiveEntry: _duplicateCollectionPageActiveEntry.default,
|
|
23
23
|
duplicateEntry: _duplicateCollectionPageEntry.default,
|
|
@@ -4,12 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
7
|
/* eslint-disable no-param-reassign */
|
|
14
8
|
|
|
15
9
|
/*
|
|
@@ -28,21 +22,27 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
28
22
|
* - The master page for a child collection, with its own array of child pages.
|
|
29
23
|
*/
|
|
30
24
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
collection
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
25
|
+
const createMasterPage = page => ({
|
|
26
|
+
id: page.id,
|
|
27
|
+
name: page.name,
|
|
28
|
+
collection: {
|
|
29
|
+
masterPage: true,
|
|
30
|
+
...page.collection
|
|
31
|
+
},
|
|
32
|
+
formData: {
|
|
33
|
+
...page.formData
|
|
34
|
+
},
|
|
35
|
+
childPages: [page]
|
|
36
|
+
});
|
|
37
|
+
const mergeIntoMasterPage = (page, masterPage) => {
|
|
38
|
+
masterPage.collection = {
|
|
39
|
+
...masterPage.collection,
|
|
40
|
+
...page.collection
|
|
41
|
+
};
|
|
42
|
+
masterPage.formData = {
|
|
43
|
+
...masterPage.formData,
|
|
44
|
+
...page.formData
|
|
41
45
|
};
|
|
42
|
-
};
|
|
43
|
-
var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
|
|
44
|
-
masterPage.collection = _objectSpread(_objectSpread({}, masterPage.collection), page.collection);
|
|
45
|
-
masterPage.formData = _objectSpread(_objectSpread({}, masterPage.formData), page.formData);
|
|
46
46
|
masterPage.childPages = [].concat(masterPage.childPages, [page]);
|
|
47
47
|
};
|
|
48
48
|
|
|
@@ -54,14 +54,14 @@ var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
|
|
|
54
54
|
* @returns true if page belonged to a child collection and was successfully
|
|
55
55
|
* nested. false if it isn't in a child collection or failed to be nested.
|
|
56
56
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
const nestUnderParent = (childPage, masterPages) => {
|
|
58
|
+
const names = childPage.collection.name.split('.');
|
|
59
59
|
if (names.length === 1) {
|
|
60
60
|
return false;
|
|
61
61
|
}
|
|
62
62
|
names.pop();
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
const parentName = names.join('.');
|
|
64
|
+
const parentPage = masterPages[parentName] || null;
|
|
65
65
|
if (!parentPage) {
|
|
66
66
|
// Something had gone wrong if we're here - parent collection pages
|
|
67
67
|
// should always be defined before their children, so the parent master
|
|
@@ -83,15 +83,15 @@ var nestUnderParent = function nestUnderParent(childPage, masterPages) {
|
|
|
83
83
|
* @param { array } pages Array of pages in the form.
|
|
84
84
|
* @returns An array of the same pages, with a master page for each collection.
|
|
85
85
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
const mergeCollectionPages = pages => {
|
|
87
|
+
const masterPages = {};
|
|
88
|
+
const pagesWithMasters = pages.map(page => {
|
|
89
89
|
var _page$collection;
|
|
90
90
|
if (page !== null && page !== void 0 && (_page$collection = page.collection) !== null && _page$collection !== void 0 && _page$collection.name) {
|
|
91
91
|
if (!masterPages[page.collection.name]) {
|
|
92
92
|
// If no master page exists for this collection.name, then
|
|
93
93
|
// we kick one off using this page as a template.
|
|
94
|
-
|
|
94
|
+
const newMasterPage = createMasterPage(page);
|
|
95
95
|
masterPages[page.collection.name] = newMasterPage;
|
|
96
96
|
return newMasterPage;
|
|
97
97
|
}
|
|
@@ -102,20 +102,16 @@ var mergeCollectionPages = function mergeCollectionPages(pages) {
|
|
|
102
102
|
return null;
|
|
103
103
|
}
|
|
104
104
|
return page;
|
|
105
|
-
}).filter(
|
|
106
|
-
return !!page;
|
|
107
|
-
});
|
|
105
|
+
}).filter(page => !!page);
|
|
108
106
|
// We nest any child master pages under their parents here to
|
|
109
107
|
// ensure that all parent master pages have been created by the
|
|
110
108
|
// above code first.
|
|
111
|
-
return pagesWithMasters.map(
|
|
109
|
+
return pagesWithMasters.map(page => {
|
|
112
110
|
var _page$collection2;
|
|
113
111
|
if ((_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.masterPage) {
|
|
114
112
|
return nestUnderParent(page, masterPages) ? null : page;
|
|
115
113
|
}
|
|
116
114
|
return page;
|
|
117
|
-
}).filter(
|
|
118
|
-
return !!e;
|
|
119
|
-
});
|
|
115
|
+
}).filter(e => !!e);
|
|
120
116
|
};
|
|
121
117
|
var _default = exports.default = mergeCollectionPages;
|