@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.12.0
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 +143 -105
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -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 +131 -102
- package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
- package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +57 -48
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +156 -112
- package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
- package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
- package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -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 +73 -70
- 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 +93 -66
- 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 +39 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -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 +44 -44
- 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/json/actions.json +17 -0
- package/dist/json/actionsNoSave.json +17 -0
- 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 +113 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -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/deleteValues.js +22 -0
- package/dist/utils/Data/deleteValues.test.js +57 -0
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +31 -24
- package/dist/utils/Data/getOptions.test.js +53 -35
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +3 -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/deleteValueInFormData.js +26 -0
- package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
- 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 +11 -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 +10 -7
- package/dist/utils/Validate/additional/index.test.js +78 -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/mustBeOneOf.js +21 -0
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
- 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,61 +4,63 @@ var _setupFormData = _interopRequireDefault(require("./setupFormData"));
|
|
|
4
4
|
var _userProfile = _interopRequireDefault(require("../../json/userProfile.json"));
|
|
5
5
|
var _userProfileData = _interopRequireDefault(require("../../json/userProfile.data.json"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable import/no-named-default */ // Local imports
|
|
13
|
+
describe('utils', function () {
|
|
14
|
+
describe('Data', function () {
|
|
15
|
+
describe('setupFormData', function () {
|
|
16
|
+
it('should populate a simple form', function () {
|
|
17
|
+
var PAGES = [];
|
|
18
|
+
var COMPONENTS = [{
|
|
17
19
|
fieldId: 'testField',
|
|
18
20
|
source: {
|
|
19
21
|
field: 'sourceField'
|
|
20
22
|
}
|
|
21
23
|
}];
|
|
22
|
-
|
|
24
|
+
var DATA = {
|
|
23
25
|
sourceField: 'VALUE'
|
|
24
26
|
};
|
|
25
|
-
|
|
27
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
26
28
|
expect(RESULT).toEqual({
|
|
27
29
|
sourceField: 'VALUE',
|
|
28
30
|
testField: 'VALUE'
|
|
29
31
|
});
|
|
30
32
|
});
|
|
31
|
-
it('should handle a missing source field', ()
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
it('should handle a missing source field', function () {
|
|
34
|
+
var PAGES = [];
|
|
35
|
+
var COMPONENTS = [{
|
|
34
36
|
fieldId: 'testField',
|
|
35
37
|
source: {
|
|
36
38
|
field: 'otherSourceField'
|
|
37
39
|
}
|
|
38
40
|
}];
|
|
39
|
-
|
|
41
|
+
var DATA = {
|
|
40
42
|
sourceField: 'VALUE'
|
|
41
43
|
};
|
|
42
|
-
|
|
44
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
43
45
|
expect(RESULT).toEqual({
|
|
44
46
|
sourceField: 'VALUE',
|
|
45
47
|
testField: undefined
|
|
46
48
|
});
|
|
47
49
|
});
|
|
48
|
-
it('should handle a nested source field', ()
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
it('should handle a nested source field', function () {
|
|
51
|
+
var PAGES = [];
|
|
52
|
+
var COMPONENTS = [{
|
|
51
53
|
fieldId: 'testField',
|
|
52
54
|
source: {
|
|
53
55
|
field: 'nested.sourceField'
|
|
54
56
|
}
|
|
55
57
|
}];
|
|
56
|
-
|
|
58
|
+
var DATA = {
|
|
57
59
|
nested: {
|
|
58
60
|
sourceField: 'VALUE'
|
|
59
61
|
}
|
|
60
62
|
};
|
|
61
|
-
|
|
63
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
62
64
|
expect(RESULT).toEqual({
|
|
63
65
|
nested: {
|
|
64
66
|
sourceField: 'VALUE'
|
|
@@ -66,20 +68,20 @@ describe('utils', () => {
|
|
|
66
68
|
testField: 'VALUE'
|
|
67
69
|
});
|
|
68
70
|
});
|
|
69
|
-
it('should handle a missing nested source field', ()
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
it('should handle a missing nested source field', function () {
|
|
72
|
+
var PAGES = [];
|
|
73
|
+
var COMPONENTS = [{
|
|
72
74
|
fieldId: 'testField',
|
|
73
75
|
source: {
|
|
74
76
|
field: 'nested.otherSourceField'
|
|
75
77
|
}
|
|
76
78
|
}];
|
|
77
|
-
|
|
79
|
+
var DATA = {
|
|
78
80
|
nested: {
|
|
79
81
|
sourceField: 'VALUE'
|
|
80
82
|
}
|
|
81
83
|
};
|
|
82
|
-
|
|
84
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
83
85
|
expect(RESULT).toEqual({
|
|
84
86
|
nested: {
|
|
85
87
|
sourceField: 'VALUE'
|
|
@@ -87,20 +89,20 @@ describe('utils', () => {
|
|
|
87
89
|
testField: undefined
|
|
88
90
|
});
|
|
89
91
|
});
|
|
90
|
-
it('should handle an entirely missing nested source field', ()
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
it('should handle an entirely missing nested source field', function () {
|
|
93
|
+
var PAGES = [];
|
|
94
|
+
var COMPONENTS = [{
|
|
93
95
|
fieldId: 'testField',
|
|
94
96
|
source: {
|
|
95
97
|
field: 'otherNested.sourceField'
|
|
96
98
|
}
|
|
97
99
|
}];
|
|
98
|
-
|
|
100
|
+
var DATA = {
|
|
99
101
|
nested: {
|
|
100
102
|
sourceField: 'VALUE'
|
|
101
103
|
}
|
|
102
104
|
};
|
|
103
|
-
|
|
105
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
104
106
|
expect(RESULT).toEqual({
|
|
105
107
|
nested: {
|
|
106
108
|
sourceField: 'VALUE'
|
|
@@ -108,8 +110,8 @@ describe('utils', () => {
|
|
|
108
110
|
testField: undefined
|
|
109
111
|
});
|
|
110
112
|
});
|
|
111
|
-
it('should handle sources within pages', ()
|
|
112
|
-
|
|
113
|
+
it('should handle sources within pages', function () {
|
|
114
|
+
var PAGES = [{
|
|
113
115
|
components: [{
|
|
114
116
|
fieldId: 'pageField',
|
|
115
117
|
source: {
|
|
@@ -124,20 +126,20 @@ describe('utils', () => {
|
|
|
124
126
|
}
|
|
125
127
|
}]
|
|
126
128
|
}];
|
|
127
|
-
|
|
129
|
+
var COMPONENTS = [{
|
|
128
130
|
fieldId: 'testField',
|
|
129
131
|
source: {
|
|
130
132
|
field: 'nested.sourceField'
|
|
131
133
|
}
|
|
132
134
|
}];
|
|
133
|
-
|
|
135
|
+
var DATA = {
|
|
134
136
|
nested: {
|
|
135
137
|
sourceField: 'VALUE'
|
|
136
138
|
},
|
|
137
139
|
pageSourceField: 'PAGE 1',
|
|
138
140
|
secondPageSourceField: 'Bob'
|
|
139
141
|
};
|
|
140
|
-
|
|
142
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
141
143
|
expect(RESULT).toEqual({
|
|
142
144
|
nested: {
|
|
143
145
|
sourceField: 'VALUE'
|
|
@@ -149,8 +151,8 @@ describe('utils', () => {
|
|
|
149
151
|
secondPageField: 'Bob'
|
|
150
152
|
});
|
|
151
153
|
});
|
|
152
|
-
it('should ignore sources within pages that reference a top-level component', ()
|
|
153
|
-
|
|
154
|
+
it('should ignore sources within pages that reference a top-level component', function () {
|
|
155
|
+
var PAGES = [{
|
|
154
156
|
components: [{
|
|
155
157
|
fieldId: 'pageField',
|
|
156
158
|
use: 'testField',
|
|
@@ -166,20 +168,20 @@ describe('utils', () => {
|
|
|
166
168
|
}
|
|
167
169
|
}]
|
|
168
170
|
}];
|
|
169
|
-
|
|
171
|
+
var COMPONENTS = [{
|
|
170
172
|
fieldId: 'testField',
|
|
171
173
|
source: {
|
|
172
174
|
field: 'nested.sourceField'
|
|
173
175
|
}
|
|
174
176
|
}];
|
|
175
|
-
|
|
177
|
+
var DATA = {
|
|
176
178
|
nested: {
|
|
177
179
|
sourceField: 'VALUE'
|
|
178
180
|
},
|
|
179
181
|
pageSourceField: 'PAGE 1',
|
|
180
182
|
secondPageSourceField: 'Bob'
|
|
181
183
|
};
|
|
182
|
-
|
|
184
|
+
var RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
183
185
|
expect(RESULT).toEqual({
|
|
184
186
|
nested: {
|
|
185
187
|
sourceField: 'VALUE'
|
|
@@ -190,24 +192,21 @@ describe('utils', () => {
|
|
|
190
192
|
secondPageField: 'Bob'
|
|
191
193
|
});
|
|
192
194
|
});
|
|
193
|
-
it('should populate data for the user profile configuration and source', ()
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
} = _userProfile.default;
|
|
198
|
-
const RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
|
|
195
|
+
it('should populate data for the user profile configuration and source', function () {
|
|
196
|
+
var pages = _userProfile.default.pages,
|
|
197
|
+
components = _userProfile.default.components;
|
|
198
|
+
var RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
|
|
199
199
|
|
|
200
200
|
// It should produce an aggregation of the original source data (USER_PROFILE_DATA)
|
|
201
201
|
// and data calculated for the fields, based on that source data.
|
|
202
|
-
expect(RESULT).toEqual({
|
|
203
|
-
..._userProfileData.default,
|
|
202
|
+
expect(RESULT).toEqual(_objectSpread(_objectSpread({}, _userProfileData.default), {}, {
|
|
204
203
|
firstName: _userProfileData.default.currentUser.givenName,
|
|
205
204
|
surname: _userProfileData.default.currentUser.familyName,
|
|
206
205
|
team: _userProfileData.default.userDetails.defaultteam,
|
|
207
206
|
staffGradeId: _userProfileData.default.userDetails.gradeid,
|
|
208
207
|
linemanagerEmail: _userProfileData.default.userDetails.linemanagerEmail,
|
|
209
208
|
delegateEmails: _userProfileData.default.userDetails.delegateEmails
|
|
210
|
-
});
|
|
209
|
+
}));
|
|
211
210
|
});
|
|
212
211
|
});
|
|
213
212
|
});
|
|
@@ -6,20 +6,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
8
8
|
var _models = require("../../models");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable no-use-before-define */ // Global imports
|
|
15
|
+
var setupRefDataForContainer = function setupRefDataForContainer(container, data) {
|
|
16
|
+
return _objectSpread(_objectSpread({}, container), {}, {
|
|
17
|
+
components: setupRefDataUrlForComponents(container.components, data)
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var setupRefDataForCollection = function setupRefDataForCollection(collection, data) {
|
|
21
|
+
return _objectSpread(_objectSpread({}, collection), {}, {
|
|
22
|
+
item: setupRefDataUrlForComponents(collection.item, data)
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
var setupRefDataUrlForComponents = function setupRefDataUrlForComponents(components, data) {
|
|
26
|
+
return components.map(function (component) {
|
|
27
|
+
return setupRefDataUrlForComponent(component, data);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component, data) {
|
|
23
31
|
if (component) {
|
|
24
32
|
var _component$data, _component$data2;
|
|
25
33
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
@@ -32,13 +40,11 @@ const setupRefDataUrlForComponent = (component, data) => {
|
|
|
32
40
|
return component;
|
|
33
41
|
}
|
|
34
42
|
if ((_component$data = component.data) !== null && _component$data !== void 0 && _component$data.url && !((_component$data2 = component.data) !== null && _component$data2 !== void 0 && _component$data2.skipUrlInterpolation)) {
|
|
35
|
-
return {
|
|
36
|
-
|
|
37
|
-
data: {
|
|
38
|
-
...component.data,
|
|
43
|
+
return _objectSpread(_objectSpread({}, component), {}, {
|
|
44
|
+
data: _objectSpread(_objectSpread({}, component.data), {}, {
|
|
39
45
|
url: _copReactComponents.Utils.interpolateString(component.data.url, data)
|
|
40
|
-
}
|
|
41
|
-
};
|
|
46
|
+
})
|
|
47
|
+
});
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
return component;
|
|
@@ -5,28 +5,28 @@ var _setupRefDataUrlForComponent = _interopRequireDefault(require("./setupRefDat
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('utils', ()
|
|
9
|
-
describe('Data', ()
|
|
10
|
-
describe('setupRefDataUrlForComponent', ()
|
|
11
|
-
|
|
8
|
+
describe('utils', function () {
|
|
9
|
+
describe('Data', function () {
|
|
10
|
+
describe('setupRefDataUrlForComponent', function () {
|
|
11
|
+
var DATA = {
|
|
12
12
|
urls: {
|
|
13
13
|
refData: '/ref-data'
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
-
it('can handle a null component', ()
|
|
16
|
+
it('can handle a null component', function () {
|
|
17
17
|
expect((0, _setupRefDataUrlForComponent.default)(null, DATA)).toBeNull();
|
|
18
18
|
});
|
|
19
|
-
it('can handle an undefined component', ()
|
|
19
|
+
it('can handle an undefined component', function () {
|
|
20
20
|
expect((0, _setupRefDataUrlForComponent.default)(undefined, DATA)).toBeUndefined();
|
|
21
21
|
});
|
|
22
|
-
it('can handle a component with no data property', ()
|
|
23
|
-
|
|
22
|
+
it('can handle a component with no data property', function () {
|
|
23
|
+
var COMPONENT = {
|
|
24
24
|
id: 'component'
|
|
25
25
|
};
|
|
26
26
|
expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual(COMPONENT);
|
|
27
27
|
});
|
|
28
|
-
it('can handle a component with no data.url property', ()
|
|
29
|
-
|
|
28
|
+
it('can handle a component with no data.url property', function () {
|
|
29
|
+
var COMPONENT = {
|
|
30
30
|
id: 'component',
|
|
31
31
|
data: {
|
|
32
32
|
options: []
|
|
@@ -34,8 +34,8 @@ describe('utils', () => {
|
|
|
34
34
|
};
|
|
35
35
|
expect((0, _setupRefDataUrlForComponent.default)(COMPONENT, DATA)).toEqual(COMPONENT);
|
|
36
36
|
});
|
|
37
|
-
it('should appropriately update the component URL', ()
|
|
38
|
-
|
|
37
|
+
it('should appropriately update the component URL', function () {
|
|
38
|
+
var COMPONENT = {
|
|
39
39
|
id: 'component',
|
|
40
40
|
// eslint-disable-next-line no-template-curly-in-string
|
|
41
41
|
data: {
|
|
@@ -49,8 +49,8 @@ describe('utils', () => {
|
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
|
-
it('should leave a URL alone that does not require replacement', ()
|
|
53
|
-
|
|
52
|
+
it('should leave a URL alone that does not require replacement', function () {
|
|
53
|
+
var COMPONENT = {
|
|
54
54
|
id: 'component',
|
|
55
55
|
data: {
|
|
56
56
|
url: '/somewhere-else/v1/teams'
|
|
@@ -63,8 +63,8 @@ describe('utils', () => {
|
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
|
-
it('should appropriately handle a missing value in the data', ()
|
|
67
|
-
|
|
66
|
+
it('should appropriately handle a missing value in the data', function () {
|
|
67
|
+
var COMPONENT = {
|
|
68
68
|
id: 'component',
|
|
69
69
|
// eslint-disable-next-line no-template-curly-in-string
|
|
70
70
|
data: {
|
|
@@ -78,15 +78,15 @@ describe('utils', () => {
|
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
80
|
});
|
|
81
|
-
it('should appropriately update the component URLs within a container', ()
|
|
82
|
-
|
|
81
|
+
it('should appropriately update the component URLs within a container', function () {
|
|
82
|
+
var COMPONENT = {
|
|
83
83
|
id: 'component',
|
|
84
84
|
// eslint-disable-next-line no-template-curly-in-string
|
|
85
85
|
data: {
|
|
86
86
|
url: '${urls.refData}/v1/teams'
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
var CONTAINER = {
|
|
90
90
|
id: 'container',
|
|
91
91
|
type: _models.ComponentTypes.CONTAINER,
|
|
92
92
|
components: [COMPONENT]
|
|
@@ -102,15 +102,15 @@ describe('utils', () => {
|
|
|
102
102
|
}]
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
|
-
it('should appropriately update the component URLs within a collection', ()
|
|
106
|
-
|
|
105
|
+
it('should appropriately update the component URLs within a collection', function () {
|
|
106
|
+
var COMPONENT = {
|
|
107
107
|
id: 'component',
|
|
108
108
|
// eslint-disable-next-line no-template-curly-in-string
|
|
109
109
|
data: {
|
|
110
110
|
url: '${urls.refData}/v1/teams'
|
|
111
111
|
}
|
|
112
112
|
};
|
|
113
|
-
|
|
113
|
+
var COLLECTION = {
|
|
114
114
|
id: 'container',
|
|
115
115
|
type: _models.ComponentTypes.COLLECTION,
|
|
116
116
|
item: [COMPONENT]
|
|
@@ -126,8 +126,8 @@ describe('utils', () => {
|
|
|
126
126
|
}]
|
|
127
127
|
});
|
|
128
128
|
});
|
|
129
|
-
it('should not update the component URL when skipUrlInterpolation prop is true', ()
|
|
130
|
-
|
|
129
|
+
it('should not update the component URL when skipUrlInterpolation prop is true', function () {
|
|
130
|
+
var COMPONENT = {
|
|
131
131
|
id: 'component',
|
|
132
132
|
data: {
|
|
133
133
|
// eslint-disable-next-line no-template-curly-in-string
|
|
@@ -6,20 +6,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _ = _interopRequireDefault(require(".."));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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); }
|
|
9
15
|
/**
|
|
10
16
|
* Apply properties to a page based on whether certain conditions are met.
|
|
11
17
|
* @param {object} page The page object.
|
|
12
18
|
* @returns A copy of the page object with any passing conditional
|
|
13
19
|
* properties applied.
|
|
14
20
|
*/
|
|
15
|
-
|
|
21
|
+
var applyConditionalProperties = function applyConditionalProperties(page) {
|
|
16
22
|
if (!page.conditionalProperties) {
|
|
17
23
|
return page;
|
|
18
24
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
page.conditionalProperties.forEach(entry => {
|
|
25
|
+
var pageWithProperties = _objectSpread({}, page);
|
|
26
|
+
page.conditionalProperties.forEach(function (entry) {
|
|
23
27
|
if (_.default.Condition.met(entry.condition, page.formData[entry.condition.field])) {
|
|
24
28
|
pageWithProperties = Object.assign(pageWithProperties, entry.properties);
|
|
25
29
|
}
|
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
var _applyConditionalProperties = _interopRequireDefault(require("./applyConditionalProperties"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
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 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; }
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
+
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
|
+
describe('utils.FormPage.applyConditionalProperties', function () {
|
|
12
|
+
it('should not change the page if there are no conditional properties', function () {
|
|
13
|
+
var PAGE = {
|
|
10
14
|
id: 'testPage'
|
|
11
15
|
};
|
|
12
|
-
|
|
16
|
+
var result = (0, _applyConditionalProperties.default)(PAGE);
|
|
13
17
|
expect(result).toEqual(PAGE);
|
|
14
18
|
});
|
|
15
|
-
it('should not apply properties with conditions that have not been met', ()
|
|
16
|
-
|
|
19
|
+
it('should not apply properties with conditions that have not been met', function () {
|
|
20
|
+
var PAGE = {
|
|
17
21
|
id: 'testPage',
|
|
18
22
|
conditionalProperties: [{
|
|
19
23
|
condition: {
|
|
@@ -29,11 +33,11 @@ describe('utils.FormPage.applyConditionalProperties', () => {
|
|
|
29
33
|
alpha: '012'
|
|
30
34
|
}
|
|
31
35
|
};
|
|
32
|
-
|
|
36
|
+
var result = (0, _applyConditionalProperties.default)(PAGE);
|
|
33
37
|
expect(result).toEqual(PAGE);
|
|
34
38
|
});
|
|
35
|
-
it('should apply properties with conditions that have been met', ()
|
|
36
|
-
|
|
39
|
+
it('should apply properties with conditions that have been met', function () {
|
|
40
|
+
var PAGE = {
|
|
37
41
|
id: 'testPage',
|
|
38
42
|
conditionalProperties: [{
|
|
39
43
|
condition: {
|
|
@@ -49,10 +53,9 @@ describe('utils.FormPage.applyConditionalProperties', () => {
|
|
|
49
53
|
alpha: '123'
|
|
50
54
|
}
|
|
51
55
|
};
|
|
52
|
-
|
|
53
|
-
expect(result).toEqual({
|
|
54
|
-
...PAGE,
|
|
56
|
+
var result = (0, _applyConditionalProperties.default)(PAGE);
|
|
57
|
+
expect(result).toEqual(_objectSpread(_objectSpread({}, PAGE), {}, {
|
|
55
58
|
beta: '456'
|
|
56
|
-
});
|
|
59
|
+
}));
|
|
57
60
|
});
|
|
58
61
|
});
|
|
@@ -32,15 +32,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
32
32
|
* @param {String} key The key to use to find the text to use in each option, defaults to 'text'.
|
|
33
33
|
* @returns The first string that passes its' conditions, or null if something went wrong.
|
|
34
34
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
var getConditionalText = function getConditionalText(options, formData) {
|
|
36
|
+
var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';
|
|
37
37
|
if (typeof options === 'string') {
|
|
38
38
|
return _copReactComponents.Utils.interpolateString(options, formData);
|
|
39
39
|
}
|
|
40
40
|
if (!Array.isArray(options) || Object.keys(formData).length === 0) {
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
var shownOption = options.find(function (option) {
|
|
44
44
|
if (typeof option === 'string') {
|
|
45
45
|
// This is intended to allow a plain string 'fallback' option in the array.
|
|
46
46
|
// As such, it should be the last option in the array as any options after
|