@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
13
|
/* eslint-disable no-param-reassign */
|
|
8
14
|
|
|
9
15
|
/*
|
|
@@ -22,27 +28,21 @@ exports.default = void 0;
|
|
|
22
28
|
* - The master page for a child collection, with its own array of child pages.
|
|
23
29
|
*/
|
|
24
30
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
childPages: [page]
|
|
36
|
-
});
|
|
37
|
-
const mergeIntoMasterPage = (page, masterPage) => {
|
|
38
|
-
masterPage.collection = {
|
|
39
|
-
...masterPage.collection,
|
|
40
|
-
...page.collection
|
|
41
|
-
};
|
|
42
|
-
masterPage.formData = {
|
|
43
|
-
...masterPage.formData,
|
|
44
|
-
...page.formData
|
|
31
|
+
var createMasterPage = function createMasterPage(page) {
|
|
32
|
+
return {
|
|
33
|
+
id: page.id,
|
|
34
|
+
name: page.name,
|
|
35
|
+
orderInForm: page.orderInForm,
|
|
36
|
+
collection: _objectSpread({
|
|
37
|
+
masterPage: true
|
|
38
|
+
}, page.collection),
|
|
39
|
+
formData: _objectSpread({}, page.formData),
|
|
40
|
+
childPages: [page]
|
|
45
41
|
};
|
|
42
|
+
};
|
|
43
|
+
var mergeIntoMasterPage = function mergeIntoMasterPage(page, masterPage) {
|
|
44
|
+
masterPage.collection = _objectSpread(_objectSpread({}, masterPage.collection), page.collection);
|
|
45
|
+
masterPage.formData = _objectSpread(_objectSpread({}, masterPage.formData), page.formData);
|
|
46
46
|
masterPage.childPages = [].concat(masterPage.childPages, [page]);
|
|
47
47
|
};
|
|
48
48
|
|
|
@@ -54,14 +54,14 @@ const mergeIntoMasterPage = (page, masterPage) => {
|
|
|
54
54
|
* @returns true if page belonged to a child collection and was successfully
|
|
55
55
|
* nested. false if it isn't in a child collection or failed to be nested.
|
|
56
56
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
var nestUnderParent = function nestUnderParent(childPage, masterPages) {
|
|
58
|
+
var names = childPage.collection.name.split('.');
|
|
59
59
|
if (names.length === 1) {
|
|
60
60
|
return false;
|
|
61
61
|
}
|
|
62
62
|
names.pop();
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
var parentName = names.join('.');
|
|
64
|
+
var parentPage = masterPages[parentName] || null;
|
|
65
65
|
if (!parentPage) {
|
|
66
66
|
// Something had gone wrong if we're here - parent collection pages
|
|
67
67
|
// should always be defined before their children, so the parent master
|
|
@@ -69,6 +69,12 @@ const nestUnderParent = (childPage, masterPages) => {
|
|
|
69
69
|
return false;
|
|
70
70
|
}
|
|
71
71
|
parentPage.childPages.push(childPage);
|
|
72
|
+
|
|
73
|
+
// Sort the pages to make sure they're in the same order
|
|
74
|
+
// they were in on the form.
|
|
75
|
+
parentPage.childPages.sort(function (a, b) {
|
|
76
|
+
return a.orderInForm - b.orderInForm;
|
|
77
|
+
});
|
|
72
78
|
return true;
|
|
73
79
|
};
|
|
74
80
|
|
|
@@ -83,15 +89,16 @@ const nestUnderParent = (childPage, masterPages) => {
|
|
|
83
89
|
* @param { array } pages Array of pages in the form.
|
|
84
90
|
* @returns An array of the same pages, with a master page for each collection.
|
|
85
91
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
var mergeCollectionPages = function mergeCollectionPages(pages) {
|
|
93
|
+
var masterPages = {};
|
|
94
|
+
var pagesWithMasters = pages.map(function (page, index) {
|
|
89
95
|
var _page$collection;
|
|
96
|
+
page.orderInForm = index;
|
|
90
97
|
if (page !== null && page !== void 0 && (_page$collection = page.collection) !== null && _page$collection !== void 0 && _page$collection.name) {
|
|
91
98
|
if (!masterPages[page.collection.name]) {
|
|
92
99
|
// If no master page exists for this collection.name, then
|
|
93
100
|
// we kick one off using this page as a template.
|
|
94
|
-
|
|
101
|
+
var newMasterPage = createMasterPage(page);
|
|
95
102
|
masterPages[page.collection.name] = newMasterPage;
|
|
96
103
|
return newMasterPage;
|
|
97
104
|
}
|
|
@@ -102,16 +109,21 @@ const mergeCollectionPages = pages => {
|
|
|
102
109
|
return null;
|
|
103
110
|
}
|
|
104
111
|
return page;
|
|
105
|
-
}).filter(
|
|
112
|
+
}).filter(function (page) {
|
|
113
|
+
return !!page;
|
|
114
|
+
});
|
|
115
|
+
|
|
106
116
|
// We nest any child master pages under their parents here to
|
|
107
117
|
// ensure that all parent master pages have been created by the
|
|
108
118
|
// above code first.
|
|
109
|
-
return pagesWithMasters.map(page
|
|
119
|
+
return pagesWithMasters.map(function (page) {
|
|
110
120
|
var _page$collection2;
|
|
111
121
|
if ((_page$collection2 = page.collection) !== null && _page$collection2 !== void 0 && _page$collection2.masterPage) {
|
|
112
122
|
return nestUnderParent(page, masterPages) ? null : page;
|
|
113
123
|
}
|
|
114
124
|
return page;
|
|
115
|
-
}).filter(
|
|
125
|
+
}).filter(function (e) {
|
|
126
|
+
return !!e;
|
|
127
|
+
});
|
|
116
128
|
};
|
|
117
129
|
var _default = exports.default = mergeCollectionPages;
|
|
@@ -4,27 +4,27 @@ var _mergeCollectionPages = _interopRequireDefault(require("./mergeCollectionPag
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.CollectionPage.mergeCollectionPages', ()
|
|
8
|
-
|
|
7
|
+
describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
8
|
+
var TEXT_COMP = {
|
|
9
9
|
id: 'testText',
|
|
10
10
|
fieldId: 'testText',
|
|
11
11
|
type: 'text'
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
var DATE_COMP = {
|
|
14
14
|
id: 'testDate',
|
|
15
15
|
fieldId: 'testDate',
|
|
16
16
|
type: 'date'
|
|
17
17
|
};
|
|
18
|
-
it('should return the same array if no pages belong to collections', ()
|
|
19
|
-
|
|
18
|
+
it('should return the same array if no pages belong to collections', function () {
|
|
19
|
+
var PAGES = [{
|
|
20
20
|
id: 'page1'
|
|
21
21
|
}, {
|
|
22
22
|
id: 'page2'
|
|
23
23
|
}];
|
|
24
24
|
expect((0, _mergeCollectionPages.default)(PAGES)).toEqual(PAGES);
|
|
25
25
|
});
|
|
26
|
-
it('should merge pages from the same collection into a single page', ()
|
|
27
|
-
|
|
26
|
+
it('should merge pages from the same collection into a single page', function () {
|
|
27
|
+
var PAGES = [{
|
|
28
28
|
id: 'page1',
|
|
29
29
|
collection: {
|
|
30
30
|
name: 'collection'
|
|
@@ -37,7 +37,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
37
37
|
},
|
|
38
38
|
components: [DATE_COMP]
|
|
39
39
|
}];
|
|
40
|
-
|
|
40
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
41
41
|
expect(RESULT.length).toEqual(1);
|
|
42
42
|
expect(RESULT[0]).toMatchObject({
|
|
43
43
|
id: 'page1',
|
|
@@ -49,8 +49,8 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
49
49
|
childPages: PAGES
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
|
-
it('should correctly merge and nest child collection pages under their parents', ()
|
|
53
|
-
|
|
52
|
+
it('should correctly merge and nest child collection pages under their parents', function () {
|
|
53
|
+
var PAGES = [{
|
|
54
54
|
id: 'page1',
|
|
55
55
|
collection: {
|
|
56
56
|
name: 'parent'
|
|
@@ -75,7 +75,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
75
75
|
},
|
|
76
76
|
components: [DATE_COMP]
|
|
77
77
|
}];
|
|
78
|
-
|
|
78
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
79
79
|
expect(RESULT.length).toEqual(1);
|
|
80
80
|
expect(RESULT[0]).toMatchObject({
|
|
81
81
|
id: 'page1',
|
|
@@ -95,8 +95,8 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
95
95
|
}]
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
|
-
it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', ()
|
|
99
|
-
|
|
98
|
+
it('should correctly merge and nest child collection pages under their parents, even if the child pages are created first', function () {
|
|
99
|
+
var PAGES = [{
|
|
100
100
|
id: 'page1',
|
|
101
101
|
collection: {
|
|
102
102
|
name: 'parent.child'
|
|
@@ -121,7 +121,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
121
121
|
},
|
|
122
122
|
components: [DATE_COMP]
|
|
123
123
|
}];
|
|
124
|
-
|
|
124
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
125
125
|
expect(RESULT.length).toEqual(1); // One master page for parent collection.
|
|
126
126
|
expect(RESULT[0].childPages.length).toEqual(3); // Two normal pages and the child collection's master page.
|
|
127
127
|
expect(RESULT[0]).toMatchObject({
|
|
@@ -131,7 +131,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
131
131
|
masterPage: true
|
|
132
132
|
},
|
|
133
133
|
formData: {},
|
|
134
|
-
childPages: [
|
|
134
|
+
childPages: [{
|
|
135
135
|
id: 'page1',
|
|
136
136
|
collection: {
|
|
137
137
|
name: 'parent.child',
|
|
@@ -139,11 +139,11 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
139
139
|
},
|
|
140
140
|
formData: {},
|
|
141
141
|
childPages: [PAGES[0], PAGES[1]]
|
|
142
|
-
}]
|
|
142
|
+
}, PAGES[2], PAGES[3]]
|
|
143
143
|
});
|
|
144
144
|
});
|
|
145
|
-
it('should leave non-collection pages unaffected', ()
|
|
146
|
-
|
|
145
|
+
it('should leave non-collection pages unaffected', function () {
|
|
146
|
+
var PAGES = [{
|
|
147
147
|
id: 'page1',
|
|
148
148
|
collection: {
|
|
149
149
|
name: 'collection'
|
|
@@ -158,9 +158,9 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
158
158
|
}, {
|
|
159
159
|
id: 'page3'
|
|
160
160
|
}];
|
|
161
|
-
|
|
161
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
162
162
|
expect(RESULT.length).toEqual(2);
|
|
163
|
-
expect(RESULT[0]).
|
|
163
|
+
expect(RESULT[0]).toMatchObject({
|
|
164
164
|
id: 'page1',
|
|
165
165
|
collection: {
|
|
166
166
|
name: 'collection',
|
|
@@ -169,12 +169,12 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
169
169
|
formData: {},
|
|
170
170
|
childPages: [PAGES[0], PAGES[1]]
|
|
171
171
|
});
|
|
172
|
-
expect(RESULT[1]).
|
|
172
|
+
expect(RESULT[1]).toMatchObject({
|
|
173
173
|
id: 'page3'
|
|
174
174
|
});
|
|
175
175
|
});
|
|
176
|
-
it('should handle multiple collections', ()
|
|
177
|
-
|
|
176
|
+
it('should handle multiple collections', function () {
|
|
177
|
+
var PAGES = [{
|
|
178
178
|
id: 'page1',
|
|
179
179
|
collection: {
|
|
180
180
|
name: 'collection1'
|
|
@@ -199,9 +199,9 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
199
199
|
},
|
|
200
200
|
components: []
|
|
201
201
|
}];
|
|
202
|
-
|
|
202
|
+
var RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
203
203
|
expect(RESULT.length).toEqual(2);
|
|
204
|
-
expect(RESULT[0]).
|
|
204
|
+
expect(RESULT[0]).toMatchObject({
|
|
205
205
|
id: 'page1',
|
|
206
206
|
collection: {
|
|
207
207
|
name: 'collection1',
|
|
@@ -210,7 +210,7 @@ describe('utils.CollectionPage.mergeCollectionPages', () => {
|
|
|
210
210
|
formData: {},
|
|
211
211
|
childPages: [PAGES[0], PAGES[1]]
|
|
212
212
|
});
|
|
213
|
-
expect(RESULT[1]).
|
|
213
|
+
expect(RESULT[1]).toMatchObject({
|
|
214
214
|
id: 'page3',
|
|
215
215
|
collection: {
|
|
216
216
|
name: 'collection2',
|
|
@@ -17,16 +17,18 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
17
17
|
* @returns null if the target entry could not be deleted.
|
|
18
18
|
* The deleted entry if it was deleted successfully.
|
|
19
19
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
var removeCollectionPageEntry = function removeCollectionPageEntry(collectionName, formData, id) {
|
|
21
|
+
var collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
|
|
22
22
|
if (!collectionData) {
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
var indexToDelete = collectionData.findIndex(function (entry) {
|
|
26
|
+
return entry.id === id;
|
|
27
|
+
});
|
|
26
28
|
if (indexToDelete === -1) {
|
|
27
29
|
return null;
|
|
28
30
|
}
|
|
29
|
-
|
|
31
|
+
var deletedEntry = collectionData[indexToDelete];
|
|
30
32
|
collectionData.splice(indexToDelete, 1);
|
|
31
33
|
return deletedEntry;
|
|
32
34
|
};
|
|
@@ -4,8 +4,8 @@ var _removeCollectionPageEntry = _interopRequireDefault(require("./removeCollect
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports.
|
|
6
6
|
|
|
7
|
-
describe('utils.collectionPage.removeCollectionPageEntry', ()
|
|
8
|
-
|
|
7
|
+
describe('utils.collectionPage.removeCollectionPageEntry', function () {
|
|
8
|
+
var FORM_DATA = {
|
|
9
9
|
parentsActiveId: '1',
|
|
10
10
|
childrenActiveId: '1',
|
|
11
11
|
grandchildrenActiveId: '1',
|
|
@@ -29,20 +29,20 @@ describe('utils.collectionPage.removeCollectionPageEntry', () => {
|
|
|
29
29
|
}]
|
|
30
30
|
}]
|
|
31
31
|
};
|
|
32
|
-
it('should return null if a parent collection does not exist', ()
|
|
33
|
-
|
|
32
|
+
it('should return null if a parent collection does not exist', function () {
|
|
33
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.chainbreak.grandchildren', FORM_DATA, '1');
|
|
34
34
|
expect(removedEntry).toEqual(null);
|
|
35
35
|
});
|
|
36
|
-
it('should return null if an entry with the provided id does not exist', ()
|
|
37
|
-
|
|
36
|
+
it('should return null if an entry with the provided id does not exist', function () {
|
|
37
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '0');
|
|
38
38
|
expect(removedEntry).toEqual(null);
|
|
39
39
|
});
|
|
40
|
-
it('should return null if form data is invalid', ()
|
|
41
|
-
|
|
40
|
+
it('should return null if form data is invalid', function () {
|
|
41
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', null, '1');
|
|
42
42
|
expect(removedEntry).toEqual(null);
|
|
43
43
|
});
|
|
44
|
-
it('should correctly remove the target entry', ()
|
|
45
|
-
|
|
44
|
+
it('should correctly remove the target entry', function () {
|
|
45
|
+
var removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
|
|
46
46
|
expect(removedEntry).toEqual({
|
|
47
47
|
id: '3',
|
|
48
48
|
value: 'Charlie'
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
7
|
+
var isValidIndex = function isValidIndex(value) {
|
|
8
|
+
return typeof value === 'number' && value >= 0;
|
|
9
|
+
};
|
|
8
10
|
|
|
9
11
|
/**
|
|
10
12
|
* This function sets the data for a given collection in formData.
|
|
@@ -20,19 +22,21 @@ const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
|
20
22
|
* @param {Array} newData The new data to set for the collection.
|
|
21
23
|
* @param {Object} formData Top level formData object.
|
|
22
24
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
nameParts.some(name
|
|
25
|
+
var setCollectionPageData = function setCollectionPageData(collectionName, newData, formData) {
|
|
26
|
+
var nameParts = collectionName.split('.');
|
|
27
|
+
var targetCollection = nameParts[nameParts.length - 1];
|
|
28
|
+
var data = formData;
|
|
29
|
+
nameParts.some(function (name) {
|
|
28
30
|
var _data$name;
|
|
29
31
|
// Current collection doesn't exist, so create it
|
|
30
32
|
if (!data[name]) {
|
|
31
33
|
data[name] = [];
|
|
32
34
|
}
|
|
33
35
|
// If the entry matching the active ID doesn't exist in the collection, create it.
|
|
34
|
-
if (!data[name].find(
|
|
35
|
-
|
|
36
|
+
if (!data[name].find(function (e) {
|
|
37
|
+
return e.id === formData["".concat(name, "ActiveId")];
|
|
38
|
+
})) {
|
|
39
|
+
var newEntryId = Date.now().toString();
|
|
36
40
|
// eslint-disable-next-line no-param-reassign
|
|
37
41
|
formData["".concat(name, "ActiveId")] = formData["".concat(name, "ActiveId")] || newEntryId;
|
|
38
42
|
data[name].push({
|
|
@@ -46,8 +50,10 @@ const setCollectionPageData = (collectionName, newData, formData) => {
|
|
|
46
50
|
data[targetCollection] = newData;
|
|
47
51
|
return true;
|
|
48
52
|
}
|
|
49
|
-
|
|
50
|
-
|
|
53
|
+
var activeId = formData["".concat(name, "ActiveId")];
|
|
54
|
+
var activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(function (item) {
|
|
55
|
+
return item.id === activeId;
|
|
56
|
+
});
|
|
51
57
|
if (!isValidIndex(activeIndex)) {
|
|
52
58
|
return true;
|
|
53
59
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var _setCollectionPageData = _interopRequireDefault(require("./setCollectionPageData"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('Utils.CollectionPage.setCollectionPageData', ()
|
|
6
|
-
it('should create necessary entries when collections in the path don\'t exist', ()
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
6
|
+
it('should create necessary entries when collections in the path don\'t exist', function () {
|
|
7
|
+
var FORM_DATA = {};
|
|
8
|
+
var NEW_DATA = [{
|
|
9
9
|
id: '123',
|
|
10
10
|
value: 'Alpha'
|
|
11
11
|
}];
|
|
@@ -32,11 +32,11 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
32
32
|
value: 'Alpha'
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
|
-
it('should not overwrite existing entry IDs', ()
|
|
36
|
-
|
|
35
|
+
it('should not overwrite existing entry IDs', function () {
|
|
36
|
+
var FORM_DATA = {
|
|
37
37
|
grandchildActiveId: 77
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
var NEW_DATA = [{
|
|
40
40
|
id: '123',
|
|
41
41
|
value: 'Alpha'
|
|
42
42
|
}];
|
|
@@ -63,9 +63,9 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
63
63
|
value: 'Alpha'
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
|
-
describe('when failing to set data for a nested collection', ()
|
|
67
|
-
it('should do nothing if one of the parent collections does not exist', ()
|
|
68
|
-
|
|
66
|
+
describe('when failing to set data for a nested collection', function () {
|
|
67
|
+
it('should do nothing if one of the parent collections does not exist', function () {
|
|
68
|
+
var FORM_DATA = {
|
|
69
69
|
parentActiveId: '1',
|
|
70
70
|
childActiveId: '1',
|
|
71
71
|
grandchildActiveId: '1',
|
|
@@ -80,7 +80,7 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
80
80
|
}]
|
|
81
81
|
}]
|
|
82
82
|
};
|
|
83
|
-
|
|
83
|
+
var NEW_DATA = [{
|
|
84
84
|
id: '1',
|
|
85
85
|
value: 'newValue'
|
|
86
86
|
}];
|
|
@@ -90,8 +90,8 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
90
90
|
value: 'oldValue'
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
-
it('should do nothing if an active ID does not exist for a parent collection', ()
|
|
94
|
-
|
|
93
|
+
it('should do nothing if an active ID does not exist for a parent collection', function () {
|
|
94
|
+
var FORM_DATA = {
|
|
95
95
|
parentActiveId: '1',
|
|
96
96
|
grandchildActiveId: '1',
|
|
97
97
|
parent: [{
|
|
@@ -105,7 +105,7 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
105
105
|
}]
|
|
106
106
|
}]
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
var NEW_DATA = [{
|
|
109
109
|
id: '1',
|
|
110
110
|
value: 'newValue'
|
|
111
111
|
}];
|
|
@@ -116,15 +116,15 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
118
|
});
|
|
119
|
-
it('should correctly set the value for a top-level collection', ()
|
|
120
|
-
|
|
119
|
+
it('should correctly set the value for a top-level collection', function () {
|
|
120
|
+
var FORM_DATA = {
|
|
121
121
|
testCollectionActiveId: '1',
|
|
122
122
|
testCollection: [{
|
|
123
123
|
id: '1',
|
|
124
124
|
value: 'oldValue'
|
|
125
125
|
}]
|
|
126
126
|
};
|
|
127
|
-
|
|
127
|
+
var NEW_DATA = [{
|
|
128
128
|
id: '1',
|
|
129
129
|
value: 'newValue'
|
|
130
130
|
}];
|
|
@@ -134,8 +134,8 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
134
134
|
value: 'newValue'
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
|
-
it('should correctly set the data for a nested collection', ()
|
|
138
|
-
|
|
137
|
+
it('should correctly set the data for a nested collection', function () {
|
|
138
|
+
var FORM_DATA = {
|
|
139
139
|
parentActiveId: '1',
|
|
140
140
|
childActiveId: '1',
|
|
141
141
|
grandchildActiveId: '1',
|
|
@@ -150,7 +150,7 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
150
150
|
}]
|
|
151
151
|
}]
|
|
152
152
|
};
|
|
153
|
-
|
|
153
|
+
var NEW_DATA = [{
|
|
154
154
|
id: '1',
|
|
155
155
|
value: 'newValue'
|
|
156
156
|
}];
|
|
@@ -160,10 +160,10 @@ describe('Utils.CollectionPage.setCollectionPageData', () => {
|
|
|
160
160
|
value: 'newValue'
|
|
161
161
|
});
|
|
162
162
|
});
|
|
163
|
-
it('creates a new entry and updates active ID if no matching active ID is found', ()
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
it('creates a new entry and updates active ID if no matching active ID is found', function () {
|
|
164
|
+
var formData = {};
|
|
165
|
+
var collectionName = 'testCollection';
|
|
166
|
+
var newData = [{
|
|
167
167
|
id: 'dataId',
|
|
168
168
|
value: 'testValue'
|
|
169
169
|
}];
|
|
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
13
|
/**
|
|
8
14
|
* Adds a show_when to a component.
|
|
9
15
|
* If the component has no show_when, then an array is created
|
|
@@ -15,16 +21,14 @@ exports.default = void 0;
|
|
|
15
21
|
* @returns The component with the new show_when added.
|
|
16
22
|
* null if component or condition are invalid.
|
|
17
23
|
*/
|
|
18
|
-
|
|
24
|
+
var addShowWhen = function addShowWhen(component, condition) {
|
|
19
25
|
if (!component) {
|
|
20
26
|
return null;
|
|
21
27
|
}
|
|
22
28
|
if (!condition) {
|
|
23
29
|
return component;
|
|
24
30
|
}
|
|
25
|
-
|
|
26
|
-
...component
|
|
27
|
-
};
|
|
31
|
+
var result = _objectSpread({}, component);
|
|
28
32
|
if (result.show_when) {
|
|
29
33
|
if (Array.isArray(condition)) {
|
|
30
34
|
result.show_when = Array.isArray(result.show_when) ? [].concat(condition, result.show_when) : [].concat(condition, [result.show_when]);
|