@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -4,23 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
7
|
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
8
|
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(
|
|
11
|
-
function _toPropertyKey(
|
|
12
|
-
function _toPrimitive(
|
|
13
|
-
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
|
+
const getValueAndLabel = (opt, itemStructure) => {
|
|
14
13
|
var _value;
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
let value = opt.value || opt.id;
|
|
15
|
+
let label = opt.label || opt.name;
|
|
17
16
|
if (itemStructure) {
|
|
18
17
|
value = opt[itemStructure.value] || value;
|
|
19
18
|
label = opt[itemStructure.label] || label;
|
|
20
19
|
}
|
|
21
20
|
return {
|
|
22
21
|
value: (_value = value) === null || _value === void 0 ? void 0 : _value.toString(),
|
|
23
|
-
label
|
|
22
|
+
label
|
|
24
23
|
};
|
|
25
24
|
};
|
|
26
25
|
|
|
@@ -30,9 +29,9 @@ var getValueAndLabel = function getValueAndLabel(opt, itemStructure) {
|
|
|
30
29
|
* @param {Object} itemStructure The structure of the item.
|
|
31
30
|
* @returns An array of options.
|
|
32
31
|
*/
|
|
33
|
-
|
|
32
|
+
const refDataToOptions = (refDataItems, itemStructure) => {
|
|
34
33
|
if (Array.isArray(refDataItems)) {
|
|
35
|
-
return refDataItems.map(
|
|
34
|
+
return refDataItems.map(opt => {
|
|
36
35
|
if (typeof opt === 'string') {
|
|
37
36
|
return opt;
|
|
38
37
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _refDataToOptions = _interopRequireDefault(require("./refDataToOptions"));
|
|
4
|
-
function _interopRequireDefault(
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
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];
|
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _setDataItem = _interopRequireDefault(require("./setDataItem"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils.Data.setDataItem',
|
|
6
|
-
it('should handle a null data object',
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
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: [{
|
|
@@ -5,31 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
8
|
-
function _interopRequireDefault(
|
|
9
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
9
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
10
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
-
function _defineProperty(
|
|
13
|
-
function _toPropertyKey(
|
|
14
|
-
function _toPrimitive(
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
|
|
14
|
+
const setupComponentSourceData = (component, data) => {
|
|
15
|
+
const componentSourceData = data;
|
|
17
16
|
if (component.source) {
|
|
18
17
|
componentSourceData[component.fieldId] = (0, _getSourceData.default)(componentSourceData, component.source.field);
|
|
19
18
|
}
|
|
20
19
|
};
|
|
21
|
-
|
|
22
|
-
components.forEach(
|
|
23
|
-
return setupComponentSourceData(component, data);
|
|
24
|
-
});
|
|
20
|
+
const setupSourceDataForComponents = (components, data) => {
|
|
21
|
+
components.forEach(component => setupComponentSourceData(component, data));
|
|
25
22
|
};
|
|
26
|
-
|
|
27
|
-
pages.forEach(
|
|
28
|
-
page.components.filter(
|
|
29
|
-
return !c.use;
|
|
30
|
-
}).forEach(function (component) {
|
|
31
|
-
return setupComponentSourceData(component, data);
|
|
32
|
-
});
|
|
23
|
+
const setupPageSourceData = (pages, data) => {
|
|
24
|
+
pages.forEach(page => {
|
|
25
|
+
page.components.filter(c => !c.use).forEach(component => setupComponentSourceData(component, data));
|
|
33
26
|
});
|
|
34
27
|
};
|
|
35
28
|
|
|
@@ -46,8 +39,8 @@ var setupPageSourceData = function setupPageSourceData(pages, data) {
|
|
|
46
39
|
* @param {object} baseData
|
|
47
40
|
* @returns
|
|
48
41
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
42
|
+
const setupFormData = (pages, components, baseData) => {
|
|
43
|
+
const data = _objectSpread({}, baseData);
|
|
51
44
|
setupSourceDataForComponents(components, data);
|
|
52
45
|
setupPageSourceData(pages, data);
|
|
53
46
|
return data;
|
|
@@ -3,64 +3,63 @@
|
|
|
3
3
|
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
|
-
function _interopRequireDefault(
|
|
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); }
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
7
|
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
8
|
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(
|
|
11
|
-
function _toPropertyKey(
|
|
12
|
-
function _toPrimitive(
|
|
13
|
-
describe('utils',
|
|
14
|
-
describe('Data',
|
|
15
|
-
describe('setupFormData',
|
|
16
|
-
it('should populate a simple form',
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable import/no-named-default */ // Local imports
|
|
12
|
+
describe('utils', () => {
|
|
13
|
+
describe('Data', () => {
|
|
14
|
+
describe('setupFormData', () => {
|
|
15
|
+
it('should populate a simple form', () => {
|
|
16
|
+
const PAGES = [];
|
|
17
|
+
const COMPONENTS = [{
|
|
19
18
|
fieldId: 'testField',
|
|
20
19
|
source: {
|
|
21
20
|
field: 'sourceField'
|
|
22
21
|
}
|
|
23
22
|
}];
|
|
24
|
-
|
|
23
|
+
const DATA = {
|
|
25
24
|
sourceField: 'VALUE'
|
|
26
25
|
};
|
|
27
|
-
|
|
26
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
28
27
|
expect(RESULT).toEqual({
|
|
29
28
|
sourceField: 'VALUE',
|
|
30
29
|
testField: 'VALUE'
|
|
31
30
|
});
|
|
32
31
|
});
|
|
33
|
-
it('should handle a missing source field',
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
it('should handle a missing source field', () => {
|
|
33
|
+
const PAGES = [];
|
|
34
|
+
const COMPONENTS = [{
|
|
36
35
|
fieldId: 'testField',
|
|
37
36
|
source: {
|
|
38
37
|
field: 'otherSourceField'
|
|
39
38
|
}
|
|
40
39
|
}];
|
|
41
|
-
|
|
40
|
+
const DATA = {
|
|
42
41
|
sourceField: 'VALUE'
|
|
43
42
|
};
|
|
44
|
-
|
|
43
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
45
44
|
expect(RESULT).toEqual({
|
|
46
45
|
sourceField: 'VALUE',
|
|
47
46
|
testField: undefined
|
|
48
47
|
});
|
|
49
48
|
});
|
|
50
|
-
it('should handle a nested source field',
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
it('should handle a nested source field', () => {
|
|
50
|
+
const PAGES = [];
|
|
51
|
+
const COMPONENTS = [{
|
|
53
52
|
fieldId: 'testField',
|
|
54
53
|
source: {
|
|
55
54
|
field: 'nested.sourceField'
|
|
56
55
|
}
|
|
57
56
|
}];
|
|
58
|
-
|
|
57
|
+
const DATA = {
|
|
59
58
|
nested: {
|
|
60
59
|
sourceField: 'VALUE'
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
|
-
|
|
62
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
64
63
|
expect(RESULT).toEqual({
|
|
65
64
|
nested: {
|
|
66
65
|
sourceField: 'VALUE'
|
|
@@ -68,20 +67,20 @@ describe('utils', function () {
|
|
|
68
67
|
testField: 'VALUE'
|
|
69
68
|
});
|
|
70
69
|
});
|
|
71
|
-
it('should handle a missing nested source field',
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
it('should handle a missing nested source field', () => {
|
|
71
|
+
const PAGES = [];
|
|
72
|
+
const COMPONENTS = [{
|
|
74
73
|
fieldId: 'testField',
|
|
75
74
|
source: {
|
|
76
75
|
field: 'nested.otherSourceField'
|
|
77
76
|
}
|
|
78
77
|
}];
|
|
79
|
-
|
|
78
|
+
const DATA = {
|
|
80
79
|
nested: {
|
|
81
80
|
sourceField: 'VALUE'
|
|
82
81
|
}
|
|
83
82
|
};
|
|
84
|
-
|
|
83
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
85
84
|
expect(RESULT).toEqual({
|
|
86
85
|
nested: {
|
|
87
86
|
sourceField: 'VALUE'
|
|
@@ -89,20 +88,20 @@ describe('utils', function () {
|
|
|
89
88
|
testField: undefined
|
|
90
89
|
});
|
|
91
90
|
});
|
|
92
|
-
it('should handle an entirely missing nested source field',
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
it('should handle an entirely missing nested source field', () => {
|
|
92
|
+
const PAGES = [];
|
|
93
|
+
const COMPONENTS = [{
|
|
95
94
|
fieldId: 'testField',
|
|
96
95
|
source: {
|
|
97
96
|
field: 'otherNested.sourceField'
|
|
98
97
|
}
|
|
99
98
|
}];
|
|
100
|
-
|
|
99
|
+
const DATA = {
|
|
101
100
|
nested: {
|
|
102
101
|
sourceField: 'VALUE'
|
|
103
102
|
}
|
|
104
103
|
};
|
|
105
|
-
|
|
104
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
106
105
|
expect(RESULT).toEqual({
|
|
107
106
|
nested: {
|
|
108
107
|
sourceField: 'VALUE'
|
|
@@ -110,8 +109,8 @@ describe('utils', function () {
|
|
|
110
109
|
testField: undefined
|
|
111
110
|
});
|
|
112
111
|
});
|
|
113
|
-
it('should handle sources within pages',
|
|
114
|
-
|
|
112
|
+
it('should handle sources within pages', () => {
|
|
113
|
+
const PAGES = [{
|
|
115
114
|
components: [{
|
|
116
115
|
fieldId: 'pageField',
|
|
117
116
|
source: {
|
|
@@ -126,20 +125,20 @@ describe('utils', function () {
|
|
|
126
125
|
}
|
|
127
126
|
}]
|
|
128
127
|
}];
|
|
129
|
-
|
|
128
|
+
const COMPONENTS = [{
|
|
130
129
|
fieldId: 'testField',
|
|
131
130
|
source: {
|
|
132
131
|
field: 'nested.sourceField'
|
|
133
132
|
}
|
|
134
133
|
}];
|
|
135
|
-
|
|
134
|
+
const DATA = {
|
|
136
135
|
nested: {
|
|
137
136
|
sourceField: 'VALUE'
|
|
138
137
|
},
|
|
139
138
|
pageSourceField: 'PAGE 1',
|
|
140
139
|
secondPageSourceField: 'Bob'
|
|
141
140
|
};
|
|
142
|
-
|
|
141
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
143
142
|
expect(RESULT).toEqual({
|
|
144
143
|
nested: {
|
|
145
144
|
sourceField: 'VALUE'
|
|
@@ -151,8 +150,8 @@ describe('utils', function () {
|
|
|
151
150
|
secondPageField: 'Bob'
|
|
152
151
|
});
|
|
153
152
|
});
|
|
154
|
-
it('should ignore sources within pages that reference a top-level component',
|
|
155
|
-
|
|
153
|
+
it('should ignore sources within pages that reference a top-level component', () => {
|
|
154
|
+
const PAGES = [{
|
|
156
155
|
components: [{
|
|
157
156
|
fieldId: 'pageField',
|
|
158
157
|
use: 'testField',
|
|
@@ -168,20 +167,20 @@ describe('utils', function () {
|
|
|
168
167
|
}
|
|
169
168
|
}]
|
|
170
169
|
}];
|
|
171
|
-
|
|
170
|
+
const COMPONENTS = [{
|
|
172
171
|
fieldId: 'testField',
|
|
173
172
|
source: {
|
|
174
173
|
field: 'nested.sourceField'
|
|
175
174
|
}
|
|
176
175
|
}];
|
|
177
|
-
|
|
176
|
+
const DATA = {
|
|
178
177
|
nested: {
|
|
179
178
|
sourceField: 'VALUE'
|
|
180
179
|
},
|
|
181
180
|
pageSourceField: 'PAGE 1',
|
|
182
181
|
secondPageSourceField: 'Bob'
|
|
183
182
|
};
|
|
184
|
-
|
|
183
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
185
184
|
expect(RESULT).toEqual({
|
|
186
185
|
nested: {
|
|
187
186
|
sourceField: 'VALUE'
|
|
@@ -192,10 +191,12 @@ describe('utils', function () {
|
|
|
192
191
|
secondPageField: 'Bob'
|
|
193
192
|
});
|
|
194
193
|
});
|
|
195
|
-
it('should populate data for the user profile configuration and source',
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
194
|
+
it('should populate data for the user profile configuration and source', () => {
|
|
195
|
+
const {
|
|
196
|
+
pages,
|
|
197
|
+
components
|
|
198
|
+
} = _userProfile.default;
|
|
199
|
+
const RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
|
|
199
200
|
|
|
200
201
|
// It should produce an aggregation of the original source data (USER_PROFILE_DATA)
|
|
201
202
|
// and data calculated for the fields, based on that source data.
|
|
@@ -6,28 +6,19 @@ 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
|
-
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
9
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
10
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
-
function _defineProperty(
|
|
13
|
-
function _toPropertyKey(
|
|
14
|
-
function _toPrimitive(
|
|
15
|
-
|
|
16
|
-
|
|
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) {
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /* eslint-disable no-use-before-define */ // Global imports
|
|
14
|
+
const setupRefDataForContainer = (container, data) => _objectSpread(_objectSpread({}, container), {}, {
|
|
15
|
+
components: setupRefDataUrlForComponents(container.components, data)
|
|
16
|
+
});
|
|
17
|
+
const setupRefDataForCollection = (collection, data) => _objectSpread(_objectSpread({}, collection), {}, {
|
|
18
|
+
item: setupRefDataUrlForComponents(collection.item, data)
|
|
19
|
+
});
|
|
20
|
+
const setupRefDataUrlForComponents = (components, data) => components.map(component => setupRefDataUrlForComponent(component, data));
|
|
21
|
+
const setupRefDataUrlForComponent = (component, data) => {
|
|
31
22
|
if (component) {
|
|
32
23
|
var _component$data, _component$data2;
|
|
33
24
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|