@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,17 +4,17 @@ var _refDataToOptions = _interopRequireDefault(require("./refDataToOptions"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Data',
|
|
9
|
-
describe('refDataToOptions',
|
|
10
|
-
it('can handle a null refData',
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Data', () => {
|
|
9
|
+
describe('refDataToOptions', () => {
|
|
10
|
+
it('can handle a null refData', () => {
|
|
11
11
|
expect((0, _refDataToOptions.default)(null)).toEqual([]);
|
|
12
12
|
});
|
|
13
|
-
it('can handle an undefined refData',
|
|
13
|
+
it('can handle an undefined refData', () => {
|
|
14
14
|
expect((0, _refDataToOptions.default)(undefined)).toEqual([]);
|
|
15
15
|
});
|
|
16
|
-
it('can handle genuine refData',
|
|
17
|
-
|
|
16
|
+
it('can handle genuine refData', () => {
|
|
17
|
+
const REF_DATA = [{
|
|
18
18
|
id: 'a',
|
|
19
19
|
name: 'Alpha'
|
|
20
20
|
}, {
|
|
@@ -41,8 +41,8 @@ describe('utils', function () {
|
|
|
41
41
|
label: 'Charlie'
|
|
42
42
|
}]);
|
|
43
43
|
});
|
|
44
|
-
it('can handle refData that is already in a usable options format',
|
|
45
|
-
|
|
44
|
+
it('can handle refData that is already in a usable options format', () => {
|
|
45
|
+
const REF_DATA = [{
|
|
46
46
|
value: 'a',
|
|
47
47
|
label: 'Alpha'
|
|
48
48
|
}, {
|
|
@@ -63,8 +63,8 @@ describe('utils', function () {
|
|
|
63
63
|
label: 'Charlie'
|
|
64
64
|
}]);
|
|
65
65
|
});
|
|
66
|
-
it('can handle refData that is in a mixed format',
|
|
67
|
-
|
|
66
|
+
it('can handle refData that is in a mixed format', () => {
|
|
67
|
+
const REF_DATA = [{
|
|
68
68
|
id: 'a',
|
|
69
69
|
name: 'Alpha',
|
|
70
70
|
type: 'Delta'
|
|
@@ -93,8 +93,8 @@ describe('utils', function () {
|
|
|
93
93
|
type: 'Delta'
|
|
94
94
|
}]);
|
|
95
95
|
});
|
|
96
|
-
it('can handle refData that contains strings and objects',
|
|
97
|
-
|
|
96
|
+
it('can handle refData that contains strings and objects', () => {
|
|
97
|
+
const REF_DATA = [{
|
|
98
98
|
id: 'a',
|
|
99
99
|
name: 'Alpha',
|
|
100
100
|
type: 'Delta'
|
|
@@ -123,8 +123,8 @@ describe('utils', function () {
|
|
|
123
123
|
type: 'Delta'
|
|
124
124
|
}]);
|
|
125
125
|
});
|
|
126
|
-
it('can handle refData with custom value and label properties',
|
|
127
|
-
|
|
126
|
+
it('can handle refData with custom value and label properties', () => {
|
|
127
|
+
const REF_DATA = [{
|
|
128
128
|
id: 1,
|
|
129
129
|
displayName: 'Alpha'
|
|
130
130
|
}, {
|
|
@@ -134,7 +134,7 @@ describe('utils', function () {
|
|
|
134
134
|
id: 3,
|
|
135
135
|
displayName: 'Charlie'
|
|
136
136
|
}];
|
|
137
|
-
|
|
137
|
+
const ITEM_STRUCTURE = {
|
|
138
138
|
value: 'id',
|
|
139
139
|
label: 'displayName'
|
|
140
140
|
};
|
|
@@ -155,8 +155,8 @@ describe('utils', function () {
|
|
|
155
155
|
label: 'Charlie'
|
|
156
156
|
}]);
|
|
157
157
|
});
|
|
158
|
-
it('can handle refData with missing custom value and label properties',
|
|
159
|
-
|
|
158
|
+
it('can handle refData with missing custom value and label properties', () => {
|
|
159
|
+
const REF_DATA = [{
|
|
160
160
|
id: 1,
|
|
161
161
|
name: 'Alpha'
|
|
162
162
|
}, {
|
|
@@ -168,7 +168,7 @@ describe('utils', function () {
|
|
|
168
168
|
objId: 'chaz',
|
|
169
169
|
name: 'Charlie'
|
|
170
170
|
}];
|
|
171
|
-
|
|
171
|
+
const ITEM_STRUCTURE = {
|
|
172
172
|
value: 'objId',
|
|
173
173
|
label: 'displayName'
|
|
174
174
|
};
|
|
@@ -4,17 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
7
|
+
const setDataItem = function (data, fieldId, value) {
|
|
8
|
+
let handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10
9
|
if (fieldId && data) {
|
|
11
|
-
|
|
10
|
+
const parts = handleArrayIndices ?
|
|
12
11
|
// Replace all occurrences of '[' with '.' and ']' with ''.
|
|
13
12
|
fieldId.replace(/\[/g, '.').replace(/\]/g, '').split('.') : fieldId.split('.');
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
parts.forEach(
|
|
17
|
-
if (!node[part] ||
|
|
13
|
+
const leaf = parts.pop();
|
|
14
|
+
let node = data;
|
|
15
|
+
parts.forEach(part => {
|
|
16
|
+
if (!node[part] || typeof node[part] !== 'object') {
|
|
18
17
|
node[part] = {};
|
|
19
18
|
}
|
|
20
19
|
node = node[part];
|
|
@@ -2,48 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
var _setDataItem = _interopRequireDefault(require("./setDataItem"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
describe('utils.Data.setDataItem',
|
|
6
|
-
it('should handle a null data object',
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
describe('utils.Data.setDataItem', () => {
|
|
6
|
+
it('should handle a null data object', () => {
|
|
7
|
+
const DATA = null;
|
|
8
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
9
|
+
const VALUE = 'delta';
|
|
10
10
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeNull();
|
|
11
11
|
expect(DATA).toBeNull();
|
|
12
12
|
});
|
|
13
|
-
it('should handle an undefined data object',
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
it('should handle an undefined data object', () => {
|
|
14
|
+
const DATA = undefined;
|
|
15
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
16
|
+
const VALUE = 'delta';
|
|
17
17
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toBeUndefined();
|
|
18
18
|
expect(DATA).toBeUndefined();
|
|
19
19
|
});
|
|
20
|
-
it('should handle a null fieldId',
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
it('should handle a null fieldId', () => {
|
|
21
|
+
const DATA = {};
|
|
22
|
+
const FIELD_ID = null;
|
|
23
|
+
const VALUE = 'delta';
|
|
24
24
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
25
25
|
expect(DATA).toMatchObject({});
|
|
26
26
|
});
|
|
27
|
-
it('should handle an undefined fieldId',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
it('should handle an undefined fieldId', () => {
|
|
28
|
+
const DATA = {};
|
|
29
|
+
const FIELD_ID = undefined;
|
|
30
|
+
const VALUE = 'delta';
|
|
31
31
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
32
32
|
expect(DATA).toMatchObject({});
|
|
33
33
|
});
|
|
34
|
-
it('should handle an empty fieldId',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
it('should handle an empty fieldId', () => {
|
|
35
|
+
const DATA = {};
|
|
36
|
+
const FIELD_ID = '';
|
|
37
|
+
const VALUE = 'delta';
|
|
38
38
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({});
|
|
39
39
|
expect(DATA).toMatchObject({});
|
|
40
40
|
});
|
|
41
|
-
it('should appropriately set a nested value',
|
|
42
|
-
|
|
41
|
+
it('should appropriately set a nested value', () => {
|
|
42
|
+
const DATA = {
|
|
43
43
|
alpha: {}
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
46
|
+
const VALUE = 'delta';
|
|
47
47
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
48
48
|
alpha: {
|
|
49
49
|
bravo: {
|
|
@@ -59,16 +59,16 @@ describe('utils.Data.setDataItem', function () {
|
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
|
-
it('should appropriately change a nested value',
|
|
63
|
-
|
|
62
|
+
it('should appropriately change a nested value', () => {
|
|
63
|
+
const DATA = {
|
|
64
64
|
alpha: {
|
|
65
65
|
bravo: {
|
|
66
66
|
charlie: 'echo'
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
71
|
+
const VALUE = 'delta';
|
|
72
72
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
73
73
|
alpha: {
|
|
74
74
|
bravo: {
|
|
@@ -84,14 +84,14 @@ describe('utils.Data.setDataItem', function () {
|
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
});
|
|
87
|
-
it('should handle a parent node that is not an object and convert it appropriately',
|
|
88
|
-
|
|
87
|
+
it('should handle a parent node that is not an object and convert it appropriately', () => {
|
|
88
|
+
const DATA = {
|
|
89
89
|
alpha: {
|
|
90
90
|
bravo: 'echo'
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const FIELD_ID = 'alpha.bravo.charlie';
|
|
94
|
+
const VALUE = 'delta';
|
|
95
95
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE)).toMatchObject({
|
|
96
96
|
alpha: {
|
|
97
97
|
bravo: {
|
|
@@ -107,16 +107,16 @@ describe('utils.Data.setDataItem', function () {
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
});
|
|
110
|
-
it('should handle array indices in fieldPath if handleArrayIndices is true',
|
|
111
|
-
|
|
110
|
+
it('should handle array indices in fieldPath if handleArrayIndices is true', () => {
|
|
111
|
+
const DATA = {
|
|
112
112
|
alpha: {
|
|
113
113
|
bravo: [{
|
|
114
114
|
charlie: '123'
|
|
115
115
|
}]
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
const FIELD_ID = 'alpha.bravo[0].charlie';
|
|
119
|
+
const VALUE = '456';
|
|
120
120
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE, true)).toMatchObject({
|
|
121
121
|
alpha: {
|
|
122
122
|
bravo: [{
|
|
@@ -6,30 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
15
|
-
var setupComponentSourceData = function setupComponentSourceData(component, data) {
|
|
16
|
-
var componentSourceData = data;
|
|
9
|
+
// Local imports
|
|
10
|
+
|
|
11
|
+
const setupComponentSourceData = (component, data) => {
|
|
12
|
+
const componentSourceData = data;
|
|
17
13
|
if (component.source) {
|
|
18
14
|
componentSourceData[component.fieldId] = (0, _getSourceData.default)(componentSourceData, component.source.field);
|
|
19
15
|
}
|
|
20
16
|
};
|
|
21
|
-
|
|
22
|
-
components.forEach(
|
|
23
|
-
return setupComponentSourceData(component, data);
|
|
24
|
-
});
|
|
17
|
+
const setupSourceDataForComponents = (components, data) => {
|
|
18
|
+
components.forEach(component => setupComponentSourceData(component, data));
|
|
25
19
|
};
|
|
26
|
-
|
|
27
|
-
pages.forEach(
|
|
28
|
-
page.components.filter(
|
|
29
|
-
return !c.use;
|
|
30
|
-
}).forEach(function (component) {
|
|
31
|
-
return setupComponentSourceData(component, data);
|
|
32
|
-
});
|
|
20
|
+
const setupPageSourceData = (pages, data) => {
|
|
21
|
+
pages.forEach(page => {
|
|
22
|
+
page.components.filter(c => !c.use).forEach(component => setupComponentSourceData(component, data));
|
|
33
23
|
});
|
|
34
24
|
};
|
|
35
25
|
|
|
@@ -46,8 +36,10 @@ var setupPageSourceData = function setupPageSourceData(pages, data) {
|
|
|
46
36
|
* @param {object} baseData
|
|
47
37
|
* @returns
|
|
48
38
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
const setupFormData = (pages, components, baseData) => {
|
|
40
|
+
const data = {
|
|
41
|
+
...baseData
|
|
42
|
+
};
|
|
51
43
|
setupSourceDataForComponents(components, data);
|
|
52
44
|
setupPageSourceData(pages, data);
|
|
53
45
|
return data;
|
|
@@ -4,63 +4,61 @@ var _setupFormData = _interopRequireDefault(require("./setupFormData"));
|
|
|
4
4
|
var _userProfile = _interopRequireDefault(require("../../json/userProfile.json"));
|
|
5
5
|
var _userProfileData = _interopRequireDefault(require("../../json/userProfile.data.json"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
describe('
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var PAGES = [];
|
|
18
|
-
var COMPONENTS = [{
|
|
7
|
+
/* eslint-disable import/no-named-default */
|
|
8
|
+
|
|
9
|
+
// Local imports
|
|
10
|
+
|
|
11
|
+
describe('utils', () => {
|
|
12
|
+
describe('Data', () => {
|
|
13
|
+
describe('setupFormData', () => {
|
|
14
|
+
it('should populate a simple form', () => {
|
|
15
|
+
const PAGES = [];
|
|
16
|
+
const COMPONENTS = [{
|
|
19
17
|
fieldId: 'testField',
|
|
20
18
|
source: {
|
|
21
19
|
field: 'sourceField'
|
|
22
20
|
}
|
|
23
21
|
}];
|
|
24
|
-
|
|
22
|
+
const DATA = {
|
|
25
23
|
sourceField: 'VALUE'
|
|
26
24
|
};
|
|
27
|
-
|
|
25
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
28
26
|
expect(RESULT).toEqual({
|
|
29
27
|
sourceField: 'VALUE',
|
|
30
28
|
testField: 'VALUE'
|
|
31
29
|
});
|
|
32
30
|
});
|
|
33
|
-
it('should handle a missing source field',
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
it('should handle a missing source field', () => {
|
|
32
|
+
const PAGES = [];
|
|
33
|
+
const COMPONENTS = [{
|
|
36
34
|
fieldId: 'testField',
|
|
37
35
|
source: {
|
|
38
36
|
field: 'otherSourceField'
|
|
39
37
|
}
|
|
40
38
|
}];
|
|
41
|
-
|
|
39
|
+
const DATA = {
|
|
42
40
|
sourceField: 'VALUE'
|
|
43
41
|
};
|
|
44
|
-
|
|
42
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
45
43
|
expect(RESULT).toEqual({
|
|
46
44
|
sourceField: 'VALUE',
|
|
47
45
|
testField: undefined
|
|
48
46
|
});
|
|
49
47
|
});
|
|
50
|
-
it('should handle a nested source field',
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
it('should handle a nested source field', () => {
|
|
49
|
+
const PAGES = [];
|
|
50
|
+
const COMPONENTS = [{
|
|
53
51
|
fieldId: 'testField',
|
|
54
52
|
source: {
|
|
55
53
|
field: 'nested.sourceField'
|
|
56
54
|
}
|
|
57
55
|
}];
|
|
58
|
-
|
|
56
|
+
const DATA = {
|
|
59
57
|
nested: {
|
|
60
58
|
sourceField: 'VALUE'
|
|
61
59
|
}
|
|
62
60
|
};
|
|
63
|
-
|
|
61
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
64
62
|
expect(RESULT).toEqual({
|
|
65
63
|
nested: {
|
|
66
64
|
sourceField: 'VALUE'
|
|
@@ -68,20 +66,20 @@ describe('utils', function () {
|
|
|
68
66
|
testField: 'VALUE'
|
|
69
67
|
});
|
|
70
68
|
});
|
|
71
|
-
it('should handle a missing nested source field',
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
it('should handle a missing nested source field', () => {
|
|
70
|
+
const PAGES = [];
|
|
71
|
+
const COMPONENTS = [{
|
|
74
72
|
fieldId: 'testField',
|
|
75
73
|
source: {
|
|
76
74
|
field: 'nested.otherSourceField'
|
|
77
75
|
}
|
|
78
76
|
}];
|
|
79
|
-
|
|
77
|
+
const DATA = {
|
|
80
78
|
nested: {
|
|
81
79
|
sourceField: 'VALUE'
|
|
82
80
|
}
|
|
83
81
|
};
|
|
84
|
-
|
|
82
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
85
83
|
expect(RESULT).toEqual({
|
|
86
84
|
nested: {
|
|
87
85
|
sourceField: 'VALUE'
|
|
@@ -89,20 +87,20 @@ describe('utils', function () {
|
|
|
89
87
|
testField: undefined
|
|
90
88
|
});
|
|
91
89
|
});
|
|
92
|
-
it('should handle an entirely missing nested source field',
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
it('should handle an entirely missing nested source field', () => {
|
|
91
|
+
const PAGES = [];
|
|
92
|
+
const COMPONENTS = [{
|
|
95
93
|
fieldId: 'testField',
|
|
96
94
|
source: {
|
|
97
95
|
field: 'otherNested.sourceField'
|
|
98
96
|
}
|
|
99
97
|
}];
|
|
100
|
-
|
|
98
|
+
const DATA = {
|
|
101
99
|
nested: {
|
|
102
100
|
sourceField: 'VALUE'
|
|
103
101
|
}
|
|
104
102
|
};
|
|
105
|
-
|
|
103
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
106
104
|
expect(RESULT).toEqual({
|
|
107
105
|
nested: {
|
|
108
106
|
sourceField: 'VALUE'
|
|
@@ -110,8 +108,8 @@ describe('utils', function () {
|
|
|
110
108
|
testField: undefined
|
|
111
109
|
});
|
|
112
110
|
});
|
|
113
|
-
it('should handle sources within pages',
|
|
114
|
-
|
|
111
|
+
it('should handle sources within pages', () => {
|
|
112
|
+
const PAGES = [{
|
|
115
113
|
components: [{
|
|
116
114
|
fieldId: 'pageField',
|
|
117
115
|
source: {
|
|
@@ -126,20 +124,20 @@ describe('utils', function () {
|
|
|
126
124
|
}
|
|
127
125
|
}]
|
|
128
126
|
}];
|
|
129
|
-
|
|
127
|
+
const COMPONENTS = [{
|
|
130
128
|
fieldId: 'testField',
|
|
131
129
|
source: {
|
|
132
130
|
field: 'nested.sourceField'
|
|
133
131
|
}
|
|
134
132
|
}];
|
|
135
|
-
|
|
133
|
+
const DATA = {
|
|
136
134
|
nested: {
|
|
137
135
|
sourceField: 'VALUE'
|
|
138
136
|
},
|
|
139
137
|
pageSourceField: 'PAGE 1',
|
|
140
138
|
secondPageSourceField: 'Bob'
|
|
141
139
|
};
|
|
142
|
-
|
|
140
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
143
141
|
expect(RESULT).toEqual({
|
|
144
142
|
nested: {
|
|
145
143
|
sourceField: 'VALUE'
|
|
@@ -151,8 +149,8 @@ describe('utils', function () {
|
|
|
151
149
|
secondPageField: 'Bob'
|
|
152
150
|
});
|
|
153
151
|
});
|
|
154
|
-
it('should ignore sources within pages that reference a top-level component',
|
|
155
|
-
|
|
152
|
+
it('should ignore sources within pages that reference a top-level component', () => {
|
|
153
|
+
const PAGES = [{
|
|
156
154
|
components: [{
|
|
157
155
|
fieldId: 'pageField',
|
|
158
156
|
use: 'testField',
|
|
@@ -168,20 +166,20 @@ describe('utils', function () {
|
|
|
168
166
|
}
|
|
169
167
|
}]
|
|
170
168
|
}];
|
|
171
|
-
|
|
169
|
+
const COMPONENTS = [{
|
|
172
170
|
fieldId: 'testField',
|
|
173
171
|
source: {
|
|
174
172
|
field: 'nested.sourceField'
|
|
175
173
|
}
|
|
176
174
|
}];
|
|
177
|
-
|
|
175
|
+
const DATA = {
|
|
178
176
|
nested: {
|
|
179
177
|
sourceField: 'VALUE'
|
|
180
178
|
},
|
|
181
179
|
pageSourceField: 'PAGE 1',
|
|
182
180
|
secondPageSourceField: 'Bob'
|
|
183
181
|
};
|
|
184
|
-
|
|
182
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
185
183
|
expect(RESULT).toEqual({
|
|
186
184
|
nested: {
|
|
187
185
|
sourceField: 'VALUE'
|
|
@@ -192,21 +190,24 @@ describe('utils', function () {
|
|
|
192
190
|
secondPageField: 'Bob'
|
|
193
191
|
});
|
|
194
192
|
});
|
|
195
|
-
it('should populate data for the user profile configuration and source',
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
193
|
+
it('should populate data for the user profile configuration and source', () => {
|
|
194
|
+
const {
|
|
195
|
+
pages,
|
|
196
|
+
components
|
|
197
|
+
} = _userProfile.default;
|
|
198
|
+
const RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
|
|
199
199
|
|
|
200
200
|
// It should produce an aggregation of the original source data (USER_PROFILE_DATA)
|
|
201
201
|
// and data calculated for the fields, based on that source data.
|
|
202
|
-
expect(RESULT).toEqual(
|
|
202
|
+
expect(RESULT).toEqual({
|
|
203
|
+
..._userProfileData.default,
|
|
203
204
|
firstName: _userProfileData.default.currentUser.givenName,
|
|
204
205
|
surname: _userProfileData.default.currentUser.familyName,
|
|
205
206
|
team: _userProfileData.default.userDetails.defaultteam,
|
|
206
207
|
staffGradeId: _userProfileData.default.userDetails.gradeid,
|
|
207
208
|
linemanagerEmail: _userProfileData.default.userDetails.linemanagerEmail,
|
|
208
209
|
delegateEmails: _userProfileData.default.userDetails.delegateEmails
|
|
209
|
-
})
|
|
210
|
+
});
|
|
210
211
|
});
|
|
211
212
|
});
|
|
212
213
|
});
|
|
@@ -6,28 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
8
|
var _models = require("../../models");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
var setupRefDataUrlForComponents = function setupRefDataUrlForComponents(components, data) {
|
|
26
|
-
return components.map(function (component) {
|
|
27
|
-
return setupRefDataUrlForComponent(component, data);
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component, data) {
|
|
9
|
+
/* eslint-disable no-use-before-define */
|
|
10
|
+
|
|
11
|
+
// Global imports
|
|
12
|
+
|
|
13
|
+
const setupRefDataForContainer = (container, data) => ({
|
|
14
|
+
...container,
|
|
15
|
+
components: setupRefDataUrlForComponents(container.components, data)
|
|
16
|
+
});
|
|
17
|
+
const setupRefDataForCollection = (collection, data) => ({
|
|
18
|
+
...collection,
|
|
19
|
+
item: setupRefDataUrlForComponents(collection.item, data)
|
|
20
|
+
});
|
|
21
|
+
const setupRefDataUrlForComponents = (components, data) => components.map(component => setupRefDataUrlForComponent(component, data));
|
|
22
|
+
const setupRefDataUrlForComponent = (component, data) => {
|
|
31
23
|
if (component) {
|
|
32
24
|
var _component$data, _component$data2;
|
|
33
25
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
@@ -40,11 +32,13 @@ var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component
|
|
|
40
32
|
return component;
|
|
41
33
|
}
|
|
42
34
|
if ((_component$data = component.data) !== null && _component$data !== void 0 && _component$data.url && !((_component$data2 = component.data) !== null && _component$data2 !== void 0 && _component$data2.skipUrlInterpolation)) {
|
|
43
|
-
return
|
|
44
|
-
|
|
35
|
+
return {
|
|
36
|
+
...component,
|
|
37
|
+
data: {
|
|
38
|
+
...component.data,
|
|
45
39
|
url: _copReactComponents.Utils.interpolateString(component.data.url, data)
|
|
46
|
-
}
|
|
47
|
-
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
44
|
return component;
|