@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.0
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 +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +66 -75
- package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
- package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
- package/dist/components/CollectionSummary/Confirmation.js +13 -15
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +63 -46
- package/dist/components/CollectionSummary/RenderListView.scss +9 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +120 -84
- package/dist/components/CollectionSummary/SummaryCard.js +157 -121
- package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
- package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +117 -80
- package/dist/components/FormComponent/Collection.test.js +1082 -910
- package/dist/components/FormComponent/Container.js +38 -43
- package/dist/components/FormComponent/Container.test.js +411 -379
- package/dist/components/FormComponent/FormComponent.js +74 -71
- package/dist/components/FormComponent/FormComponent.test.js +415 -354
- 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 +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +87 -71
- package/dist/components/FormPage/FormPage.test.js +170 -133
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +198 -153
- package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- 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 +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +54 -61
- package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
- package/dist/components/FormRenderer/onPageAction.js +41 -45
- package/dist/components/FormRenderer/onPageAction.test.js +210 -225
- package/dist/components/FormRenderer/onTaskAction.js +15 -11
- package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
- package/dist/components/PageActions/ActionButton.js +16 -13
- package/dist/components/PageActions/ActionButton.test.js +79 -57
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +116 -87
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +21 -13
- package/dist/components/SummaryList/GroupAction.test.js +37 -41
- package/dist/components/SummaryList/RowAction.js +17 -12
- package/dist/components/SummaryList/RowAction.test.js +37 -41
- package/dist/components/SummaryList/SummaryList.js +28 -23
- package/dist/components/SummaryList/SummaryList.test.js +206 -179
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
- package/dist/components/SummaryList/SummaryListRow.js +6 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +30 -20
- package/dist/components/TaskList/Task.test.js +77 -84
- package/dist/components/TaskList/TaskList.js +84 -53
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +6 -8
- package/dist/components/TaskList/TaskState.test.js +49 -56
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +81 -58
- package/dist/context/HooksContext/HooksContext.test.js +36 -27
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +95 -44
- package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +11 -10
- package/dist/hooks/useAxios.js +41 -15
- package/dist/hooks/useGetRequest.js +98 -62
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +41 -28
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +15 -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 +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +32 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
- package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
- package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +20 -19
- package/dist/utils/Component/applyToComponentTree.test.js +33 -28
- 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 +34 -34
- package/dist/utils/Component/getComponent.js +97 -90
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
- package/dist/utils/Component/getDefaultValue.js +9 -7
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +4 -2
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +4 -3
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +31 -20
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +19 -14
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +6 -4
- package/dist/utils/Container/getEditableComponents.test.js +46 -44
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +22 -16
- package/dist/utils/Container/setupNesting.test.js +31 -28
- package/dist/utils/Container/showContainer.js +8 -4
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +50 -40
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +8 -4
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +29 -20
- package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
- package/dist/utils/Data/getDataPath.js +30 -20
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +34 -27
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +81 -85
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +15 -11
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +22 -14
- package/dist/utils/Data/setupFormData.test.js +51 -52
- package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
- package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +17 -16
- package/dist/utils/FormPage/getFormPage.test.js +48 -49
- package/dist/utils/FormPage/getFormPages.js +13 -8
- package/dist/utils/FormPage/getFormPages.test.js +25 -22
- package/dist/utils/FormPage/getPageActions.js +17 -10
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +5 -3
- package/dist/utils/FormPage/showFormPage.js +8 -4
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +80 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +7 -6
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +17 -14
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +32 -29
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +4 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +37 -36
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +28 -22
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +5 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +14 -9
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +40 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
- package/dist/utils/Validate/additional/utils.js +24 -11
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +27 -21
- package/dist/utils/Validate/validateCollection.test.js +77 -85
- package/dist/utils/Validate/validateComponent.js +23 -22
- package/dist/utils/Validate/validateComponent.test.js +165 -188
- package/dist/utils/Validate/validateContainer.js +21 -16
- package/dist/utils/Validate/validateContainer.test.js +56 -62
- package/dist/utils/Validate/validateDate.js +23 -17
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +9 -7
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +24 -20
- package/dist/utils/Validate/validatePage.test.js +215 -227
- package/dist/utils/Validate/validateRegex.js +8 -5
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +7 -5
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +7 -5
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +19 -12
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +10 -8
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getCollectionPageActiveIndex = _interopRequireDefault(require("./getCollectionPageActiveIndex"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.CollectionPage.getCollectionPageActiveIndex', ()
|
|
8
|
-
it('should return the index of the active item in the collection, if one exists', ()
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
describe('utils.CollectionPage.getCollectionPageActiveIndex', function () {
|
|
8
|
+
it('should return the index of the active item in the collection, if one exists', function () {
|
|
9
|
+
var COLLECTION_NAME = 'test';
|
|
10
|
+
var ACTIVE_ID = '002';
|
|
11
|
+
var FORM_DATA = {
|
|
12
12
|
testActiveId: ACTIVE_ID,
|
|
13
13
|
test: [{
|
|
14
14
|
id: '001'
|
|
@@ -16,7 +16,7 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
16
16
|
id: '002'
|
|
17
17
|
}]
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
var PAGE = {
|
|
20
20
|
collection: {
|
|
21
21
|
name: COLLECTION_NAME
|
|
22
22
|
},
|
|
@@ -24,10 +24,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
24
24
|
};
|
|
25
25
|
expect((0, _getCollectionPageActiveIndex.default)(PAGE.collection.name, PAGE.formData)).toEqual(1);
|
|
26
26
|
});
|
|
27
|
-
it('should return the index of the active item in the nested collection, if one exists', ()
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
it('should return the index of the active item in the nested collection, if one exists', function () {
|
|
28
|
+
var COLLECTION_NAME = 'parent.child';
|
|
29
|
+
var ACTIVE_ID = '001';
|
|
30
|
+
var FORM_DATA = {
|
|
31
31
|
parentActiveId: '001',
|
|
32
32
|
childActiveId: ACTIVE_ID,
|
|
33
33
|
parent: [{
|
|
@@ -42,16 +42,16 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
42
42
|
};
|
|
43
43
|
expect((0, _getCollectionPageActiveIndex.default)(COLLECTION_NAME, FORM_DATA)).toEqual(0);
|
|
44
44
|
});
|
|
45
|
-
it('should return null if no active item can be found in the collection', ()
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
it('should return null if no active item can be found in the collection', function () {
|
|
46
|
+
var COLLECTION_NAME = 'test';
|
|
47
|
+
var ACTIVE_ID = '002';
|
|
48
|
+
var FORM_DATA = {
|
|
49
49
|
testActiveId: ACTIVE_ID,
|
|
50
50
|
test: [{
|
|
51
51
|
id: '001'
|
|
52
52
|
}]
|
|
53
53
|
};
|
|
54
|
-
|
|
54
|
+
var PAGE = {
|
|
55
55
|
collection: {
|
|
56
56
|
name: COLLECTION_NAME
|
|
57
57
|
},
|
|
@@ -59,10 +59,10 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
59
59
|
};
|
|
60
60
|
expect((0, _getCollectionPageActiveIndex.default)(PAGE.collection.name, PAGE.formData)).toEqual(null);
|
|
61
61
|
});
|
|
62
|
-
it('should return null if no active item can be found in the nested collection', ()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
it('should return null if no active item can be found in the nested collection', function () {
|
|
63
|
+
var COLLECTION_NAME = 'parent.child';
|
|
64
|
+
var ACTIVE_ID = '002';
|
|
65
|
+
var FORM_DATA = {
|
|
66
66
|
parentActiveId: '001',
|
|
67
67
|
childActiveId: ACTIVE_ID,
|
|
68
68
|
parent: [{
|
|
@@ -75,9 +75,9 @@ describe('utils.CollectionPage.getCollectionPageActiveIndex', () => {
|
|
|
75
75
|
};
|
|
76
76
|
expect((0, _getCollectionPageActiveIndex.default)(COLLECTION_NAME, FORM_DATA)).toEqual(null);
|
|
77
77
|
});
|
|
78
|
-
it('should return null if formData is null', ()
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
it('should return null if formData is null', function () {
|
|
79
|
+
var COLLECTION_NAME = 'test';
|
|
80
|
+
var PAGE = {
|
|
81
81
|
collection: {
|
|
82
82
|
name: COLLECTION_NAME
|
|
83
83
|
}
|
|
@@ -4,21 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
var isValidIndex = function isValidIndex(value) {
|
|
8
|
+
return typeof value === 'number' && value >= 0;
|
|
9
|
+
};
|
|
10
|
+
var getLastDataInChain = function getLastDataInChain(collectionNames, data, formData) {
|
|
11
|
+
var _data$currentName;
|
|
12
|
+
var currentName = collectionNames[0];
|
|
10
13
|
// If we're at the last collection in the chain, then just
|
|
11
14
|
// try and grab its data.
|
|
12
15
|
if (collectionNames.length === 1) {
|
|
13
16
|
return data[currentName] || null;
|
|
14
17
|
}
|
|
15
|
-
|
|
18
|
+
var activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
16
19
|
// No active ID for the current collection - the chain
|
|
17
20
|
// has been broken!
|
|
18
21
|
if (!activeId) {
|
|
19
22
|
return null;
|
|
20
23
|
}
|
|
21
|
-
|
|
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
|
+
});
|
|
22
27
|
// No entry that matches the active ID - the chain
|
|
23
28
|
// has been broken!
|
|
24
29
|
if (!isValidIndex(activeIndex)) {
|
|
@@ -43,9 +48,9 @@ const getLastDataInChain = (collectionNames, data, formData) => {
|
|
|
43
48
|
* @param {object} data The top level formData object.
|
|
44
49
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
45
50
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
var getCollectionPageData = function getCollectionPageData(collectionName, formData) {
|
|
52
|
+
var nameParts = collectionName.split('.');
|
|
53
|
+
var result = getLastDataInChain(nameParts, formData, formData);
|
|
49
54
|
return result;
|
|
50
55
|
};
|
|
51
56
|
var _default = exports.default = getCollectionPageData;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getCollectionPageData = _interopRequireDefault(require("./getCollectionPageData"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils.CollectionPage.getCollectionPageData', ()
|
|
6
|
-
it('should return null if the collection does not exist', ()
|
|
7
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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({
|
|
@@ -5,49 +5,50 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ = _interopRequireDefault(require(".."));
|
|
8
|
-
function _interopRequireDefault(
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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) {
|
|
26
|
+
var _masterPage$childPage;
|
|
20
27
|
// eslint-disable-next-line no-param-reassign
|
|
21
|
-
activeIds = {
|
|
22
|
-
...activeIds,
|
|
23
|
-
[`${masterPage.collection.name.split('.').pop()}ActiveId`]: entry.id
|
|
24
|
-
};
|
|
28
|
+
activeIds = _objectSpread(_objectSpread({}, activeIds), {}, _defineProperty({}, "".concat(masterPage.collection.name.split('.').pop(), "ActiveId"), entry.id));
|
|
25
29
|
|
|
26
30
|
// Loop over child pages and validate each one
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
...formData,
|
|
32
|
-
...activeIds
|
|
33
|
-
}
|
|
34
|
-
};
|
|
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
|
+
});
|
|
35
35
|
|
|
36
36
|
// Handle nested collections
|
|
37
37
|
if (page.childPages) {
|
|
38
38
|
return getErrorsForCollection(config, pageWithIds, formData, hooks, activeIds);
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
var pageErrors = _.default.Validate.page(pageWithIds);
|
|
41
41
|
return hooks.onValidate(pageWithIds, pageErrors);
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
// For each error add the entryId so we know what Summary Card we have to pass it to.
|
|
45
|
-
allErrors = allErrors.concat(allPagesErrors.map(e
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
+
}));
|
|
51
52
|
});
|
|
52
53
|
return allErrors;
|
|
53
54
|
};
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var _getErrorsForCollection = _interopRequireDefault(require("./getErrorsForCollection"));
|
|
4
4
|
var _models = require("../../models");
|
|
5
|
-
function _interopRequireDefault(
|
|
6
|
-
describe('Utils.CollectionPage.getErrorsForCollection', ()
|
|
7
|
-
|
|
8
|
-
onValidate: (_, errors)
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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
|
-
|
|
9
|
+
var _excluded = ["id"];
|
|
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(e) { return e && e.__esModule ? e : { default: e
|
|
|
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,15 +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
|
-
[`${masterPage.collection?.name?.split('.').pop()}ActiveId`]: entryData.id
|
|
122
|
-
};
|
|
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));
|
|
123
118
|
delete pageToReturn.title;
|
|
124
119
|
delete pageToReturn.collection;
|
|
125
120
|
return pageToReturn;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getQuickEditPage = _interopRequireDefault(require("./getQuickEditPage"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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,7 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
|
12
18
|
testText3: 'value 3'
|
|
13
19
|
}]
|
|
14
20
|
};
|
|
15
|
-
|
|
21
|
+
var MASTER_PAGE = {
|
|
16
22
|
collection: {
|
|
17
23
|
name: 'entries'
|
|
18
24
|
},
|
|
@@ -71,7 +77,7 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
|
71
77
|
summaryQuickEdit: ["testText3"]
|
|
72
78
|
}]
|
|
73
79
|
};
|
|
74
|
-
|
|
80
|
+
var EXPECTED_OUTPUT = {
|
|
75
81
|
id: 'firstPage',
|
|
76
82
|
name: 'firstPage',
|
|
77
83
|
components: [{
|
|
@@ -105,34 +111,32 @@ describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
|
105
111
|
classModifiers: 'secondary'
|
|
106
112
|
}]
|
|
107
113
|
};
|
|
108
|
-
|
|
114
|
+
var ENTRY_DATA = {
|
|
109
115
|
id: '123',
|
|
110
116
|
testText1: 'value 1',
|
|
111
117
|
testText2: 'value 2',
|
|
112
118
|
conditionText: 'true',
|
|
113
119
|
testText3: 'value 3'
|
|
114
120
|
};
|
|
115
|
-
it('should return a quick edit page', ()
|
|
116
|
-
|
|
121
|
+
it('should return a quick edit page', function () {
|
|
122
|
+
var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
|
|
117
123
|
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
118
124
|
});
|
|
119
|
-
it('should return a quick edit page without components that fail the quick edit show_when', ()
|
|
120
|
-
|
|
121
|
-
...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), {}, {
|
|
122
127
|
components: [EXPECTED_OUTPUT.components[0],
|
|
123
128
|
// The second component should fail the show when
|
|
124
129
|
// and not be included in the quick edit page.
|
|
125
130
|
EXPECTED_OUTPUT.components[2]]
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
...ENTRY_DATA,
|
|
131
|
+
});
|
|
132
|
+
var CUSTOM_ENTRY_DATA = _objectSpread(_objectSpread({}, ENTRY_DATA), {}, {
|
|
129
133
|
conditionText: 'false'
|
|
130
|
-
};
|
|
131
|
-
|
|
134
|
+
});
|
|
135
|
+
var createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
|
|
132
136
|
expect(createdPage).toMatchObject(CUSTOM_OUTPUT);
|
|
133
137
|
});
|
|
134
|
-
it('should return a quick edit page with the activeId for the current collection correctly set', ()
|
|
135
|
-
|
|
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);
|
|
136
140
|
expect(createdPage.formData.entriesActiveId).toEqual('123');
|
|
137
141
|
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
138
142
|
});
|
|
@@ -14,10 +14,10 @@ var _getErrorsForCollection = _interopRequireDefault(require("./getErrorsForColl
|
|
|
14
14
|
var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPages"));
|
|
15
15
|
var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollectionPageEntry"));
|
|
16
16
|
var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
|
|
17
|
-
function _interopRequireDefault(
|
|
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,
|