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