@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
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 +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- 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 +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- 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 +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +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 +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -4,22 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var isValidIndex = function isValidIndex(value) {
|
|
8
|
+
return typeof value === 'number' && value >= 0;
|
|
9
|
+
};
|
|
10
|
+
var getLastDataInChain = function getLastDataInChain(collectionNames, data, formData) {
|
|
9
11
|
var _data$currentName;
|
|
10
|
-
|
|
12
|
+
var currentName = collectionNames[0];
|
|
11
13
|
// If we're at the last collection in the chain, then just
|
|
12
14
|
// try and grab its data.
|
|
13
15
|
if (collectionNames.length === 1) {
|
|
14
16
|
return data[currentName] || null;
|
|
15
17
|
}
|
|
16
|
-
|
|
18
|
+
var activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
17
19
|
// No active ID for the current collection - the chain
|
|
18
20
|
// has been broken!
|
|
19
21
|
if (!activeId) {
|
|
20
22
|
return null;
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
var activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(function (item) {
|
|
25
|
+
return item.id === activeId;
|
|
26
|
+
});
|
|
23
27
|
// No entry that matches the active ID - the chain
|
|
24
28
|
// has been broken!
|
|
25
29
|
if (!isValidIndex(activeIndex)) {
|
|
@@ -44,9 +48,9 @@ const getLastDataInChain = (collectionNames, data, formData) => {
|
|
|
44
48
|
* @param {object} data The top level formData object.
|
|
45
49
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
46
50
|
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
var getCollectionPageData = function getCollectionPageData(collectionName, formData) {
|
|
52
|
+
var nameParts = collectionName.split('.');
|
|
53
|
+
var result = getLastDataInChain(nameParts, formData, formData);
|
|
50
54
|
return result;
|
|
51
55
|
};
|
|
52
56
|
var _default = exports.default = getCollectionPageData;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.CollectionPage.getCollectionPageData', ()
|
|
6
|
-
it('should return null if the collection does not exist', ()
|
|
7
|
-
|
|
5
|
+
describe('utils.CollectionPage.getCollectionPageData', function () {
|
|
6
|
+
it('should return null if the collection does not exist', function () {
|
|
7
|
+
var data = (0, _getCollectionPageData.default)('testCollection', {});
|
|
8
8
|
expect(data).toEqual(null);
|
|
9
9
|
});
|
|
10
|
-
describe('when failing to retrieve a nested collection', ()
|
|
11
|
-
it('should return null if a parent collection does not exist', ()
|
|
12
|
-
|
|
10
|
+
describe('when failing to retrieve a nested collection', function () {
|
|
11
|
+
it('should return null if a parent collection does not exist', function () {
|
|
12
|
+
var FORM_DATA = {
|
|
13
13
|
parentsActiveId: '1',
|
|
14
14
|
childrenActiveId: '1',
|
|
15
15
|
grandchildrenActiveId: '1',
|
|
@@ -24,11 +24,11 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
24
24
|
}]
|
|
25
25
|
}]
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
var data = (0, _getCollectionPageData.default)('parents.chainbreak.grandchildren', FORM_DATA);
|
|
28
28
|
expect(data).toEqual(null);
|
|
29
29
|
});
|
|
30
|
-
it('should return null if there is no active entry in a parent collection', ()
|
|
31
|
-
|
|
30
|
+
it('should return null if there is no active entry in a parent collection', function () {
|
|
31
|
+
var FORM_DATA = {
|
|
32
32
|
parentsActiveId: '1',
|
|
33
33
|
grandchildrenActiveId: '1',
|
|
34
34
|
parents: [{
|
|
@@ -42,11 +42,11 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
42
42
|
}]
|
|
43
43
|
}]
|
|
44
44
|
};
|
|
45
|
-
|
|
45
|
+
var data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
|
|
46
46
|
expect(data).toEqual(null);
|
|
47
47
|
});
|
|
48
|
-
it('should return null if the target collection does not exist', ()
|
|
49
|
-
|
|
48
|
+
it('should return null if the target collection does not exist', function () {
|
|
49
|
+
var FORM_DATA = {
|
|
50
50
|
parentsActiveId: '1',
|
|
51
51
|
grandchildrenActiveId: '1',
|
|
52
52
|
parents: [{
|
|
@@ -56,18 +56,18 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
56
56
|
}]
|
|
57
57
|
}]
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
var data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
|
|
60
60
|
expect(data).toEqual(null);
|
|
61
61
|
});
|
|
62
62
|
});
|
|
63
|
-
it('should get data for top-level collections correctly', ()
|
|
64
|
-
|
|
63
|
+
it('should get data for top-level collections correctly', function () {
|
|
64
|
+
var FORM_DATA = {
|
|
65
65
|
testCollection: [{
|
|
66
66
|
id: '1',
|
|
67
67
|
value: 'Alpha'
|
|
68
68
|
}]
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
var data = (0, _getCollectionPageData.default)('testCollection', FORM_DATA);
|
|
71
71
|
expect(Array.isArray(data)).toBeTruthy();
|
|
72
72
|
expect(data.length).toEqual(1);
|
|
73
73
|
expect(data[0]).toMatchObject({
|
|
@@ -75,8 +75,8 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
75
75
|
value: 'Alpha'
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
|
-
it('should get data for nested collections correctly', ()
|
|
79
|
-
|
|
78
|
+
it('should get data for nested collections correctly', function () {
|
|
79
|
+
var FORM_DATA = {
|
|
80
80
|
parentsActiveId: '1',
|
|
81
81
|
childrenActiveId: '1',
|
|
82
82
|
grandchildrenActiveId: '1',
|
|
@@ -91,7 +91,7 @@ describe('utils.CollectionPage.getCollectionPageData', () => {
|
|
|
91
91
|
}]
|
|
92
92
|
}]
|
|
93
93
|
};
|
|
94
|
-
|
|
94
|
+
var data = (0, _getCollectionPageData.default)('parents.children.grandchildren', FORM_DATA);
|
|
95
95
|
expect(Array.isArray(data)).toBeTruthy();
|
|
96
96
|
expect(data.length).toEqual(1);
|
|
97
97
|
expect(data[0]).toMatchObject({
|
|
@@ -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
|
-
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
var getErrorsForCollection = function getErrorsForCollection(config, masterPage, formData, hooks) {
|
|
16
|
+
var activeIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
11
17
|
if (!masterPage) {
|
|
12
18
|
return [];
|
|
13
19
|
}
|
|
14
20
|
// Get data for current collection
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
var collectionData = _.default.CollectionPage.getData(masterPage.collection.name, masterPage.formData) || [];
|
|
22
|
+
var allErrors = [];
|
|
17
23
|
|
|
18
24
|
// Loop over each entry in the collection data
|
|
19
|
-
collectionData.forEach(entry
|
|
25
|
+
collectionData.forEach(function (entry) {
|
|
20
26
|
var _masterPage$childPage;
|
|
21
27
|
// eslint-disable-next-line no-param-reassign
|
|
22
|
-
activeIds = {
|
|
23
|
-
...activeIds,
|
|
24
|
-
["".concat(masterPage.collection.name.split('.').pop(), "ActiveId")]: entry.id
|
|
25
|
-
};
|
|
28
|
+
activeIds = _objectSpread(_objectSpread({}, activeIds), {}, _defineProperty({}, "".concat(masterPage.collection.name.split('.').pop(), "ActiveId"), entry.id));
|
|
26
29
|
|
|
27
30
|
// Loop over child pages and validate each one
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
...formData,
|
|
33
|
-
...activeIds
|
|
34
|
-
}
|
|
35
|
-
};
|
|
31
|
+
var allPagesErrors = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(function (page) {
|
|
32
|
+
var pageWithIds = _objectSpread(_objectSpread({}, page), {}, {
|
|
33
|
+
formData: _objectSpread(_objectSpread({}, formData), activeIds)
|
|
34
|
+
});
|
|
36
35
|
|
|
37
36
|
// Handle nested collections
|
|
38
37
|
if (page.childPages) {
|
|
39
38
|
return getErrorsForCollection(config, pageWithIds, formData, hooks, activeIds);
|
|
40
39
|
}
|
|
41
|
-
|
|
40
|
+
var pageErrors = _.default.Validate.page(pageWithIds);
|
|
42
41
|
return hooks.onValidate(pageWithIds, pageErrors);
|
|
43
42
|
});
|
|
44
43
|
|
|
45
44
|
// For each error add the entryId so we know what Summary Card we have to pass it to.
|
|
46
|
-
allErrors = allErrors.concat(allPagesErrors.map(e
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
allErrors = allErrors.concat(allPagesErrors.map(function (e) {
|
|
46
|
+
return _objectSpread(_objectSpread({}, e), {}, {
|
|
47
|
+
entryId: entry.id,
|
|
48
|
+
showFor: config.id,
|
|
49
|
+
raisedBy: config.id
|
|
50
|
+
});
|
|
51
|
+
}));
|
|
52
52
|
});
|
|
53
53
|
return allErrors;
|
|
54
54
|
};
|
|
@@ -3,14 +3,16 @@
|
|
|
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: (_, errors)
|
|
6
|
+
describe('Utils.CollectionPage.getErrorsForCollection', function () {
|
|
7
|
+
var HOOKS = {
|
|
8
|
+
onValidate: function onValidate(_, errors) {
|
|
9
|
+
return errors;
|
|
10
|
+
}
|
|
9
11
|
};
|
|
10
|
-
|
|
12
|
+
var CONFIG = {
|
|
11
13
|
id: 'testId'
|
|
12
14
|
};
|
|
13
|
-
|
|
15
|
+
var FORM_DATA = {
|
|
14
16
|
collection: [{
|
|
15
17
|
id: 22,
|
|
16
18
|
item1: 'blue',
|
|
@@ -20,7 +22,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
|
20
22
|
}]
|
|
21
23
|
}]
|
|
22
24
|
};
|
|
23
|
-
|
|
25
|
+
var FORM_DATA_MISSING_TOP = {
|
|
24
26
|
collection: [{
|
|
25
27
|
id: 22,
|
|
26
28
|
item2: 'blue',
|
|
@@ -30,7 +32,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
|
30
32
|
}]
|
|
31
33
|
}]
|
|
32
34
|
};
|
|
33
|
-
|
|
35
|
+
var FORM_DATA_MISSING_NESTED = {
|
|
34
36
|
collection: [{
|
|
35
37
|
id: 22,
|
|
36
38
|
item1: 'blue',
|
|
@@ -40,7 +42,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
|
40
42
|
}]
|
|
41
43
|
}]
|
|
42
44
|
};
|
|
43
|
-
|
|
45
|
+
var FORM_DATA_MISSING_BOTH = {
|
|
44
46
|
collection: [{
|
|
45
47
|
id: 22,
|
|
46
48
|
item9: 'blue',
|
|
@@ -50,7 +52,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
|
50
52
|
}]
|
|
51
53
|
}]
|
|
52
54
|
};
|
|
53
|
-
|
|
55
|
+
var MASTER_PAGE = {
|
|
54
56
|
id: 'masterPage',
|
|
55
57
|
collection: {
|
|
56
58
|
name: 'collection',
|
|
@@ -77,7 +79,7 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
|
77
79
|
}]
|
|
78
80
|
}]
|
|
79
81
|
};
|
|
80
|
-
|
|
82
|
+
var MASTER_PAGE_WITH_NESTED = {
|
|
81
83
|
id: 'masterPage',
|
|
82
84
|
collection: {
|
|
83
85
|
name: 'collection',
|
|
@@ -130,24 +132,24 @@ describe('Utils.CollectionPage.getErrorsForCollection', () => {
|
|
|
130
132
|
}]
|
|
131
133
|
}]
|
|
132
134
|
};
|
|
133
|
-
it('should return nothing for a master page without errors', ()
|
|
134
|
-
|
|
135
|
+
it('should return nothing for a master page without errors', function () {
|
|
136
|
+
var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA, HOOKS);
|
|
135
137
|
expect(errors.length).toEqual(0);
|
|
136
138
|
});
|
|
137
|
-
it('should return erorrs for a master page with errors', ()
|
|
138
|
-
|
|
139
|
+
it('should return erorrs for a master page with errors', function () {
|
|
140
|
+
var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE, FORM_DATA_MISSING_TOP, HOOKS);
|
|
139
141
|
expect(errors.length).toEqual(1);
|
|
140
142
|
});
|
|
141
|
-
it('should return nothing for a master page with a nested master page without errors', ()
|
|
142
|
-
|
|
143
|
+
it('should return nothing for a master page with a nested master page without errors', function () {
|
|
144
|
+
var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA, HOOKS);
|
|
143
145
|
expect(errors.length).toEqual(0);
|
|
144
146
|
});
|
|
145
|
-
it('should return errors for a master page with a nested master page without errors', ()
|
|
146
|
-
|
|
147
|
+
it('should return errors for a master page with a nested master page without errors', function () {
|
|
148
|
+
var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_NESTED, HOOKS);
|
|
147
149
|
expect(errors.length).toEqual(1);
|
|
148
150
|
});
|
|
149
|
-
it('should return errors for a master page with errors with a nested master page with errors', ()
|
|
150
|
-
|
|
151
|
+
it('should return errors for a master page with errors with a nested master page with errors', function () {
|
|
152
|
+
var errors = (0, _getErrorsForCollection.default)(CONFIG, MASTER_PAGE_WITH_NESTED, FORM_DATA_MISSING_BOTH, HOOKS);
|
|
151
153
|
expect(errors.length).toEqual(2);
|
|
152
154
|
});
|
|
153
155
|
});
|
|
@@ -6,7 +6,16 @@ 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"];
|
|
9
10
|
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); }
|
|
10
19
|
/**
|
|
11
20
|
* Generates a new page to be used in a SumaryCard's quick edit section.
|
|
12
21
|
* The page is a standard form page that has all the components that are
|
|
@@ -45,46 +54,39 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
45
54
|
* @param {object} entryData The data for the current collection entry.
|
|
46
55
|
* @returns Page suitble for rendering in a QuickEdit
|
|
47
56
|
*/
|
|
48
|
-
|
|
57
|
+
var getQuickEditPage = function getQuickEditPage(masterPage, formData, entryData) {
|
|
58
|
+
var _masterPage$collectio;
|
|
49
59
|
if (!masterPage) {
|
|
50
60
|
return null;
|
|
51
61
|
}
|
|
52
|
-
|
|
53
|
-
masterPage.childPages.forEach(page
|
|
54
|
-
if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, {
|
|
55
|
-
...formData,
|
|
56
|
-
...entryData
|
|
57
|
-
})) {
|
|
62
|
+
var fullComponents = [];
|
|
63
|
+
masterPage.childPages.forEach(function (page) {
|
|
64
|
+
if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, _objectSpread(_objectSpread({}, formData), entryData))) {
|
|
58
65
|
return;
|
|
59
66
|
}
|
|
60
|
-
page.summaryQuickEdit.forEach(quickEditComponent
|
|
67
|
+
page.summaryQuickEdit.forEach(function (quickEditComponent) {
|
|
61
68
|
if (typeof quickEditComponent === 'string') {
|
|
62
|
-
fullComponents.push({
|
|
63
|
-
|
|
64
|
-
});
|
|
69
|
+
fullComponents.push(_objectSpread({}, page.components.find(function (c) {
|
|
70
|
+
return c.id === quickEditComponent;
|
|
71
|
+
})));
|
|
65
72
|
return;
|
|
66
73
|
}
|
|
67
|
-
|
|
74
|
+
var originalComponent = page.components.find(function (c) {
|
|
75
|
+
return c.id === quickEditComponent.use;
|
|
76
|
+
});
|
|
68
77
|
if (!originalComponent) {
|
|
69
78
|
return;
|
|
70
79
|
}
|
|
71
|
-
|
|
72
|
-
...originalComponent,
|
|
73
|
-
...quickEditComponent
|
|
74
|
-
};
|
|
80
|
+
var mergedComponent = _objectSpread(_objectSpread({}, originalComponent), quickEditComponent);
|
|
75
81
|
|
|
76
82
|
// If there's a show_when in the quick edit config, then we treat
|
|
77
83
|
// that as a specific test for when the component should be quick
|
|
78
84
|
// editable - it doesn't get spread to the merged object.
|
|
79
85
|
if (quickEditComponent.show_when) {
|
|
80
|
-
if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, {
|
|
81
|
-
|
|
82
|
-
...entryData
|
|
83
|
-
})) {
|
|
84
|
-
fullComponents.push({
|
|
85
|
-
...mergedComponent,
|
|
86
|
+
if ((0, _meetsAllConditions.default)(quickEditComponent.show_when, _objectSpread(_objectSpread({}, formData), entryData))) {
|
|
87
|
+
fullComponents.push(_objectSpread(_objectSpread({}, mergedComponent), {}, {
|
|
86
88
|
show_when: originalComponent.show_when || []
|
|
87
|
-
});
|
|
89
|
+
}));
|
|
88
90
|
}
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
@@ -93,10 +95,9 @@ const getQuickEditPage = (masterPage, formData, entryData) => {
|
|
|
93
95
|
});
|
|
94
96
|
|
|
95
97
|
// Put components and actions onto page object
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
};
|
|
98
|
+
var pageToReturn = _objectSpread(_objectSpread({}, masterPage.childPages[0]), {}, {
|
|
99
|
+
formData: formData
|
|
100
|
+
});
|
|
100
101
|
pageToReturn.components = fullComponents;
|
|
101
102
|
pageToReturn.actions = [{
|
|
102
103
|
type: 'save',
|
|
@@ -111,14 +112,9 @@ const getQuickEditPage = (masterPage, formData, entryData) => {
|
|
|
111
112
|
|
|
112
113
|
// Need to have the collection data at the top level
|
|
113
114
|
// Remove ID to stop overwriting top-level form ID.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
} = entryData;
|
|
118
|
-
pageToReturn.formData = {
|
|
119
|
-
...pageToReturn.formData,
|
|
120
|
-
...entryWithNoId
|
|
121
|
-
};
|
|
115
|
+
var id = entryData.id,
|
|
116
|
+
entryWithNoId = _objectWithoutProperties(entryData, _excluded);
|
|
117
|
+
pageToReturn.formData = _objectSpread(_objectSpread(_objectSpread({}, pageToReturn.formData), entryWithNoId), {}, _defineProperty({}, "".concat((_masterPage$collectio = masterPage.collection) === null || _masterPage$collectio === void 0 || (_masterPage$collectio = _masterPage$collectio.name) === null || _masterPage$collectio === void 0 ? void 0 : _masterPage$collectio.split('.').pop(), "ActiveId"), entryData.id));
|
|
122
118
|
delete pageToReturn.title;
|
|
123
119
|
delete pageToReturn.collection;
|
|
124
120
|
return pageToReturn;
|
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _getQuickEditPage = _interopRequireDefault(require("./getQuickEditPage"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
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); }
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
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); }
|
|
11
|
+
describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
12
|
+
var FORM_DATA = {
|
|
7
13
|
items: [{
|
|
8
14
|
id: '123',
|
|
9
15
|
testText1: 'value 1',
|
|
@@ -12,7 +18,10 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
|
12
18
|
testText3: 'value 3'
|
|
13
19
|
}]
|
|
14
20
|
};
|
|
15
|
-
|
|
21
|
+
var MASTER_PAGE = {
|
|
22
|
+
collection: {
|
|
23
|
+
name: 'entries'
|
|
24
|
+
},
|
|
16
25
|
childPages: [{
|
|
17
26
|
id: 'firstPage',
|
|
18
27
|
name: 'firstPage',
|
|
@@ -68,7 +77,7 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
|
68
77
|
summaryQuickEdit: ["testText3"]
|
|
69
78
|
}]
|
|
70
79
|
};
|
|
71
|
-
|
|
80
|
+
var EXPECTED_OUTPUT = {
|
|
72
81
|
id: 'firstPage',
|
|
73
82
|
name: 'firstPage',
|
|
74
83
|
components: [{
|
|
@@ -102,30 +111,33 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
|
102
111
|
classModifiers: 'secondary'
|
|
103
112
|
}]
|
|
104
113
|
};
|
|
105
|
-
|
|
114
|
+
var ENTRY_DATA = {
|
|
106
115
|
id: '123',
|
|
107
116
|
testText1: 'value 1',
|
|
108
117
|
testText2: 'value 2',
|
|
109
118
|
conditionText: 'true',
|
|
110
119
|
testText3: 'value 3'
|
|
111
120
|
};
|
|
112
|
-
it('should return a quick edit page', ()
|
|
113
|
-
|
|
121
|
+
it('should return a quick edit page', function () {
|
|
122
|
+
var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
|
|
114
123
|
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
115
124
|
});
|
|
116
|
-
it('should return a quick edit page without components that fail the quick edit show_when', ()
|
|
117
|
-
|
|
118
|
-
...EXPECTED_OUTPUT,
|
|
125
|
+
it('should return a quick edit page without components that fail the quick edit show_when', function () {
|
|
126
|
+
var CUSTOM_OUTPUT = _objectSpread(_objectSpread({}, EXPECTED_OUTPUT), {}, {
|
|
119
127
|
components: [EXPECTED_OUTPUT.components[0],
|
|
120
128
|
// The second component should fail the show when
|
|
121
129
|
// and not be included in the quick edit page.
|
|
122
130
|
EXPECTED_OUTPUT.components[2]]
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
...ENTRY_DATA,
|
|
131
|
+
});
|
|
132
|
+
var CUSTOM_ENTRY_DATA = _objectSpread(_objectSpread({}, ENTRY_DATA), {}, {
|
|
126
133
|
conditionText: 'false'
|
|
127
|
-
};
|
|
128
|
-
|
|
134
|
+
});
|
|
135
|
+
var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
|
|
129
136
|
expect(createdPage).toMatchObject(CUSTOM_OUTPUT);
|
|
130
137
|
});
|
|
138
|
+
it('should return a quick edit page with the activeId for the current collection correctly set', function () {
|
|
139
|
+
var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
|
|
140
|
+
expect(createdPage.formData.entriesActiveId).toEqual('123');
|
|
141
|
+
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
142
|
+
});
|
|
131
143
|
});
|
|
@@ -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
|
+
var CollectionPage = {
|
|
21
21
|
addEntry: _addCollectionPageEntry.default,
|
|
22
22
|
duplicateActiveEntry: _duplicateCollectionPageActiveEntry.default,
|
|
23
23
|
duplicateEntry: _duplicateCollectionPageEntry.default,
|