@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha
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 +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- 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 +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- 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 +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- 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 +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- 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 +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- 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 +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- 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 +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- 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 +16 -25
- 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 +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- 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 +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- 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 +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- 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 +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- 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 +21 -27
- 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 +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- 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 +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- 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 +3 -4
- 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 +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -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', () => {
|
|
8
|
+
const TEXT_COMP = {
|
|
9
9
|
id: 'testText',
|
|
10
10
|
fieldId: 'testText',
|
|
11
11
|
type: 'text'
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
const 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', () => {
|
|
19
|
+
const 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', () => {
|
|
27
|
+
const PAGES = [{
|
|
28
28
|
id: 'page1',
|
|
29
29
|
collection: {
|
|
30
30
|
name: 'collection'
|
|
@@ -37,7 +37,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
37
37
|
},
|
|
38
38
|
components: [DATE_COMP]
|
|
39
39
|
}];
|
|
40
|
-
|
|
40
|
+
const 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', function () {
|
|
|
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', () => {
|
|
53
|
+
const PAGES = [{
|
|
54
54
|
id: 'page1',
|
|
55
55
|
collection: {
|
|
56
56
|
name: 'parent'
|
|
@@ -75,7 +75,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
75
75
|
},
|
|
76
76
|
components: [DATE_COMP]
|
|
77
77
|
}];
|
|
78
|
-
|
|
78
|
+
const 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', function () {
|
|
|
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', () => {
|
|
99
|
+
const PAGES = [{
|
|
100
100
|
id: 'page1',
|
|
101
101
|
collection: {
|
|
102
102
|
name: 'parent.child'
|
|
@@ -121,7 +121,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
121
121
|
},
|
|
122
122
|
components: [DATE_COMP]
|
|
123
123
|
}];
|
|
124
|
-
|
|
124
|
+
const 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({
|
|
@@ -142,8 +142,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
142
142
|
}]
|
|
143
143
|
});
|
|
144
144
|
});
|
|
145
|
-
it('should leave non-collection pages unaffected',
|
|
146
|
-
|
|
145
|
+
it('should leave non-collection pages unaffected', () => {
|
|
146
|
+
const PAGES = [{
|
|
147
147
|
id: 'page1',
|
|
148
148
|
collection: {
|
|
149
149
|
name: 'collection'
|
|
@@ -158,7 +158,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
158
158
|
}, {
|
|
159
159
|
id: 'page3'
|
|
160
160
|
}];
|
|
161
|
-
|
|
161
|
+
const RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
162
162
|
expect(RESULT.length).toEqual(2);
|
|
163
163
|
expect(RESULT[0]).toEqual({
|
|
164
164
|
id: 'page1',
|
|
@@ -173,8 +173,8 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
173
173
|
id: 'page3'
|
|
174
174
|
});
|
|
175
175
|
});
|
|
176
|
-
it('should handle multiple collections',
|
|
177
|
-
|
|
176
|
+
it('should handle multiple collections', () => {
|
|
177
|
+
const PAGES = [{
|
|
178
178
|
id: 'page1',
|
|
179
179
|
collection: {
|
|
180
180
|
name: 'collection1'
|
|
@@ -199,7 +199,7 @@ describe('utils.CollectionPage.mergeCollectionPages', function () {
|
|
|
199
199
|
},
|
|
200
200
|
components: []
|
|
201
201
|
}];
|
|
202
|
-
|
|
202
|
+
const RESULT = (0, _mergeCollectionPages.default)(PAGES);
|
|
203
203
|
expect(RESULT.length).toEqual(2);
|
|
204
204
|
expect(RESULT[0]).toEqual({
|
|
205
205
|
id: 'page1',
|
|
@@ -17,18 +17,16 @@ 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
|
+
const removeCollectionPageEntry = (collectionName, formData, id) => {
|
|
21
|
+
const collectionData = (0, _getCollectionPageData.default)(collectionName, formData);
|
|
22
22
|
if (!collectionData) {
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
return entry.id === id;
|
|
27
|
-
});
|
|
25
|
+
const indexToDelete = collectionData.findIndex(entry => entry.id === id);
|
|
28
26
|
if (indexToDelete === -1) {
|
|
29
27
|
return null;
|
|
30
28
|
}
|
|
31
|
-
|
|
29
|
+
const deletedEntry = collectionData[indexToDelete];
|
|
32
30
|
collectionData.splice(indexToDelete, 1);
|
|
33
31
|
return deletedEntry;
|
|
34
32
|
};
|
|
@@ -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', () => {
|
|
8
|
+
const FORM_DATA = {
|
|
9
9
|
parentsActiveId: '1',
|
|
10
10
|
childrenActiveId: '1',
|
|
11
11
|
grandchildrenActiveId: '1',
|
|
@@ -29,20 +29,20 @@ describe('utils.collectionPage.removeCollectionPageEntry', function () {
|
|
|
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', () => {
|
|
33
|
+
const 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', () => {
|
|
37
|
+
const 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', () => {
|
|
41
|
+
const 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', () => {
|
|
45
|
+
const removedEntry = (0, _removeCollectionPageEntry.default)('parents.children.grandchildren', FORM_DATA, '3');
|
|
46
46
|
expect(removedEntry).toEqual({
|
|
47
47
|
id: '3',
|
|
48
48
|
value: 'Charlie'
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
return typeof value === 'number' && value >= 0;
|
|
9
|
-
};
|
|
7
|
+
const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
10
8
|
|
|
11
9
|
/**
|
|
12
10
|
* This function sets the data for a given collection in formData.
|
|
@@ -22,21 +20,19 @@ var isValidIndex = function isValidIndex(value) {
|
|
|
22
20
|
* @param {Array} newData The new data to set for the collection.
|
|
23
21
|
* @param {Object} formData Top level formData object.
|
|
24
22
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
nameParts.some(
|
|
23
|
+
const setCollectionPageData = (collectionName, newData, formData) => {
|
|
24
|
+
const nameParts = collectionName.split('.');
|
|
25
|
+
const targetCollection = nameParts[nameParts.length - 1];
|
|
26
|
+
let data = formData;
|
|
27
|
+
nameParts.some(name => {
|
|
30
28
|
var _data$name;
|
|
31
29
|
// Current collection doesn't exist, so create it
|
|
32
30
|
if (!data[name]) {
|
|
33
31
|
data[name] = [];
|
|
34
32
|
}
|
|
35
33
|
// If the entry matching the active ID doesn't exist in the collection, create it.
|
|
36
|
-
if (!data[name].find(
|
|
37
|
-
|
|
38
|
-
})) {
|
|
39
|
-
var newEntryId = Date.now().toString();
|
|
34
|
+
if (!data[name].find(e => e.id === formData["".concat(name, "ActiveId")])) {
|
|
35
|
+
const newEntryId = Date.now().toString();
|
|
40
36
|
// eslint-disable-next-line no-param-reassign
|
|
41
37
|
formData["".concat(name, "ActiveId")] = formData["".concat(name, "ActiveId")] || newEntryId;
|
|
42
38
|
data[name].push({
|
|
@@ -50,10 +46,8 @@ var setCollectionPageData = function setCollectionPageData(collectionName, newDa
|
|
|
50
46
|
data[targetCollection] = newData;
|
|
51
47
|
return true;
|
|
52
48
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return item.id === activeId;
|
|
56
|
-
});
|
|
49
|
+
const activeId = formData["".concat(name, "ActiveId")];
|
|
50
|
+
const activeIndex = (_data$name = data[name]) === null || _data$name === void 0 ? void 0 : _data$name.findIndex(item => item.id === activeId);
|
|
57
51
|
if (!isValidIndex(activeIndex)) {
|
|
58
52
|
return true;
|
|
59
53
|
}
|
|
@@ -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', () => {
|
|
6
|
+
it('should create necessary entries when collections in the path don\'t exist', () => {
|
|
7
|
+
const FORM_DATA = {};
|
|
8
|
+
const NEW_DATA = [{
|
|
9
9
|
id: '123',
|
|
10
10
|
value: 'Alpha'
|
|
11
11
|
}];
|
|
@@ -32,11 +32,11 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
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', () => {
|
|
36
|
+
const FORM_DATA = {
|
|
37
37
|
grandchildActiveId: 77
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
const NEW_DATA = [{
|
|
40
40
|
id: '123',
|
|
41
41
|
value: 'Alpha'
|
|
42
42
|
}];
|
|
@@ -63,9 +63,9 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
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', () => {
|
|
67
|
+
it('should do nothing if one of the parent collections does not exist', () => {
|
|
68
|
+
const FORM_DATA = {
|
|
69
69
|
parentActiveId: '1',
|
|
70
70
|
childActiveId: '1',
|
|
71
71
|
grandchildActiveId: '1',
|
|
@@ -80,7 +80,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
80
80
|
}]
|
|
81
81
|
}]
|
|
82
82
|
};
|
|
83
|
-
|
|
83
|
+
const NEW_DATA = [{
|
|
84
84
|
id: '1',
|
|
85
85
|
value: 'newValue'
|
|
86
86
|
}];
|
|
@@ -90,8 +90,8 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
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', () => {
|
|
94
|
+
const FORM_DATA = {
|
|
95
95
|
parentActiveId: '1',
|
|
96
96
|
grandchildActiveId: '1',
|
|
97
97
|
parent: [{
|
|
@@ -105,7 +105,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
105
105
|
}]
|
|
106
106
|
}]
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
const NEW_DATA = [{
|
|
109
109
|
id: '1',
|
|
110
110
|
value: 'newValue'
|
|
111
111
|
}];
|
|
@@ -116,15 +116,15 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
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', () => {
|
|
120
|
+
const FORM_DATA = {
|
|
121
121
|
testCollectionActiveId: '1',
|
|
122
122
|
testCollection: [{
|
|
123
123
|
id: '1',
|
|
124
124
|
value: 'oldValue'
|
|
125
125
|
}]
|
|
126
126
|
};
|
|
127
|
-
|
|
127
|
+
const NEW_DATA = [{
|
|
128
128
|
id: '1',
|
|
129
129
|
value: 'newValue'
|
|
130
130
|
}];
|
|
@@ -134,8 +134,8 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
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', () => {
|
|
138
|
+
const FORM_DATA = {
|
|
139
139
|
parentActiveId: '1',
|
|
140
140
|
childActiveId: '1',
|
|
141
141
|
grandchildActiveId: '1',
|
|
@@ -150,7 +150,7 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
150
150
|
}]
|
|
151
151
|
}]
|
|
152
152
|
};
|
|
153
|
-
|
|
153
|
+
const NEW_DATA = [{
|
|
154
154
|
id: '1',
|
|
155
155
|
value: 'newValue'
|
|
156
156
|
}];
|
|
@@ -160,10 +160,10 @@ describe('Utils.CollectionPage.setCollectionPageData', function () {
|
|
|
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', () => {
|
|
164
|
+
const formData = {};
|
|
165
|
+
const collectionName = 'testCollection';
|
|
166
|
+
const newData = [{
|
|
167
167
|
id: 'dataId',
|
|
168
168
|
value: 'testValue'
|
|
169
169
|
}];
|
|
@@ -4,12 +4,6 @@ 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); }
|
|
13
7
|
/**
|
|
14
8
|
* Adds a show_when to a component.
|
|
15
9
|
* If the component has no show_when, then an array is created
|
|
@@ -21,14 +15,16 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
21
15
|
* @returns The component with the new show_when added.
|
|
22
16
|
* null if component or condition are invalid.
|
|
23
17
|
*/
|
|
24
|
-
|
|
18
|
+
const addShowWhen = (component, condition) => {
|
|
25
19
|
if (!component) {
|
|
26
20
|
return null;
|
|
27
21
|
}
|
|
28
22
|
if (!condition) {
|
|
29
23
|
return component;
|
|
30
24
|
}
|
|
31
|
-
|
|
25
|
+
const result = {
|
|
26
|
+
...component
|
|
27
|
+
};
|
|
32
28
|
if (result.show_when) {
|
|
33
29
|
if (Array.isArray(condition)) {
|
|
34
30
|
result.show_when = Array.isArray(result.show_when) ? [].concat(condition, result.show_when) : [].concat(condition, [result.show_when]);
|
|
@@ -4,50 +4,50 @@ var _addShowWhen = _interopRequireDefault(require("./addShowWhen"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.Component.addShowWhen',
|
|
8
|
-
|
|
7
|
+
describe('utils.Component.addShowWhen', () => {
|
|
8
|
+
const NEW_SHOW_WHEN = {
|
|
9
9
|
field: 'field',
|
|
10
10
|
op: '=',
|
|
11
11
|
value: 'value'
|
|
12
12
|
};
|
|
13
|
-
it('should return null when component is undefined',
|
|
14
|
-
|
|
13
|
+
it('should return null when component is undefined', () => {
|
|
14
|
+
const result = (0, _addShowWhen.default)(undefined, {});
|
|
15
15
|
expect(result).toEqual(null);
|
|
16
16
|
});
|
|
17
|
-
it('should return null when component is null',
|
|
18
|
-
|
|
17
|
+
it('should return null when component is null', () => {
|
|
18
|
+
const result = (0, _addShowWhen.default)(null, {});
|
|
19
19
|
expect(result).toEqual(null);
|
|
20
20
|
});
|
|
21
|
-
it('should return component when condition is undefined',
|
|
22
|
-
|
|
21
|
+
it('should return component when condition is undefined', () => {
|
|
22
|
+
const COMPONENT = {
|
|
23
23
|
alpha: 'bravo'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
const result = (0, _addShowWhen.default)(COMPONENT, undefined);
|
|
26
26
|
expect(result).toEqual({
|
|
27
27
|
alpha: 'bravo'
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
-
it('should return component when condition is null',
|
|
31
|
-
|
|
30
|
+
it('should return component when condition is null', () => {
|
|
31
|
+
const COMPONENT = {
|
|
32
32
|
alpha: 'bravo'
|
|
33
33
|
};
|
|
34
|
-
|
|
34
|
+
const result = (0, _addShowWhen.default)(COMPONENT, null);
|
|
35
35
|
expect(result).toEqual({
|
|
36
36
|
alpha: 'bravo'
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
it('should add the show_when to a component with no existing show_whens',
|
|
40
|
-
|
|
39
|
+
it('should add the show_when to a component with no existing show_whens', () => {
|
|
40
|
+
const COMPONENT = {
|
|
41
41
|
alpha: 'bravo'
|
|
42
42
|
};
|
|
43
|
-
|
|
43
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
|
|
44
44
|
expect(result).toEqual({
|
|
45
45
|
alpha: 'bravo',
|
|
46
46
|
show_when: NEW_SHOW_WHEN
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
|
-
it('should add the array type show_when to a component with no existing show_whens',
|
|
50
|
-
|
|
49
|
+
it('should add the array type show_when to a component with no existing show_whens', () => {
|
|
50
|
+
const NEW_ARRAY_SHOW_WHEN = [{
|
|
51
51
|
field: 'abc',
|
|
52
52
|
op: '=',
|
|
53
53
|
value: 'bcd'
|
|
@@ -56,17 +56,17 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
56
56
|
op: '=',
|
|
57
57
|
value: 'efg'
|
|
58
58
|
}];
|
|
59
|
-
|
|
59
|
+
const COMPONENT = {
|
|
60
60
|
alpha: 'bravo'
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
63
63
|
expect(result).toEqual({
|
|
64
64
|
alpha: 'bravo',
|
|
65
65
|
show_when: NEW_ARRAY_SHOW_WHEN
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
it('should add the show_when to a component with a single show_when',
|
|
69
|
-
|
|
68
|
+
it('should add the show_when to a component with a single show_when', () => {
|
|
69
|
+
const COMPONENT = {
|
|
70
70
|
alpha: 'bravo',
|
|
71
71
|
show_when: {
|
|
72
72
|
field: 'abc',
|
|
@@ -74,7 +74,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
74
74
|
value: 'bcd'
|
|
75
75
|
}
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
|
|
78
78
|
expect(result).toEqual({
|
|
79
79
|
alpha: 'bravo',
|
|
80
80
|
show_when: [{
|
|
@@ -84,8 +84,8 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
84
84
|
}, NEW_SHOW_WHEN]
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
it('should add the show_when to a component with an array of show_whens',
|
|
88
|
-
|
|
87
|
+
it('should add the show_when to a component with an array of show_whens', () => {
|
|
88
|
+
const COMPONENT = {
|
|
89
89
|
alpha: 'bravo',
|
|
90
90
|
show_when: [{
|
|
91
91
|
field: 'abc',
|
|
@@ -97,7 +97,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
97
97
|
value: 'efg'
|
|
98
98
|
}]
|
|
99
99
|
};
|
|
100
|
-
|
|
100
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_SHOW_WHEN);
|
|
101
101
|
expect(result).toEqual({
|
|
102
102
|
alpha: 'bravo',
|
|
103
103
|
show_when: [{
|
|
@@ -111,11 +111,11 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
111
111
|
}, NEW_SHOW_WHEN]
|
|
112
112
|
});
|
|
113
113
|
});
|
|
114
|
-
it('should add the or type show_when to a component with no existing show_whens in an object not an array',
|
|
115
|
-
|
|
114
|
+
it('should add the or type show_when to a component with no existing show_whens in an object not an array', () => {
|
|
115
|
+
const COMPONENT = {
|
|
116
116
|
alpha: 'bravo'
|
|
117
117
|
};
|
|
118
|
-
|
|
118
|
+
const SHOW_WHEN_OR = {
|
|
119
119
|
type: 'or',
|
|
120
120
|
condition: [{
|
|
121
121
|
field: 'field1',
|
|
@@ -127,14 +127,14 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
127
127
|
value: 2
|
|
128
128
|
}]
|
|
129
129
|
};
|
|
130
|
-
|
|
130
|
+
const result = (0, _addShowWhen.default)(COMPONENT, SHOW_WHEN_OR);
|
|
131
131
|
expect(result).toEqual({
|
|
132
132
|
alpha: 'bravo',
|
|
133
133
|
show_when: SHOW_WHEN_OR
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
|
-
it('should add an array of show_whens to a component with an array of show_whens',
|
|
137
|
-
|
|
136
|
+
it('should add an array of show_whens to a component with an array of show_whens', () => {
|
|
137
|
+
const NEW_ARRAY_SHOW_WHEN = [{
|
|
138
138
|
field: 'hij',
|
|
139
139
|
op: '=',
|
|
140
140
|
value: 'klm'
|
|
@@ -143,7 +143,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
143
143
|
op: '=',
|
|
144
144
|
value: 'qrs'
|
|
145
145
|
}];
|
|
146
|
-
|
|
146
|
+
const COMPONENT = {
|
|
147
147
|
alpha: 'bravo',
|
|
148
148
|
show_when: [{
|
|
149
149
|
field: 'abc',
|
|
@@ -155,7 +155,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
155
155
|
value: 'efg'
|
|
156
156
|
}]
|
|
157
157
|
};
|
|
158
|
-
|
|
158
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
159
159
|
expect(result).toEqual({
|
|
160
160
|
alpha: 'bravo',
|
|
161
161
|
show_when: [{
|
|
@@ -177,8 +177,8 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
177
177
|
}]
|
|
178
178
|
});
|
|
179
179
|
});
|
|
180
|
-
it('should add an array of show_whens to a component with a single show_when',
|
|
181
|
-
|
|
180
|
+
it('should add an array of show_whens to a component with a single show_when', () => {
|
|
181
|
+
const NEW_ARRAY_SHOW_WHEN = [{
|
|
182
182
|
field: 'hij',
|
|
183
183
|
op: '=',
|
|
184
184
|
value: 'klm'
|
|
@@ -187,7 +187,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
187
187
|
op: '=',
|
|
188
188
|
value: 'qrs'
|
|
189
189
|
}];
|
|
190
|
-
|
|
190
|
+
const COMPONENT = {
|
|
191
191
|
alpha: 'bravo',
|
|
192
192
|
show_when: {
|
|
193
193
|
field: 'abc',
|
|
@@ -195,7 +195,7 @@ describe('utils.Component.addShowWhen', function () {
|
|
|
195
195
|
value: 'bcd'
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
|
-
|
|
198
|
+
const result = (0, _addShowWhen.default)(COMPONENT, NEW_ARRAY_SHOW_WHEN);
|
|
199
199
|
expect(result).toEqual({
|
|
200
200
|
alpha: 'bravo',
|
|
201
201
|
show_when: [{
|
|
@@ -5,12 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../models");
|
|
8
|
-
|
|
9
|
-
|
|
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; }
|
|
11
|
-
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; }
|
|
12
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
-
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); } // Local imports.
|
|
8
|
+
// Local imports.
|
|
9
|
+
|
|
14
10
|
/**
|
|
15
11
|
* Call a callback on a component and all of its child/nested components.
|
|
16
12
|
* At each stage, the value of the component is set to the returned value
|
|
@@ -24,7 +20,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
24
20
|
* null if root is not valid.
|
|
25
21
|
* root if callback is not valid.
|
|
26
22
|
*/
|
|
27
|
-
|
|
23
|
+
const applyToComponentTree = (root, callback) => {
|
|
28
24
|
var _root$data;
|
|
29
25
|
if (!root) {
|
|
30
26
|
return null;
|
|
@@ -32,17 +28,19 @@ var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
|
32
28
|
if (!callback) {
|
|
33
29
|
return root;
|
|
34
30
|
}
|
|
35
|
-
|
|
31
|
+
const result = {
|
|
32
|
+
...root
|
|
33
|
+
};
|
|
36
34
|
switch (root.type) {
|
|
37
35
|
case _models.ComponentTypes.CONTAINER:
|
|
38
|
-
result.components.forEach(
|
|
39
|
-
|
|
36
|
+
result.components.forEach((c, index, containerArray) => {
|
|
37
|
+
const array = containerArray;
|
|
40
38
|
array[index] = applyToComponentTree(c, callback);
|
|
41
39
|
});
|
|
42
40
|
break;
|
|
43
41
|
case _models.ComponentTypes.COLLECTION:
|
|
44
|
-
result.item.forEach(
|
|
45
|
-
|
|
42
|
+
result.item.forEach((c, index, collectionArray) => {
|
|
43
|
+
const array = collectionArray;
|
|
46
44
|
array[index] = applyToComponentTree(c, callback);
|
|
47
45
|
});
|
|
48
46
|
break;
|
|
@@ -51,13 +49,15 @@ var applyToComponentTree = function applyToComponentTree(root, callback) {
|
|
|
51
49
|
if (!((_root$data = root.data) !== null && _root$data !== void 0 && _root$data.options)) {
|
|
52
50
|
break;
|
|
53
51
|
}
|
|
54
|
-
result.data =
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
result.data = {
|
|
53
|
+
...root.data
|
|
54
|
+
};
|
|
55
|
+
result.data.options = root.data.options.map(option => {
|
|
56
|
+
const newOption = {
|
|
57
|
+
...option
|
|
58
|
+
};
|
|
57
59
|
if (option.nested) {
|
|
58
|
-
newOption.nested = option.nested.map(
|
|
59
|
-
return applyToComponentTree(c, callback);
|
|
60
|
-
});
|
|
60
|
+
newOption.nested = option.nested.map(c => applyToComponentTree(c, callback));
|
|
61
61
|
}
|
|
62
62
|
return newOption;
|
|
63
63
|
});
|