@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,21 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
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); }
|
|
13
|
+
var getComponentToUse = function getComponentToUse(toUse, formComponents) {
|
|
14
|
+
var path = toUse.use.split('.');
|
|
15
|
+
var firstId = path.shift();
|
|
16
|
+
var wrapper = JSON.parse(JSON.stringify(_objectSpread({}, formComponents.find(function (fc) {
|
|
17
|
+
return fc.id === firstId;
|
|
18
|
+
}))));
|
|
19
|
+
var component = wrapper;
|
|
20
|
+
var parent = wrapper;
|
|
21
|
+
var _loop = function _loop() {
|
|
22
|
+
var id = path.shift();
|
|
17
23
|
if (Array.isArray(component.components)) {
|
|
18
24
|
// Filter the parent components down to just the one referenced
|
|
19
25
|
// by the current id.
|
|
20
26
|
parent = component;
|
|
21
|
-
parent.components = parent.components.filter(
|
|
27
|
+
parent.components = parent.components.filter(function (c) {
|
|
28
|
+
return c.id === id;
|
|
29
|
+
});
|
|
22
30
|
if (parent.components.length > 0) {
|
|
23
31
|
// Make the found child the parent so we can iterate.
|
|
24
32
|
// eslint-disable-next-line prefer-destructuring
|
|
@@ -32,13 +40,14 @@ const getComponentToUse = (toUse, formComponents) => {
|
|
|
32
40
|
// components on this parent.
|
|
33
41
|
component = undefined;
|
|
34
42
|
}
|
|
43
|
+
};
|
|
44
|
+
while (component && path.length > 0) {
|
|
45
|
+
_loop();
|
|
35
46
|
}
|
|
36
47
|
if (component) {
|
|
37
|
-
component = {
|
|
38
|
-
cya_label: component.label
|
|
39
|
-
|
|
40
|
-
...toUse
|
|
41
|
-
};
|
|
48
|
+
component = _objectSpread(_objectSpread({
|
|
49
|
+
cya_label: component.label
|
|
50
|
+
}, component), toUse);
|
|
42
51
|
if (parent && parent.id !== component.id) {
|
|
43
52
|
parent.components = [component];
|
|
44
53
|
} else {
|
|
@@ -58,15 +67,13 @@ const getComponentToUse = (toUse, formComponents) => {
|
|
|
58
67
|
* @param {Array} formComponents An array of existing components on the form.
|
|
59
68
|
* @returns A component configuration object.
|
|
60
69
|
*/
|
|
61
|
-
|
|
70
|
+
var useComponent = function useComponent(toUse, formComponents) {
|
|
62
71
|
if (toUse) {
|
|
63
|
-
|
|
72
|
+
var component = getComponentToUse(toUse, formComponents);
|
|
64
73
|
if (component) {
|
|
65
74
|
return component;
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
|
-
return {
|
|
69
|
-
...toUse
|
|
70
|
-
};
|
|
77
|
+
return _objectSpread({}, toUse);
|
|
71
78
|
};
|
|
72
79
|
var _default = exports.default = useComponent;
|
|
@@ -3,18 +3,22 @@
|
|
|
3
3
|
var _models = require("../../models");
|
|
4
4
|
var _useComponent = _interopRequireDefault(require("./useComponent"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
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); }
|
|
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; }
|
|
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; }
|
|
9
|
+
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; }
|
|
10
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
11
|
+
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
|
|
12
|
+
describe('utils', function () {
|
|
13
|
+
describe('FormPage', function () {
|
|
14
|
+
describe('useComponent', function () {
|
|
15
|
+
var ZULU = {
|
|
12
16
|
id: 'z',
|
|
13
17
|
fieldId: 'z',
|
|
14
18
|
label: 'Zulu',
|
|
15
19
|
type: _models.ComponentTypes.TEXT
|
|
16
20
|
};
|
|
17
|
-
|
|
21
|
+
var CONTAINER = {
|
|
18
22
|
id: 'container',
|
|
19
23
|
fieldId: 'container',
|
|
20
24
|
label: 'Container',
|
|
@@ -26,7 +30,7 @@ describe('utils', () => {
|
|
|
26
30
|
type: _models.ComponentTypes.TEXT
|
|
27
31
|
}, ZULU]
|
|
28
32
|
};
|
|
29
|
-
|
|
33
|
+
var FORM_COMPONENTS = [{
|
|
30
34
|
id: 'a',
|
|
31
35
|
fieldId: 'a',
|
|
32
36
|
label: 'Alpha',
|
|
@@ -47,131 +51,129 @@ describe('utils', () => {
|
|
|
47
51
|
cya_label: 'Delta',
|
|
48
52
|
type: _models.ComponentTypes.TEXT
|
|
49
53
|
}, CONTAINER];
|
|
50
|
-
it('should handle a null toUse configuration', ()
|
|
51
|
-
|
|
54
|
+
it('should handle a null toUse configuration', function () {
|
|
55
|
+
var TO_USE = null;
|
|
52
56
|
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({});
|
|
53
57
|
});
|
|
54
|
-
it('should handle an unrecognised component reference', ()
|
|
55
|
-
|
|
58
|
+
it('should handle an unrecognised component reference', function () {
|
|
59
|
+
var TO_USE = {
|
|
56
60
|
use: 'e',
|
|
57
61
|
label: 'Echo'
|
|
58
62
|
};
|
|
59
63
|
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(TO_USE);
|
|
60
64
|
});
|
|
61
|
-
it('should use the appropriate component', ()
|
|
62
|
-
|
|
65
|
+
it('should use the appropriate component', function () {
|
|
66
|
+
var TO_USE = {
|
|
63
67
|
use: 'a'
|
|
64
68
|
};
|
|
65
|
-
|
|
66
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
67
|
-
use: 'a'
|
|
68
|
-
|
|
69
|
+
var A = FORM_COMPONENTS[0];
|
|
70
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
71
|
+
use: 'a'
|
|
72
|
+
}, A), {}, {
|
|
69
73
|
cya_label: A.label
|
|
70
|
-
});
|
|
74
|
+
}));
|
|
71
75
|
});
|
|
72
|
-
it('should allow the fieldId to be overridden', ()
|
|
73
|
-
|
|
76
|
+
it('should allow the fieldId to be overridden', function () {
|
|
77
|
+
var TO_USE = {
|
|
74
78
|
use: 'a',
|
|
75
79
|
fieldId: 'alpha'
|
|
76
80
|
};
|
|
77
|
-
|
|
78
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
79
|
-
use: 'a'
|
|
80
|
-
|
|
81
|
+
var A = FORM_COMPONENTS[0];
|
|
82
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
83
|
+
use: 'a'
|
|
84
|
+
}, A), {}, {
|
|
81
85
|
cya_label: A.label,
|
|
82
86
|
fieldId: TO_USE.fieldId
|
|
83
|
-
});
|
|
87
|
+
}));
|
|
84
88
|
});
|
|
85
|
-
it('should allow the label to be overridden but keep the cya_label unaffected', ()
|
|
86
|
-
|
|
89
|
+
it('should allow the label to be overridden but keep the cya_label unaffected', function () {
|
|
90
|
+
var TO_USE = {
|
|
87
91
|
use: 'a',
|
|
88
92
|
label: 'Alpha foxtrot'
|
|
89
93
|
};
|
|
90
|
-
|
|
91
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
92
|
-
use: 'a'
|
|
93
|
-
|
|
94
|
+
var A = FORM_COMPONENTS[0];
|
|
95
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
96
|
+
use: 'a'
|
|
97
|
+
}, A), {}, {
|
|
94
98
|
cya_label: A.label,
|
|
95
99
|
label: TO_USE.label
|
|
96
|
-
});
|
|
100
|
+
}));
|
|
97
101
|
});
|
|
98
|
-
it('should allow the form component cya_label, if label is empty', ()
|
|
99
|
-
|
|
102
|
+
it('should allow the form component cya_label, if label is empty', function () {
|
|
103
|
+
var TO_USE = {
|
|
100
104
|
use: 'd',
|
|
101
105
|
label: ''
|
|
102
106
|
};
|
|
103
|
-
|
|
104
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
105
|
-
use: 'd'
|
|
106
|
-
|
|
107
|
+
var A = FORM_COMPONENTS[3];
|
|
108
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
109
|
+
use: 'd'
|
|
110
|
+
}, A), {}, {
|
|
107
111
|
cya_label: A.cya_label,
|
|
108
112
|
label: TO_USE.label
|
|
109
|
-
});
|
|
113
|
+
}));
|
|
110
114
|
});
|
|
111
|
-
it('should allow the form component cya_label, if label is not given', ()
|
|
112
|
-
|
|
115
|
+
it('should allow the form component cya_label, if label is not given', function () {
|
|
116
|
+
var TO_USE = {
|
|
113
117
|
use: 'd'
|
|
114
118
|
};
|
|
115
|
-
|
|
116
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
117
|
-
use: 'd'
|
|
118
|
-
|
|
119
|
+
var A = FORM_COMPONENTS[3];
|
|
120
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
121
|
+
use: 'd'
|
|
122
|
+
}, A), {}, {
|
|
119
123
|
cya_label: A.cya_label,
|
|
120
124
|
label: TO_USE.label
|
|
121
|
-
});
|
|
125
|
+
}));
|
|
122
126
|
});
|
|
123
|
-
it('should handle a container', ()
|
|
124
|
-
|
|
127
|
+
it('should handle a container', function () {
|
|
128
|
+
var TO_USE = {
|
|
125
129
|
use: CONTAINER.id
|
|
126
130
|
};
|
|
127
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
128
|
-
use: CONTAINER.id
|
|
129
|
-
|
|
131
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
132
|
+
use: CONTAINER.id
|
|
133
|
+
}, CONTAINER), {}, {
|
|
130
134
|
cya_label: CONTAINER.label
|
|
131
|
-
});
|
|
135
|
+
}));
|
|
132
136
|
});
|
|
133
|
-
it('should handle a component nested inside a container', ()
|
|
134
|
-
|
|
135
|
-
|
|
137
|
+
it('should handle a component nested inside a container', function () {
|
|
138
|
+
var ID = "".concat(CONTAINER.id, ".").concat(ZULU.id);
|
|
139
|
+
var TO_USE = {
|
|
136
140
|
use: ID
|
|
137
141
|
};
|
|
138
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
...ZULU,
|
|
142
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({}, CONTAINER), {}, {
|
|
143
|
+
components: [_objectSpread(_objectSpread({
|
|
144
|
+
use: ID
|
|
145
|
+
}, ZULU), {}, {
|
|
143
146
|
cya_label: ZULU.label
|
|
144
|
-
}
|
|
145
|
-
// Foxtrot is not included
|
|
147
|
+
}) // Foxtrot is not included
|
|
146
148
|
]
|
|
147
|
-
});
|
|
149
|
+
}));
|
|
148
150
|
});
|
|
149
|
-
it('should handle an unrecognised container reference', ()
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
it('should handle an unrecognised container reference', function () {
|
|
152
|
+
var ID = "unrecognised.".concat(ZULU.id);
|
|
153
|
+
var TO_USE = {
|
|
152
154
|
use: ID
|
|
153
155
|
};
|
|
154
156
|
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(TO_USE);
|
|
155
157
|
});
|
|
156
|
-
it('should handle an unrecognised component within a container', ()
|
|
157
|
-
|
|
158
|
-
|
|
158
|
+
it('should handle an unrecognised component within a container', function () {
|
|
159
|
+
var ID = "".concat(CONTAINER.id, ".unrecognised");
|
|
160
|
+
var TO_USE = {
|
|
159
161
|
use: ID
|
|
160
162
|
};
|
|
161
163
|
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(TO_USE);
|
|
162
164
|
});
|
|
163
|
-
it('should allow the cya_label to overriden', ()
|
|
164
|
-
|
|
165
|
+
it('should allow the cya_label to overriden', function () {
|
|
166
|
+
var TO_USE = {
|
|
165
167
|
use: 'd',
|
|
166
168
|
cya_label: 'Alpha'
|
|
167
169
|
};
|
|
168
|
-
|
|
169
|
-
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual({
|
|
170
|
-
use: 'd'
|
|
171
|
-
|
|
170
|
+
var A = FORM_COMPONENTS[3];
|
|
171
|
+
expect((0, _useComponent.default)(TO_USE, FORM_COMPONENTS)).toEqual(_objectSpread(_objectSpread({
|
|
172
|
+
use: 'd'
|
|
173
|
+
}, A), {}, {
|
|
172
174
|
cya_label: TO_USE.cya_label,
|
|
173
175
|
label: TO_USE.label
|
|
174
|
-
});
|
|
176
|
+
}));
|
|
175
177
|
});
|
|
176
178
|
});
|
|
177
179
|
});
|
|
@@ -10,7 +10,7 @@ exports.default = void 0;
|
|
|
10
10
|
* @param {string} value The string value to be formatted.
|
|
11
11
|
* @returns A formatted version of the value.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
var formatData = function formatData(format, value) {
|
|
14
14
|
if (format && value) {
|
|
15
15
|
switch (format.type) {
|
|
16
16
|
case 'lowercase':
|
|
@@ -4,40 +4,40 @@ var _formatData = _interopRequireDefault(require("./formatData"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils', ()
|
|
8
|
-
describe('Format', ()
|
|
9
|
-
describe('formatData', ()
|
|
10
|
-
it('should handle no format', ()
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
describe('utils', function () {
|
|
8
|
+
describe('Format', function () {
|
|
9
|
+
describe('formatData', function () {
|
|
10
|
+
it('should handle no format', function () {
|
|
11
|
+
var FORMAT = null;
|
|
12
|
+
var VALUE = 'AlPhA';
|
|
13
13
|
expect((0, _formatData.default)(FORMAT, VALUE)).toEqual(VALUE);
|
|
14
14
|
});
|
|
15
|
-
it('should handle no value', ()
|
|
16
|
-
|
|
15
|
+
it('should handle no value', function () {
|
|
16
|
+
var FORMAT = {
|
|
17
17
|
type: 'lowercase'
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
var VALUE = null;
|
|
20
20
|
expect((0, _formatData.default)(FORMAT, VALUE)).toBeNull();
|
|
21
21
|
});
|
|
22
|
-
it('should format a string as lowercase', ()
|
|
23
|
-
|
|
22
|
+
it('should format a string as lowercase', function () {
|
|
23
|
+
var FORMAT = {
|
|
24
24
|
type: 'lowercase'
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
var VALUE = 'AlPhA';
|
|
27
27
|
expect((0, _formatData.default)(FORMAT, VALUE)).toEqual('alpha');
|
|
28
28
|
});
|
|
29
|
-
it('should format a string as uppercase', ()
|
|
30
|
-
|
|
29
|
+
it('should format a string as uppercase', function () {
|
|
30
|
+
var FORMAT = {
|
|
31
31
|
type: 'uppercase'
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
var VALUE = 'AlPhA';
|
|
34
34
|
expect((0, _formatData.default)(FORMAT, VALUE)).toEqual('ALPHA');
|
|
35
35
|
});
|
|
36
|
-
it('should leave an unknown format type alone', ()
|
|
37
|
-
|
|
36
|
+
it('should leave an unknown format type alone', function () {
|
|
37
|
+
var FORMAT = {
|
|
38
38
|
type: 'not-a-real-type'
|
|
39
39
|
};
|
|
40
|
-
|
|
40
|
+
var VALUE = 'AlPhA';
|
|
41
41
|
expect((0, _formatData.default)(FORMAT, VALUE)).toEqual(VALUE);
|
|
42
42
|
});
|
|
43
43
|
});
|
|
@@ -14,8 +14,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
14
14
|
* @param {object} data The top-level form data.
|
|
15
15
|
* @param {string} eventType What type of event initiated this call.
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
var formatDataForComponent = function formatDataForComponent(component, data, eventType) {
|
|
18
|
+
var componentData = data;
|
|
19
19
|
if (component.format && component.format.on === eventType) {
|
|
20
20
|
componentData[component.fieldId] = (0, _formatData.default)(component.format, componentData[component.fieldId]);
|
|
21
21
|
}
|
|
@@ -27,8 +27,9 @@ const formatDataForComponent = (component, data, eventType) => {
|
|
|
27
27
|
* @param {object} data The top-level form data.
|
|
28
28
|
* @param {string} eventType What type of event initiated this call.
|
|
29
29
|
*/
|
|
30
|
-
|
|
31
|
-
components.forEach(
|
|
30
|
+
var formatDataForComponents = exports.formatDataForComponents = function formatDataForComponents(components, data, eventType) {
|
|
31
|
+
components.forEach(function (component) {
|
|
32
|
+
return formatDataForComponent(component, data, eventType);
|
|
33
|
+
});
|
|
32
34
|
};
|
|
33
|
-
exports.formatDataForComponents = formatDataForComponents;
|
|
34
35
|
var _default = exports.default = formatDataForComponent;
|
|
@@ -2,83 +2,110 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../models");
|
|
4
4
|
var _formatDataForComponent = _interopRequireWildcard(require("./formatDataForComponent"));
|
|
5
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
6
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
5
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
6
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
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; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
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
|
|
17
|
+
describe('utils', function () {
|
|
18
|
+
describe('Format', function () {
|
|
19
|
+
var setupField = function setupField(fieldId, format) {
|
|
20
|
+
return {
|
|
21
|
+
fieldId: fieldId,
|
|
22
|
+
format: format
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
var setupData = function setupData(fieldId, value) {
|
|
26
|
+
return _defineProperty({}, fieldId, value);
|
|
27
|
+
};
|
|
28
|
+
var setupFieldAndData = function setupFieldAndData(fieldId, format, value) {
|
|
29
|
+
return [setupField(fieldId, format), setupData(fieldId, value)];
|
|
30
|
+
};
|
|
31
|
+
describe('formatDataForComponent', function () {
|
|
32
|
+
it('should handle no format', function () {
|
|
33
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
34
|
+
var FIELD_ID = 'field';
|
|
35
|
+
var FORMAT = null;
|
|
36
|
+
var VALUE = 'AlPhA';
|
|
37
|
+
var _setupFieldAndData = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
|
|
38
|
+
_setupFieldAndData2 = _slicedToArray(_setupFieldAndData, 2),
|
|
39
|
+
COMPONENT = _setupFieldAndData2[0],
|
|
40
|
+
DATA = _setupFieldAndData2[1];
|
|
26
41
|
(0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
|
|
27
42
|
expect(DATA[FIELD_ID]).toEqual(VALUE);
|
|
28
43
|
});
|
|
29
|
-
it('should handle no value', ()
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
44
|
+
it('should handle no value', function () {
|
|
45
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
46
|
+
var FIELD_ID = 'field';
|
|
47
|
+
var FORMAT = {
|
|
33
48
|
type: 'lowercase',
|
|
34
49
|
on: EVENT_TYPE
|
|
35
50
|
};
|
|
36
|
-
|
|
37
|
-
|
|
51
|
+
var VALUE = null;
|
|
52
|
+
var _setupFieldAndData3 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
|
|
53
|
+
_setupFieldAndData4 = _slicedToArray(_setupFieldAndData3, 2),
|
|
54
|
+
COMPONENT = _setupFieldAndData4[0],
|
|
55
|
+
DATA = _setupFieldAndData4[1];
|
|
38
56
|
(0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
|
|
39
57
|
expect(DATA[FIELD_ID]).toBeNull();
|
|
40
58
|
});
|
|
41
|
-
it('should remain unchanged if the wrong event type', ()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
59
|
+
it('should remain unchanged if the wrong event type', function () {
|
|
60
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
61
|
+
var FIELD_ID = 'field';
|
|
62
|
+
var FORMAT = {
|
|
45
63
|
type: 'lowercase',
|
|
46
64
|
on: _models.EventTypes.BLUR
|
|
47
65
|
};
|
|
48
|
-
|
|
49
|
-
|
|
66
|
+
var VALUE = 'AlPhA';
|
|
67
|
+
var _setupFieldAndData5 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
|
|
68
|
+
_setupFieldAndData6 = _slicedToArray(_setupFieldAndData5, 2),
|
|
69
|
+
COMPONENT = _setupFieldAndData6[0],
|
|
70
|
+
DATA = _setupFieldAndData6[1];
|
|
50
71
|
(0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
|
|
51
72
|
expect(DATA[FIELD_ID]).toEqual(VALUE);
|
|
52
73
|
});
|
|
53
|
-
it('should format a string as lowercase', ()
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
74
|
+
it('should format a string as lowercase', function () {
|
|
75
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
76
|
+
var FIELD_ID = 'field';
|
|
77
|
+
var FORMAT = {
|
|
57
78
|
type: 'lowercase',
|
|
58
79
|
on: EVENT_TYPE
|
|
59
80
|
};
|
|
60
|
-
|
|
61
|
-
|
|
81
|
+
var VALUE = 'AlPhA';
|
|
82
|
+
var _setupFieldAndData7 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
|
|
83
|
+
_setupFieldAndData8 = _slicedToArray(_setupFieldAndData7, 2),
|
|
84
|
+
COMPONENT = _setupFieldAndData8[0],
|
|
85
|
+
DATA = _setupFieldAndData8[1];
|
|
62
86
|
(0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
|
|
63
87
|
expect(DATA[FIELD_ID]).toEqual('alpha');
|
|
64
88
|
});
|
|
65
|
-
it('should format a string as uppercase', ()
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
89
|
+
it('should format a string as uppercase', function () {
|
|
90
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
91
|
+
var FIELD_ID = 'field';
|
|
92
|
+
var FORMAT = {
|
|
69
93
|
type: 'uppercase',
|
|
70
94
|
on: EVENT_TYPE
|
|
71
95
|
};
|
|
72
|
-
|
|
73
|
-
|
|
96
|
+
var VALUE = 'AlPhA';
|
|
97
|
+
var _setupFieldAndData9 = setupFieldAndData(FIELD_ID, FORMAT, VALUE),
|
|
98
|
+
_setupFieldAndData10 = _slicedToArray(_setupFieldAndData9, 2),
|
|
99
|
+
COMPONENT = _setupFieldAndData10[0],
|
|
100
|
+
DATA = _setupFieldAndData10[1];
|
|
74
101
|
(0, _formatDataForComponent.default)(COMPONENT, DATA, EVENT_TYPE);
|
|
75
102
|
expect(DATA[FIELD_ID]).toEqual('ALPHA');
|
|
76
103
|
});
|
|
77
104
|
});
|
|
78
|
-
describe('formatDataForComponents', ()
|
|
79
|
-
it('should appropriately format multiple components', ()
|
|
80
|
-
|
|
81
|
-
|
|
105
|
+
describe('formatDataForComponents', function () {
|
|
106
|
+
it('should appropriately format multiple components', function () {
|
|
107
|
+
var EVENT_TYPE = _models.EventTypes.SUBMIT;
|
|
108
|
+
var COMPONENTS = [setupField('alpha', {
|
|
82
109
|
type: 'lowercase',
|
|
83
110
|
on: _models.EventTypes.SUBMIT
|
|
84
111
|
}),
|
|
@@ -95,7 +122,8 @@ describe('utils', () => {
|
|
|
95
122
|
on: _models.EventTypes.BLUR
|
|
96
123
|
}) // Should not be formatted because of event type
|
|
97
124
|
];
|
|
98
|
-
|
|
125
|
+
|
|
126
|
+
var DATA = {
|
|
99
127
|
alpha: 'AlPhA',
|
|
100
128
|
bravo: 'bRaVo',
|
|
101
129
|
charlie: 'CHArlie',
|
|
@@ -6,18 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _formatDataForComponent = require("./formatDataForComponent");
|
|
8
8
|
var _formatDataForPage = require("./formatDataForPage");
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
11
15
|
/**
|
|
12
16
|
* Formats the data for all components on a form, according to each component's format configuration.
|
|
13
17
|
* @param {object} form The form to format the components for.
|
|
14
18
|
* @param {object} data The top-level form data.
|
|
15
19
|
* @param {string} eventType What type of event initiated this call.
|
|
16
20
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
...baseData
|
|
20
|
-
};
|
|
21
|
+
var formatDataForForm = function formatDataForForm(form, baseData, eventType) {
|
|
22
|
+
var data = _objectSpread({}, baseData);
|
|
21
23
|
(0, _formatDataForComponent.formatDataForComponents)(form.components, data, eventType);
|
|
22
24
|
(0, _formatDataForPage.formatDataForPages)(form.pages, data, eventType);
|
|
23
25
|
return data;
|