@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.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/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- 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 +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- 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 +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- 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 +14 -25
- 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 +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- 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 +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- 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 +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- 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 +57 -69
- 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 +25 -37
- 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 +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- 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 +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- 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 +201 -226
- 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 +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- 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 +16 -20
- 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 +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- 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 +17 -26
- 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 +12 -15
- 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 +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- 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 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- 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 +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- 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 +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- 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 +5 -6
- 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 +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- 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 +4 -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 +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -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 +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- 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 +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- 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 +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- 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 +5 -6
- package/package.json +2 -4
|
@@ -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,22 @@ 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) {
|
|
7
|
+
const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
8
|
+
const getLastDataInChain = (collectionNames, data, formData) => {
|
|
11
9
|
var _data$currentName;
|
|
12
|
-
|
|
10
|
+
const currentName = collectionNames[0];
|
|
13
11
|
// If we're at the last collection in the chain, then just
|
|
14
12
|
// try and grab its data.
|
|
15
13
|
if (collectionNames.length === 1) {
|
|
16
14
|
return data[currentName] || null;
|
|
17
15
|
}
|
|
18
|
-
|
|
16
|
+
const activeId = (formData === null || formData === void 0 ? void 0 : formData["".concat(currentName, "ActiveId")]) || null;
|
|
19
17
|
// No active ID for the current collection - the chain
|
|
20
18
|
// has been broken!
|
|
21
19
|
if (!activeId) {
|
|
22
20
|
return null;
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
return item.id === activeId;
|
|
26
|
-
});
|
|
22
|
+
const activeIndex = (_data$currentName = data[currentName]) === null || _data$currentName === void 0 ? void 0 : _data$currentName.findIndex(item => item.id === activeId);
|
|
27
23
|
// No entry that matches the active ID - the chain
|
|
28
24
|
// has been broken!
|
|
29
25
|
if (!isValidIndex(activeIndex)) {
|
|
@@ -48,9 +44,9 @@ var getLastDataInChain = function getLastDataInChain(collectionNames, data, form
|
|
|
48
44
|
* @param {object} data The top level formData object.
|
|
49
45
|
* @returns The active index for the collection, or null if it doesn't exist.
|
|
50
46
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
const getCollectionPageData = (collectionName, formData) => {
|
|
48
|
+
const nameParts = collectionName.split('.');
|
|
49
|
+
const result = getLastDataInChain(nameParts, formData, formData);
|
|
54
50
|
return result;
|
|
55
51
|
};
|
|
56
52
|
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,31 +5,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ = _interopRequireDefault(require(".."));
|
|
8
|
-
function _interopRequireDefault(
|
|
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); }
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
9
|
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
10
|
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(
|
|
13
|
-
function _toPropertyKey(
|
|
14
|
-
function _toPrimitive(
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
const getErrorsForCollection = function (config, masterPage, formData, hooks) {
|
|
15
|
+
let activeIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
17
16
|
if (!masterPage) {
|
|
18
17
|
return [];
|
|
19
18
|
}
|
|
20
19
|
// Get data for current collection
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
const collectionData = _.default.CollectionPage.getData(masterPage.collection.name, masterPage.formData) || [];
|
|
21
|
+
let allErrors = [];
|
|
23
22
|
|
|
24
23
|
// Loop over each entry in the collection data
|
|
25
|
-
collectionData.forEach(
|
|
24
|
+
collectionData.forEach(entry => {
|
|
26
25
|
var _masterPage$childPage;
|
|
27
26
|
// eslint-disable-next-line no-param-reassign
|
|
28
|
-
activeIds = _objectSpread(_objectSpread({}, activeIds), {},
|
|
27
|
+
activeIds = _objectSpread(_objectSpread({}, activeIds), {}, {
|
|
28
|
+
["".concat(masterPage.collection.name.split('.').pop(), "ActiveId")]: entry.id
|
|
29
|
+
});
|
|
29
30
|
|
|
30
31
|
// Loop over child pages and validate each one
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
const allPagesErrors = (_masterPage$childPage = masterPage.childPages) === null || _masterPage$childPage === void 0 ? void 0 : _masterPage$childPage.flatMap(page => {
|
|
33
|
+
const pageWithIds = _objectSpread(_objectSpread({}, page), {}, {
|
|
33
34
|
formData: _objectSpread(_objectSpread({}, formData), activeIds)
|
|
34
35
|
});
|
|
35
36
|
|
|
@@ -37,18 +38,16 @@ var getErrorsForCollection = function getErrorsForCollection(config, masterPage,
|
|
|
37
38
|
if (page.childPages) {
|
|
38
39
|
return getErrorsForCollection(config, pageWithIds, formData, hooks, activeIds);
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
+
const pageErrors = _.default.Validate.page(pageWithIds);
|
|
41
42
|
return hooks.onValidate(pageWithIds, pageErrors);
|
|
42
43
|
});
|
|
43
44
|
|
|
44
45
|
// For each error add the entryId so we know what Summary Card we have to pass it to.
|
|
45
|
-
allErrors = allErrors.concat(allPagesErrors.map(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
}));
|
|
46
|
+
allErrors = allErrors.concat(allPagesErrors.map(e => _objectSpread(_objectSpread({}, 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,15 @@ 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(
|
|
11
|
-
function
|
|
12
|
-
function
|
|
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; }
|
|
9
|
+
const _excluded = ["id"];
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
12
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
14
13
|
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
14
|
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(
|
|
17
|
-
function _toPropertyKey(
|
|
18
|
-
function _toPrimitive(
|
|
15
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
18
|
/**
|
|
20
19
|
* Generates a new page to be used in a SumaryCard's quick edit section.
|
|
21
20
|
* The page is a standard form page that has all the components that are
|
|
@@ -54,30 +53,26 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
54
53
|
* @param {object} entryData The data for the current collection entry.
|
|
55
54
|
* @returns Page suitble for rendering in a QuickEdit
|
|
56
55
|
*/
|
|
57
|
-
|
|
56
|
+
const getQuickEditPage = (masterPage, formData, entryData) => {
|
|
58
57
|
var _masterPage$collectio;
|
|
59
58
|
if (!masterPage) {
|
|
60
59
|
return null;
|
|
61
60
|
}
|
|
62
|
-
|
|
63
|
-
masterPage.childPages.forEach(
|
|
61
|
+
const fullComponents = [];
|
|
62
|
+
masterPage.childPages.forEach(page => {
|
|
64
63
|
if (!page.summaryQuickEdit || !(0, _showFormPage.default)(page, _objectSpread(_objectSpread({}, formData), entryData))) {
|
|
65
64
|
return;
|
|
66
65
|
}
|
|
67
|
-
page.summaryQuickEdit.forEach(
|
|
66
|
+
page.summaryQuickEdit.forEach(quickEditComponent => {
|
|
68
67
|
if (typeof quickEditComponent === 'string') {
|
|
69
|
-
fullComponents.push(_objectSpread({}, page.components.find(
|
|
70
|
-
return c.id === quickEditComponent;
|
|
71
|
-
})));
|
|
68
|
+
fullComponents.push(_objectSpread({}, page.components.find(c => c.id === quickEditComponent)));
|
|
72
69
|
return;
|
|
73
70
|
}
|
|
74
|
-
|
|
75
|
-
return c.id === quickEditComponent.use;
|
|
76
|
-
});
|
|
71
|
+
const originalComponent = page.components.find(c => c.id === quickEditComponent.use);
|
|
77
72
|
if (!originalComponent) {
|
|
78
73
|
return;
|
|
79
74
|
}
|
|
80
|
-
|
|
75
|
+
const mergedComponent = _objectSpread(_objectSpread({}, originalComponent), quickEditComponent);
|
|
81
76
|
|
|
82
77
|
// If there's a show_when in the quick edit config, then we treat
|
|
83
78
|
// that as a specific test for when the component should be quick
|
|
@@ -95,8 +90,8 @@ var getQuickEditPage = function getQuickEditPage(masterPage, formData, entryData
|
|
|
95
90
|
});
|
|
96
91
|
|
|
97
92
|
// Put components and actions onto page object
|
|
98
|
-
|
|
99
|
-
formData
|
|
93
|
+
const pageToReturn = _objectSpread(_objectSpread({}, masterPage.childPages[0]), {}, {
|
|
94
|
+
formData
|
|
100
95
|
});
|
|
101
96
|
pageToReturn.components = fullComponents;
|
|
102
97
|
pageToReturn.actions = [{
|
|
@@ -112,9 +107,13 @@ var getQuickEditPage = function getQuickEditPage(masterPage, formData, entryData
|
|
|
112
107
|
|
|
113
108
|
// Need to have the collection data at the top level
|
|
114
109
|
// Remove ID to stop overwriting top-level form ID.
|
|
115
|
-
|
|
110
|
+
const {
|
|
111
|
+
id
|
|
112
|
+
} = entryData,
|
|
116
113
|
entryWithNoId = _objectWithoutProperties(entryData, _excluded);
|
|
117
|
-
pageToReturn.formData = _objectSpread(_objectSpread(_objectSpread({}, pageToReturn.formData), entryWithNoId), {},
|
|
114
|
+
pageToReturn.formData = _objectSpread(_objectSpread(_objectSpread({}, pageToReturn.formData), entryWithNoId), {}, {
|
|
115
|
+
["".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
|
|
116
|
+
});
|
|
118
117
|
delete pageToReturn.title;
|
|
119
118
|
delete pageToReturn.collection;
|
|
120
119
|
return pageToReturn;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getQuickEditPage = _interopRequireDefault(require("./getQuickEditPage"));
|
|
4
|
-
function _interopRequireDefault(
|
|
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); }
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
5
|
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
6
|
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(
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
11
|
-
describe('Utils.CollectionPage.getQuickEditPage',
|
|
12
|
-
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
+
describe('Utils.CollectionPage.getQuickEditPage', () => {
|
|
11
|
+
const FORM_DATA = {
|
|
13
12
|
items: [{
|
|
14
13
|
id: '123',
|
|
15
14
|
testText1: 'value 1',
|
|
@@ -18,7 +17,7 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
18
17
|
testText3: 'value 3'
|
|
19
18
|
}]
|
|
20
19
|
};
|
|
21
|
-
|
|
20
|
+
const MASTER_PAGE = {
|
|
22
21
|
collection: {
|
|
23
22
|
name: 'entries'
|
|
24
23
|
},
|
|
@@ -77,7 +76,7 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
77
76
|
summaryQuickEdit: ["testText3"]
|
|
78
77
|
}]
|
|
79
78
|
};
|
|
80
|
-
|
|
79
|
+
const EXPECTED_OUTPUT = {
|
|
81
80
|
id: 'firstPage',
|
|
82
81
|
name: 'firstPage',
|
|
83
82
|
components: [{
|
|
@@ -111,32 +110,32 @@ describe('Utils.CollectionPage.getQuickEditPage', function () {
|
|
|
111
110
|
classModifiers: 'secondary'
|
|
112
111
|
}]
|
|
113
112
|
};
|
|
114
|
-
|
|
113
|
+
const ENTRY_DATA = {
|
|
115
114
|
id: '123',
|
|
116
115
|
testText1: 'value 1',
|
|
117
116
|
testText2: 'value 2',
|
|
118
117
|
conditionText: 'true',
|
|
119
118
|
testText3: 'value 3'
|
|
120
119
|
};
|
|
121
|
-
it('should return a quick edit page',
|
|
122
|
-
|
|
120
|
+
it('should return a quick edit page', () => {
|
|
121
|
+
const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
|
|
123
122
|
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
124
123
|
});
|
|
125
|
-
it('should return a quick edit page without components that fail the quick edit show_when',
|
|
126
|
-
|
|
124
|
+
it('should return a quick edit page without components that fail the quick edit show_when', () => {
|
|
125
|
+
const CUSTOM_OUTPUT = _objectSpread(_objectSpread({}, EXPECTED_OUTPUT), {}, {
|
|
127
126
|
components: [EXPECTED_OUTPUT.components[0],
|
|
128
127
|
// The second component should fail the show when
|
|
129
128
|
// and not be included in the quick edit page.
|
|
130
129
|
EXPECTED_OUTPUT.components[2]]
|
|
131
130
|
});
|
|
132
|
-
|
|
131
|
+
const CUSTOM_ENTRY_DATA = _objectSpread(_objectSpread({}, ENTRY_DATA), {}, {
|
|
133
132
|
conditionText: 'false'
|
|
134
133
|
});
|
|
135
|
-
|
|
134
|
+
const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, CUSTOM_ENTRY_DATA);
|
|
136
135
|
expect(createdPage).toMatchObject(CUSTOM_OUTPUT);
|
|
137
136
|
});
|
|
138
|
-
it('should return a quick edit page with the activeId for the current collection correctly set',
|
|
139
|
-
|
|
137
|
+
it('should return a quick edit page with the activeId for the current collection correctly set', () => {
|
|
138
|
+
const createdPage = (0, _getQuickEditPage.default)(MASTER_PAGE, FORM_DATA, ENTRY_DATA);
|
|
140
139
|
expect(createdPage.formData.entriesActiveId).toEqual('123');
|
|
141
140
|
expect(createdPage).toMatchObject(EXPECTED_OUTPUT);
|
|
142
141
|
});
|
|
@@ -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,
|