@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -4,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', function () {
|
|
8
|
+
describe('Data', function () {
|
|
9
|
+
describe('refDataToOptions', function () {
|
|
10
|
+
it('can handle a null refData', function () {
|
|
11
11
|
expect((0, _refDataToOptions.default)(null)).toEqual([]);
|
|
12
12
|
});
|
|
13
|
-
it('can handle an undefined refData', ()
|
|
13
|
+
it('can handle an undefined refData', function () {
|
|
14
14
|
expect((0, _refDataToOptions.default)(undefined)).toEqual([]);
|
|
15
15
|
});
|
|
16
|
-
it('can handle genuine refData', ()
|
|
17
|
-
|
|
16
|
+
it('can handle genuine refData', function () {
|
|
17
|
+
var REF_DATA = [{
|
|
18
18
|
id: 'a',
|
|
19
19
|
name: 'Alpha'
|
|
20
20
|
}, {
|
|
@@ -41,8 +41,8 @@ describe('utils', () => {
|
|
|
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', function () {
|
|
45
|
+
var REF_DATA = [{
|
|
46
46
|
value: 'a',
|
|
47
47
|
label: 'Alpha'
|
|
48
48
|
}, {
|
|
@@ -63,8 +63,8 @@ describe('utils', () => {
|
|
|
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', function () {
|
|
67
|
+
var REF_DATA = [{
|
|
68
68
|
id: 'a',
|
|
69
69
|
name: 'Alpha',
|
|
70
70
|
type: 'Delta'
|
|
@@ -93,8 +93,8 @@ describe('utils', () => {
|
|
|
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', function () {
|
|
97
|
+
var REF_DATA = [{
|
|
98
98
|
id: 'a',
|
|
99
99
|
name: 'Alpha',
|
|
100
100
|
type: 'Delta'
|
|
@@ -123,8 +123,8 @@ describe('utils', () => {
|
|
|
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', function () {
|
|
127
|
+
var REF_DATA = [{
|
|
128
128
|
id: 1,
|
|
129
129
|
displayName: 'Alpha'
|
|
130
130
|
}, {
|
|
@@ -134,7 +134,7 @@ describe('utils', () => {
|
|
|
134
134
|
id: 3,
|
|
135
135
|
displayName: 'Charlie'
|
|
136
136
|
}];
|
|
137
|
-
|
|
137
|
+
var ITEM_STRUCTURE = {
|
|
138
138
|
value: 'id',
|
|
139
139
|
label: 'displayName'
|
|
140
140
|
};
|
|
@@ -155,8 +155,8 @@ describe('utils', () => {
|
|
|
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', function () {
|
|
159
|
+
var REF_DATA = [{
|
|
160
160
|
id: 1,
|
|
161
161
|
name: 'Alpha'
|
|
162
162
|
}, {
|
|
@@ -168,7 +168,7 @@ describe('utils', () => {
|
|
|
168
168
|
objId: 'chaz',
|
|
169
169
|
name: 'Charlie'
|
|
170
170
|
}];
|
|
171
|
-
|
|
171
|
+
var ITEM_STRUCTURE = {
|
|
172
172
|
value: 'objId',
|
|
173
173
|
label: 'displayName'
|
|
174
174
|
};
|
|
@@ -4,16 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
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
|
+
var setDataItem = function setDataItem(data, fieldId, value) {
|
|
9
|
+
var handleArrayIndices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
9
10
|
if (fieldId && data) {
|
|
10
|
-
|
|
11
|
+
var parts = handleArrayIndices ?
|
|
11
12
|
// Replace all occurrences of '[' with '.' and ']' with ''.
|
|
12
13
|
fieldId.replace(/\[/g, '.').replace(/\]/g, '').split('.') : fieldId.split('.');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
parts.forEach(part
|
|
16
|
-
if (!node[part] ||
|
|
14
|
+
var leaf = parts.pop();
|
|
15
|
+
var node = data;
|
|
16
|
+
parts.forEach(function (part) {
|
|
17
|
+
if (!node[part] || _typeof(node[part]) !== 'object') {
|
|
17
18
|
node[part] = {};
|
|
18
19
|
}
|
|
19
20
|
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', function () {
|
|
6
|
+
it('should handle a null data object', function () {
|
|
7
|
+
var DATA = null;
|
|
8
|
+
var FIELD_ID = 'alpha.bravo.charlie';
|
|
9
|
+
var 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', function () {
|
|
14
|
+
var DATA = undefined;
|
|
15
|
+
var FIELD_ID = 'alpha.bravo.charlie';
|
|
16
|
+
var 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', function () {
|
|
21
|
+
var DATA = {};
|
|
22
|
+
var FIELD_ID = null;
|
|
23
|
+
var 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', function () {
|
|
28
|
+
var DATA = {};
|
|
29
|
+
var FIELD_ID = undefined;
|
|
30
|
+
var 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', function () {
|
|
35
|
+
var DATA = {};
|
|
36
|
+
var FIELD_ID = '';
|
|
37
|
+
var 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', function () {
|
|
42
|
+
var DATA = {
|
|
43
43
|
alpha: {}
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
var FIELD_ID = 'alpha.bravo.charlie';
|
|
46
|
+
var 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', () => {
|
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
|
-
it('should appropriately change a nested value', ()
|
|
63
|
-
|
|
62
|
+
it('should appropriately change a nested value', function () {
|
|
63
|
+
var DATA = {
|
|
64
64
|
alpha: {
|
|
65
65
|
bravo: {
|
|
66
66
|
charlie: 'echo'
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
var FIELD_ID = 'alpha.bravo.charlie';
|
|
71
|
+
var 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', () => {
|
|
|
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', function () {
|
|
88
|
+
var DATA = {
|
|
89
89
|
alpha: {
|
|
90
90
|
bravo: 'echo'
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
var FIELD_ID = 'alpha.bravo.charlie';
|
|
94
|
+
var 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', () => {
|
|
|
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', function () {
|
|
111
|
+
var DATA = {
|
|
112
112
|
alpha: {
|
|
113
113
|
bravo: [{
|
|
114
114
|
charlie: '123'
|
|
115
115
|
}]
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
var FIELD_ID = 'alpha.bravo[0].charlie';
|
|
119
|
+
var VALUE = '456';
|
|
120
120
|
expect((0, _setDataItem.default)(DATA, FIELD_ID, VALUE, true)).toMatchObject({
|
|
121
121
|
alpha: {
|
|
122
122
|
bravo: [{
|
|
@@ -6,20 +6,30 @@ 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
|
-
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
|
|
15
|
+
var setupComponentSourceData = function setupComponentSourceData(component, data) {
|
|
16
|
+
var componentSourceData = data;
|
|
13
17
|
if (component.source) {
|
|
14
18
|
componentSourceData[component.fieldId] = (0, _getSourceData.default)(componentSourceData, component.source.field);
|
|
15
19
|
}
|
|
16
20
|
};
|
|
17
|
-
|
|
18
|
-
components.forEach(
|
|
21
|
+
var setupSourceDataForComponents = function setupSourceDataForComponents(components, data) {
|
|
22
|
+
components.forEach(function (component) {
|
|
23
|
+
return setupComponentSourceData(component, data);
|
|
24
|
+
});
|
|
19
25
|
};
|
|
20
|
-
|
|
21
|
-
pages.forEach(page
|
|
22
|
-
page.components.filter(
|
|
26
|
+
var setupPageSourceData = function setupPageSourceData(pages, data) {
|
|
27
|
+
pages.forEach(function (page) {
|
|
28
|
+
page.components.filter(function (c) {
|
|
29
|
+
return !c.use;
|
|
30
|
+
}).forEach(function (component) {
|
|
31
|
+
return setupComponentSourceData(component, data);
|
|
32
|
+
});
|
|
23
33
|
});
|
|
24
34
|
};
|
|
25
35
|
|
|
@@ -36,10 +46,8 @@ const setupPageSourceData = (pages, data) => {
|
|
|
36
46
|
* @param {object} baseData
|
|
37
47
|
* @returns
|
|
38
48
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
...baseData
|
|
42
|
-
};
|
|
49
|
+
var setupFormData = function setupFormData(pages, components, baseData) {
|
|
50
|
+
var data = _objectSpread({}, baseData);
|
|
43
51
|
setupSourceDataForComponents(components, data);
|
|
44
52
|
setupPageSourceData(pages, data);
|
|
45
53
|
return data;
|
|
@@ -4,61 +4,63 @@ 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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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); } /* eslint-disable import/no-named-default */ // Local imports
|
|
13
|
+
describe('utils', function () {
|
|
14
|
+
describe('Data', function () {
|
|
15
|
+
describe('setupFormData', function () {
|
|
16
|
+
it('should populate a simple form', function () {
|
|
17
|
+
var PAGES = [];
|
|
18
|
+
var COMPONENTS = [{
|
|
17
19
|
fieldId: 'testField',
|
|
18
20
|
source: {
|
|
19
21
|
field: 'sourceField'
|
|
20
22
|
}
|
|
21
23
|
}];
|
|
22
|
-
|
|
24
|
+
var DATA = {
|
|
23
25
|
sourceField: 'VALUE'
|
|
24
26
|
};
|
|
25
|
-
|
|
27
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
26
28
|
expect(RESULT).toEqual({
|
|
27
29
|
sourceField: 'VALUE',
|
|
28
30
|
testField: 'VALUE'
|
|
29
31
|
});
|
|
30
32
|
});
|
|
31
|
-
it('should handle a missing source field', ()
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
it('should handle a missing source field', function () {
|
|
34
|
+
var PAGES = [];
|
|
35
|
+
var COMPONENTS = [{
|
|
34
36
|
fieldId: 'testField',
|
|
35
37
|
source: {
|
|
36
38
|
field: 'otherSourceField'
|
|
37
39
|
}
|
|
38
40
|
}];
|
|
39
|
-
|
|
41
|
+
var DATA = {
|
|
40
42
|
sourceField: 'VALUE'
|
|
41
43
|
};
|
|
42
|
-
|
|
44
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
43
45
|
expect(RESULT).toEqual({
|
|
44
46
|
sourceField: 'VALUE',
|
|
45
47
|
testField: undefined
|
|
46
48
|
});
|
|
47
49
|
});
|
|
48
|
-
it('should handle a nested source field', ()
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
it('should handle a nested source field', function () {
|
|
51
|
+
var PAGES = [];
|
|
52
|
+
var COMPONENTS = [{
|
|
51
53
|
fieldId: 'testField',
|
|
52
54
|
source: {
|
|
53
55
|
field: 'nested.sourceField'
|
|
54
56
|
}
|
|
55
57
|
}];
|
|
56
|
-
|
|
58
|
+
var DATA = {
|
|
57
59
|
nested: {
|
|
58
60
|
sourceField: 'VALUE'
|
|
59
61
|
}
|
|
60
62
|
};
|
|
61
|
-
|
|
63
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
62
64
|
expect(RESULT).toEqual({
|
|
63
65
|
nested: {
|
|
64
66
|
sourceField: 'VALUE'
|
|
@@ -66,20 +68,20 @@ describe('utils', () => {
|
|
|
66
68
|
testField: 'VALUE'
|
|
67
69
|
});
|
|
68
70
|
});
|
|
69
|
-
it('should handle a missing nested source field', ()
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
it('should handle a missing nested source field', function () {
|
|
72
|
+
var PAGES = [];
|
|
73
|
+
var COMPONENTS = [{
|
|
72
74
|
fieldId: 'testField',
|
|
73
75
|
source: {
|
|
74
76
|
field: 'nested.otherSourceField'
|
|
75
77
|
}
|
|
76
78
|
}];
|
|
77
|
-
|
|
79
|
+
var DATA = {
|
|
78
80
|
nested: {
|
|
79
81
|
sourceField: 'VALUE'
|
|
80
82
|
}
|
|
81
83
|
};
|
|
82
|
-
|
|
84
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
83
85
|
expect(RESULT).toEqual({
|
|
84
86
|
nested: {
|
|
85
87
|
sourceField: 'VALUE'
|
|
@@ -87,20 +89,20 @@ describe('utils', () => {
|
|
|
87
89
|
testField: undefined
|
|
88
90
|
});
|
|
89
91
|
});
|
|
90
|
-
it('should handle an entirely missing nested source field', ()
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
it('should handle an entirely missing nested source field', function () {
|
|
93
|
+
var PAGES = [];
|
|
94
|
+
var COMPONENTS = [{
|
|
93
95
|
fieldId: 'testField',
|
|
94
96
|
source: {
|
|
95
97
|
field: 'otherNested.sourceField'
|
|
96
98
|
}
|
|
97
99
|
}];
|
|
98
|
-
|
|
100
|
+
var DATA = {
|
|
99
101
|
nested: {
|
|
100
102
|
sourceField: 'VALUE'
|
|
101
103
|
}
|
|
102
104
|
};
|
|
103
|
-
|
|
105
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
104
106
|
expect(RESULT).toEqual({
|
|
105
107
|
nested: {
|
|
106
108
|
sourceField: 'VALUE'
|
|
@@ -108,8 +110,8 @@ describe('utils', () => {
|
|
|
108
110
|
testField: undefined
|
|
109
111
|
});
|
|
110
112
|
});
|
|
111
|
-
it('should handle sources within pages', ()
|
|
112
|
-
|
|
113
|
+
it('should handle sources within pages', function () {
|
|
114
|
+
var PAGES = [{
|
|
113
115
|
components: [{
|
|
114
116
|
fieldId: 'pageField',
|
|
115
117
|
source: {
|
|
@@ -124,20 +126,20 @@ describe('utils', () => {
|
|
|
124
126
|
}
|
|
125
127
|
}]
|
|
126
128
|
}];
|
|
127
|
-
|
|
129
|
+
var COMPONENTS = [{
|
|
128
130
|
fieldId: 'testField',
|
|
129
131
|
source: {
|
|
130
132
|
field: 'nested.sourceField'
|
|
131
133
|
}
|
|
132
134
|
}];
|
|
133
|
-
|
|
135
|
+
var DATA = {
|
|
134
136
|
nested: {
|
|
135
137
|
sourceField: 'VALUE'
|
|
136
138
|
},
|
|
137
139
|
pageSourceField: 'PAGE 1',
|
|
138
140
|
secondPageSourceField: 'Bob'
|
|
139
141
|
};
|
|
140
|
-
|
|
142
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
141
143
|
expect(RESULT).toEqual({
|
|
142
144
|
nested: {
|
|
143
145
|
sourceField: 'VALUE'
|
|
@@ -149,8 +151,8 @@ describe('utils', () => {
|
|
|
149
151
|
secondPageField: 'Bob'
|
|
150
152
|
});
|
|
151
153
|
});
|
|
152
|
-
it('should ignore sources within pages that reference a top-level component', ()
|
|
153
|
-
|
|
154
|
+
it('should ignore sources within pages that reference a top-level component', function () {
|
|
155
|
+
var PAGES = [{
|
|
154
156
|
components: [{
|
|
155
157
|
fieldId: 'pageField',
|
|
156
158
|
use: 'testField',
|
|
@@ -166,20 +168,20 @@ describe('utils', () => {
|
|
|
166
168
|
}
|
|
167
169
|
}]
|
|
168
170
|
}];
|
|
169
|
-
|
|
171
|
+
var COMPONENTS = [{
|
|
170
172
|
fieldId: 'testField',
|
|
171
173
|
source: {
|
|
172
174
|
field: 'nested.sourceField'
|
|
173
175
|
}
|
|
174
176
|
}];
|
|
175
|
-
|
|
177
|
+
var DATA = {
|
|
176
178
|
nested: {
|
|
177
179
|
sourceField: 'VALUE'
|
|
178
180
|
},
|
|
179
181
|
pageSourceField: 'PAGE 1',
|
|
180
182
|
secondPageSourceField: 'Bob'
|
|
181
183
|
};
|
|
182
|
-
|
|
184
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
183
185
|
expect(RESULT).toEqual({
|
|
184
186
|
nested: {
|
|
185
187
|
sourceField: 'VALUE'
|
|
@@ -190,24 +192,21 @@ describe('utils', () => {
|
|
|
190
192
|
secondPageField: 'Bob'
|
|
191
193
|
});
|
|
192
194
|
});
|
|
193
|
-
it('should populate data for the user profile configuration and source', ()
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
} = _userProfile.default;
|
|
198
|
-
const RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
|
|
195
|
+
it('should populate data for the user profile configuration and source', function () {
|
|
196
|
+
var pages = _userProfile.default.pages,
|
|
197
|
+
components = _userProfile.default.components;
|
|
198
|
+
var 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({
|
|
203
|
-
..._userProfileData.default,
|
|
202
|
+
expect(RESULT).toEqual(_objectSpread(_objectSpread({}, _userProfileData.default), {}, {
|
|
204
203
|
firstName: _userProfileData.default.currentUser.givenName,
|
|
205
204
|
surname: _userProfileData.default.currentUser.familyName,
|
|
206
205
|
team: _userProfileData.default.userDetails.defaultteam,
|
|
207
206
|
staffGradeId: _userProfileData.default.userDetails.gradeid,
|
|
208
207
|
linemanagerEmail: _userProfileData.default.userDetails.linemanagerEmail,
|
|
209
208
|
delegateEmails: _userProfileData.default.userDetails.delegateEmails
|
|
210
|
-
});
|
|
209
|
+
}));
|
|
211
210
|
});
|
|
212
211
|
});
|
|
213
212
|
});
|
|
@@ -6,20 +6,28 @@ 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
|
-
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable no-use-before-define */ // Global imports
|
|
15
|
+
var setupRefDataForContainer = function setupRefDataForContainer(container, data) {
|
|
16
|
+
return _objectSpread(_objectSpread({}, container), {}, {
|
|
17
|
+
components: setupRefDataUrlForComponents(container.components, data)
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var setupRefDataForCollection = function setupRefDataForCollection(collection, data) {
|
|
21
|
+
return _objectSpread(_objectSpread({}, collection), {}, {
|
|
22
|
+
item: setupRefDataUrlForComponents(collection.item, data)
|
|
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) {
|
|
23
31
|
if (component) {
|
|
24
32
|
var _component$data, _component$data2;
|
|
25
33
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
@@ -32,13 +40,11 @@ const setupRefDataUrlForComponent = (component, data) => {
|
|
|
32
40
|
return component;
|
|
33
41
|
}
|
|
34
42
|
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)) {
|
|
35
|
-
return {
|
|
36
|
-
|
|
37
|
-
data: {
|
|
38
|
-
...component.data,
|
|
43
|
+
return _objectSpread(_objectSpread({}, component), {}, {
|
|
44
|
+
data: _objectSpread(_objectSpread({}, component.data), {}, {
|
|
39
45
|
url: _copReactComponents.Utils.interpolateString(component.data.url, data)
|
|
40
|
-
}
|
|
41
|
-
};
|
|
46
|
+
})
|
|
47
|
+
});
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
return component;
|