@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +16 -25
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +21 -27
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -3,43 +3,43 @@
|
|
|
3
3
|
var _models = require("../../models");
|
|
4
4
|
var _getDefaultValue = _interopRequireDefault(require("./getDefaultValue"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
describe('utils.Component.defaultValue',
|
|
7
|
-
it('should return an empty string if the component is undefined',
|
|
6
|
+
describe('utils.Component.defaultValue', () => {
|
|
7
|
+
it('should return an empty string if the component is undefined', () => {
|
|
8
8
|
expect((0, _getDefaultValue.default)(undefined)).toEqual('');
|
|
9
9
|
});
|
|
10
|
-
it('should return an empty string if the component is null',
|
|
10
|
+
it('should return an empty string if the component is null', () => {
|
|
11
11
|
expect((0, _getDefaultValue.default)(null)).toEqual('');
|
|
12
12
|
});
|
|
13
|
-
it('should return an empty string if the component has no type',
|
|
13
|
+
it('should return an empty string if the component has no type', () => {
|
|
14
14
|
expect((0, _getDefaultValue.default)({})).toEqual('');
|
|
15
15
|
});
|
|
16
|
-
it('should return an empty string if the component type is null',
|
|
16
|
+
it('should return an empty string if the component type is null', () => {
|
|
17
17
|
expect((0, _getDefaultValue.default)({
|
|
18
18
|
type: null
|
|
19
19
|
})).toEqual('');
|
|
20
20
|
});
|
|
21
|
-
it('should return an empty string if the component type is undefined',
|
|
21
|
+
it('should return an empty string if the component type is undefined', () => {
|
|
22
22
|
expect((0, _getDefaultValue.default)({
|
|
23
23
|
type: undefined
|
|
24
24
|
})).toEqual('');
|
|
25
25
|
});
|
|
26
|
-
it("should return an empty array if the component type is 'collection'",
|
|
26
|
+
it("should return an empty array if the component type is 'collection'", () => {
|
|
27
27
|
expect((0, _getDefaultValue.default)({
|
|
28
28
|
type: _models.ComponentTypes.COLLECTION
|
|
29
29
|
})).toEqual([]);
|
|
30
30
|
});
|
|
31
|
-
it("should return an empty object if the component type is 'container'",
|
|
31
|
+
it("should return an empty object if the component type is 'container'", () => {
|
|
32
32
|
expect((0, _getDefaultValue.default)({
|
|
33
33
|
type: _models.ComponentTypes.CONTAINER
|
|
34
34
|
})).toEqual({});
|
|
35
35
|
});
|
|
36
|
-
it('should return defaultValue if the component has defaultValue prop',
|
|
36
|
+
it('should return defaultValue if the component has defaultValue prop', () => {
|
|
37
37
|
expect((0, _getDefaultValue.default)({
|
|
38
38
|
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
39
39
|
defaultValue: 'test'
|
|
40
40
|
})).toEqual('test');
|
|
41
41
|
});
|
|
42
|
-
it('should return defaultObjectValue if the component has defaultObjectValue prop',
|
|
42
|
+
it('should return defaultObjectValue if the component has defaultObjectValue prop', () => {
|
|
43
43
|
expect((0, _getDefaultValue.default)({
|
|
44
44
|
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
45
45
|
defaultObjectValue: {
|
|
@@ -49,9 +49,9 @@ describe('utils.Component.defaultValue', function () {
|
|
|
49
49
|
testText: 'text'
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
|
-
Object.values(_models.ComponentTypes).forEach(
|
|
52
|
+
Object.values(_models.ComponentTypes).forEach(value => {
|
|
53
53
|
if (![_models.ComponentTypes.COLLECTION, _models.ComponentTypes.CONTAINER, _models.ComponentTypes.FILE].includes(value)) {
|
|
54
|
-
it("should return an empty object if the component type is '".concat(value, "'"),
|
|
54
|
+
it("should return an empty object if the component type is '".concat(value, "'"), () => {
|
|
55
55
|
expect((0, _getDefaultValue.default)({
|
|
56
56
|
type: _models.ComponentTypes.TEXT
|
|
57
57
|
})).toEqual('');
|
|
@@ -8,19 +8,14 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
|
8
8
|
var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
|
|
9
9
|
var _models = require("../../models");
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
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; }
|
|
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); } // Global imports.
|
|
11
|
+
// Global imports.
|
|
12
|
+
|
|
17
13
|
// Local imports.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var defaultDate = dateFormat.test(date.defaultValue) ? date.defaultValue : null;
|
|
14
|
+
|
|
15
|
+
const hasDefaultValue = component => component.defaultValue || component.defaultObjectValue;
|
|
16
|
+
const getDefaultForDate = date => {
|
|
17
|
+
const dateFormat = /^(\d{1,2})-\d{1,2}-(\d{4})$/;
|
|
18
|
+
const defaultDate = dateFormat.test(date.defaultValue) ? date.defaultValue : null;
|
|
24
19
|
return date.defaultValue === 'today' ? (0, _dayjs.default)().format('DD-MM-YYYY') : defaultDate;
|
|
25
20
|
};
|
|
26
21
|
|
|
@@ -61,27 +56,33 @@ var getDefaultForDate = function getDefaultForDate(date) {
|
|
|
61
56
|
* @param {object} data The current formData.
|
|
62
57
|
* @returns An object to be used as the component's default value.
|
|
63
58
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
const setupDefaultObjectValue = (defaultObject, data) => {
|
|
60
|
+
const defaultObj = {
|
|
61
|
+
...defaultObject
|
|
62
|
+
};
|
|
63
|
+
let result = null;
|
|
67
64
|
// This handles objects using the previous syntax where
|
|
68
65
|
// defaultObject.literal and defaultObject.sourced won't
|
|
69
66
|
// be defined.
|
|
70
67
|
if (!defaultObj.literal && !defaultObj.sourced) {
|
|
71
|
-
defaultObj.sourced =
|
|
68
|
+
defaultObj.sourced = {
|
|
69
|
+
...defaultObj
|
|
70
|
+
};
|
|
72
71
|
}
|
|
73
72
|
// defaultObject.literal is an object with values that should
|
|
74
73
|
// be copied as-is to the result object.
|
|
75
74
|
if (defaultObj.literal) {
|
|
76
|
-
result =
|
|
75
|
+
result = {
|
|
76
|
+
...defaultObj.literal
|
|
77
|
+
};
|
|
77
78
|
}
|
|
78
79
|
// defaultObject.sourced is an object with values that should
|
|
79
80
|
// be used as field names to get values from data.
|
|
80
81
|
if (defaultObj.sourced) {
|
|
81
82
|
var _result;
|
|
82
83
|
result = (_result = result) !== null && _result !== void 0 ? _result : {};
|
|
83
|
-
Object.keys(defaultObj.sourced).every(
|
|
84
|
-
|
|
84
|
+
Object.keys(defaultObj.sourced).every(key => {
|
|
85
|
+
const sourcedValue = typeof defaultObj.sourced[key] === 'string' && (0, _getSourceData.default)(data, defaultObj.sourced[key]);
|
|
85
86
|
if (sourcedValue === undefined && defaultObj.skipIfSourceInvalid) {
|
|
86
87
|
result = null;
|
|
87
88
|
return false;
|
|
@@ -92,7 +93,7 @@ var setupDefaultObjectValue = function setupDefaultObjectValue(defaultObject, da
|
|
|
92
93
|
}
|
|
93
94
|
return result;
|
|
94
95
|
};
|
|
95
|
-
|
|
96
|
+
const getDefaultValueFromConfig = (component, data) => {
|
|
96
97
|
if (!hasDefaultValue(component)) {
|
|
97
98
|
return null;
|
|
98
99
|
}
|
|
@@ -101,7 +102,7 @@ var getDefaultValueFromConfig = function getDefaultValueFromConfig(component, da
|
|
|
101
102
|
return getDefaultForDate(component, data);
|
|
102
103
|
default:
|
|
103
104
|
{
|
|
104
|
-
|
|
105
|
+
const defaultValue = component.defaultObjectValue ? setupDefaultObjectValue(component.defaultObjectValue, data) : null;
|
|
105
106
|
return defaultValue || component.defaultValue || null;
|
|
106
107
|
}
|
|
107
108
|
}
|
|
@@ -8,65 +8,65 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
8
8
|
|
|
9
9
|
// Local imports.
|
|
10
10
|
|
|
11
|
-
describe('utils.component.defaultValueFromConfig',
|
|
12
|
-
it('should return null if a component has no default value defined',
|
|
13
|
-
|
|
11
|
+
describe('utils.component.defaultValueFromConfig', () => {
|
|
12
|
+
it('should return null if a component has no default value defined', () => {
|
|
13
|
+
const result = (0, _getDefaultValueFromConfig.default)({}, {});
|
|
14
14
|
expect(result).toEqual(null);
|
|
15
15
|
});
|
|
16
|
-
it('should return a normal default value if one is defined',
|
|
17
|
-
|
|
16
|
+
it('should return a normal default value if one is defined', () => {
|
|
17
|
+
const COMPONENT = {
|
|
18
18
|
defaultValue: 'value'
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, {});
|
|
21
21
|
expect(result).toEqual('value');
|
|
22
22
|
});
|
|
23
|
-
it('should return an object default value if one is defined',
|
|
24
|
-
|
|
23
|
+
it('should return an object default value if one is defined', () => {
|
|
24
|
+
const COMPONENT = {
|
|
25
25
|
defaultObjectValue: {
|
|
26
26
|
alpha: 'one',
|
|
27
27
|
bravo: 'two'
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
-
|
|
30
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, {});
|
|
31
31
|
expect(result).toEqual({
|
|
32
32
|
alpha: 'one',
|
|
33
33
|
bravo: 'two'
|
|
34
34
|
});
|
|
35
35
|
});
|
|
36
|
-
it('should return the defaultObjectValue if both defaultObjectValue and defaultValue are defined',
|
|
37
|
-
|
|
36
|
+
it('should return the defaultObjectValue if both defaultObjectValue and defaultValue are defined', () => {
|
|
37
|
+
const COMPONENT = {
|
|
38
38
|
defaultValue: 'zero',
|
|
39
39
|
defaultObjectValue: {
|
|
40
40
|
alpha: 'one',
|
|
41
41
|
bravo: 'two'
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
|
|
44
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, {});
|
|
45
45
|
expect(result).toEqual({
|
|
46
46
|
alpha: 'one',
|
|
47
47
|
bravo: 'two'
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
-
it('should return an object default with interpolated fields if applicable',
|
|
51
|
-
|
|
50
|
+
it('should return an object default with interpolated fields if applicable', () => {
|
|
51
|
+
const COMPONENT = {
|
|
52
52
|
defaultObjectValue: {
|
|
53
53
|
alpha: 'testObject.testText',
|
|
54
54
|
bravo: 'testObject.testText'
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
const DATA = {
|
|
58
58
|
testObject: {
|
|
59
59
|
testText: 'value'
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, DATA);
|
|
63
63
|
expect(result).toEqual({
|
|
64
64
|
alpha: 'value',
|
|
65
65
|
bravo: 'value'
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
it('should allow specific sourced and literal object values to be defined',
|
|
69
|
-
|
|
68
|
+
it('should allow specific sourced and literal object values to be defined', () => {
|
|
69
|
+
const COMPONENT = {
|
|
70
70
|
defaultObjectValue: {
|
|
71
71
|
sourced: {
|
|
72
72
|
value1: 'field1.value',
|
|
@@ -78,7 +78,7 @@ describe('utils.component.defaultValueFromConfig', function () {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
};
|
|
81
|
-
|
|
81
|
+
const DATA = {
|
|
82
82
|
field1: {
|
|
83
83
|
value: 'sourced text 1'
|
|
84
84
|
},
|
|
@@ -86,7 +86,7 @@ describe('utils.component.defaultValueFromConfig', function () {
|
|
|
86
86
|
value: 'sourced text 2'
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, DATA);
|
|
90
90
|
expect(result).toMatchObject({
|
|
91
91
|
value1: 'sourced text 1',
|
|
92
92
|
value2: 'sourced text 2',
|
|
@@ -94,8 +94,8 @@ describe('utils.component.defaultValueFromConfig', function () {
|
|
|
94
94
|
value4: 'literal text 2'
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
|
-
it('should handle the skipIfSourceInvalid flag and return null if a sourced value cannot be found',
|
|
98
|
-
|
|
97
|
+
it('should handle the skipIfSourceInvalid flag and return null if a sourced value cannot be found', () => {
|
|
98
|
+
const COMPONENT = {
|
|
99
99
|
defaultObjectValue: {
|
|
100
100
|
skipIfSourceInvalid: true,
|
|
101
101
|
sourced: {
|
|
@@ -108,7 +108,7 @@ describe('utils.component.defaultValueFromConfig', function () {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
|
-
|
|
111
|
+
const DATA = {
|
|
112
112
|
field1: {
|
|
113
113
|
value: 'sourced text 1'
|
|
114
114
|
},
|
|
@@ -116,24 +116,24 @@ describe('utils.component.defaultValueFromConfig', function () {
|
|
|
116
116
|
value: 'sourced text 2'
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
|
-
|
|
119
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, DATA);
|
|
120
120
|
expect(result).toEqual(null);
|
|
121
121
|
});
|
|
122
|
-
describe('for a date component',
|
|
123
|
-
it('should return a normal default value',
|
|
124
|
-
|
|
122
|
+
describe('for a date component', () => {
|
|
123
|
+
it('should return a normal default value', () => {
|
|
124
|
+
const COMPONENT = {
|
|
125
125
|
type: _models.ComponentTypes.DATE,
|
|
126
126
|
defaultValue: '01-01-2000'
|
|
127
127
|
};
|
|
128
|
-
|
|
128
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, {});
|
|
129
129
|
expect(result).toEqual('01-01-2000');
|
|
130
130
|
});
|
|
131
|
-
it('should handle specific default values for date',
|
|
132
|
-
|
|
131
|
+
it('should handle specific default values for date', () => {
|
|
132
|
+
const COMPONENT = {
|
|
133
133
|
type: _models.ComponentTypes.DATE,
|
|
134
134
|
defaultValue: 'today'
|
|
135
135
|
};
|
|
136
|
-
|
|
136
|
+
const result = (0, _getDefaultValueFromConfig.default)(COMPONENT, {});
|
|
137
137
|
expect(result).toEqual((0, _dayjs.default)().format('DD-MM-YYYY'));
|
|
138
138
|
});
|
|
139
139
|
});
|
|
@@ -14,7 +14,7 @@ var _setupContainerComponentsPath = _interopRequireDefault(require("./setupConta
|
|
|
14
14
|
var _showComponent = _interopRequireDefault(require("./showComponent"));
|
|
15
15
|
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
17
|
+
const Component = {
|
|
18
18
|
clean: _cleanAttributes.default,
|
|
19
19
|
defaultValue: _getDefaultValue.default,
|
|
20
20
|
defaultValueFromConfig: _getDefaultValueFromConfig.default,
|
|
@@ -7,8 +7,6 @@ exports.default = exports.EDITABLE_TYPES = void 0;
|
|
|
7
7
|
var _models = require("../../models");
|
|
8
8
|
// Local imports
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return EDITABLE_TYPES.includes(options === null || options === void 0 ? void 0 : options.type) || (options === null || options === void 0 ? void 0 : options.isEditable) || false;
|
|
13
|
-
};
|
|
10
|
+
const EDITABLE_TYPES = exports.EDITABLE_TYPES = [_models.ComponentTypes.AUTOCOMPLETE, _models.ComponentTypes.CALCULATION, _models.ComponentTypes.CHECKBOXES, _models.ComponentTypes.COLLECTION_SUMMARY, _models.ComponentTypes.DATE, _models.ComponentTypes.EMAIL, _models.ComponentTypes.FILE, _models.ComponentTypes.MULTI_FILE, _models.ComponentTypes.PHONE_NUMBER, _models.ComponentTypes.RADIOS, _models.ComponentTypes.SELECT, _models.ComponentTypes.TEXT, _models.ComponentTypes.TEXT_AREA, _models.ComponentTypes.TIME];
|
|
11
|
+
const isEditable = options => EDITABLE_TYPES.includes(options === null || options === void 0 ? void 0 : options.type) || (options === null || options === void 0 ? void 0 : options.isEditable) || false;
|
|
14
12
|
var _default = exports.default = isEditable;
|
|
@@ -1,39 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
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); }
|
|
4
3
|
var _isEditable = _interopRequireWildcard(require("./isEditable"));
|
|
5
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
6
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
4
|
+
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); }
|
|
5
|
+
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 && {}.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
6
|
// Local imports
|
|
8
7
|
|
|
9
|
-
describe('utils',
|
|
10
|
-
describe('Component',
|
|
11
|
-
describe('isEditable',
|
|
12
|
-
_isEditable.EDITABLE_TYPES.forEach(
|
|
13
|
-
it("should return true for a type of '".concat(type, "'"),
|
|
14
|
-
|
|
15
|
-
type
|
|
8
|
+
describe('utils', () => {
|
|
9
|
+
describe('Component', () => {
|
|
10
|
+
describe('isEditable', () => {
|
|
11
|
+
_isEditable.EDITABLE_TYPES.forEach(type => {
|
|
12
|
+
it("should return true for a type of '".concat(type, "'"), () => {
|
|
13
|
+
const OPTIONS = {
|
|
14
|
+
type
|
|
16
15
|
};
|
|
17
16
|
expect((0, _isEditable.default)(OPTIONS)).toEqual(true);
|
|
18
17
|
});
|
|
19
18
|
});
|
|
20
|
-
it('should return false if options is undefined',
|
|
19
|
+
it('should return false if options is undefined', () => {
|
|
21
20
|
expect((0, _isEditable.default)(undefined)).toEqual(false);
|
|
22
21
|
});
|
|
23
|
-
it('should return false if options is null',
|
|
22
|
+
it('should return false if options is null', () => {
|
|
24
23
|
expect((0, _isEditable.default)(null)).toEqual(false);
|
|
25
24
|
});
|
|
26
|
-
it('should return false if options has no type',
|
|
25
|
+
it('should return false if options has no type', () => {
|
|
27
26
|
expect((0, _isEditable.default)({
|
|
28
27
|
bob: 'Bob'
|
|
29
28
|
})).toEqual(false);
|
|
30
29
|
});
|
|
31
|
-
it("should return false if options has a type of 'hidden'",
|
|
30
|
+
it("should return false if options has a type of 'hidden'", () => {
|
|
32
31
|
expect((0, _isEditable.default)({
|
|
33
32
|
type: 'hidden'
|
|
34
33
|
})).toEqual(false);
|
|
35
34
|
});
|
|
36
|
-
it("should return true if options has 'isEditable' set to true",
|
|
35
|
+
it("should return true if options has 'isEditable' set to true", () => {
|
|
37
36
|
expect((0, _isEditable.default)({
|
|
38
37
|
isEditable: true
|
|
39
38
|
})).toEqual(true);
|
|
@@ -12,7 +12,7 @@ exports.default = void 0;
|
|
|
12
12
|
*
|
|
13
13
|
* @returns A boolean of whether the option is selected.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
const optionIsSelected = (componentValue, option) => {
|
|
16
16
|
if (Array.isArray(componentValue)) {
|
|
17
17
|
return componentValue.includes(option.value);
|
|
18
18
|
}
|
|
@@ -4,23 +4,23 @@ var _optionIsSelected = _interopRequireDefault(require("./optionIsSelected"));
|
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
5
|
// Local imports
|
|
6
6
|
|
|
7
|
-
describe('utils.Component.isSelected',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
describe('utils.Component.isSelected', () => {
|
|
8
|
+
const SELECTED_VALUE = 'selectedValue';
|
|
9
|
+
const NOT_SELECTED_VALUE = 'notSelectedValue';
|
|
10
|
+
const OPTIONS = [{
|
|
11
11
|
value: SELECTED_VALUE
|
|
12
12
|
}, {
|
|
13
13
|
value: NOT_SELECTED_VALUE
|
|
14
14
|
}];
|
|
15
|
-
|
|
15
|
+
const COMPONENT = {
|
|
16
16
|
id: 'a',
|
|
17
17
|
fieldId: 'a',
|
|
18
18
|
data: {
|
|
19
19
|
options: OPTIONS
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
it('should properly identify which option is selected for checkboxes',
|
|
23
|
-
|
|
22
|
+
it('should properly identify which option is selected for checkboxes', () => {
|
|
23
|
+
const PAGE = {
|
|
24
24
|
formData: {
|
|
25
25
|
a: [SELECTED_VALUE]
|
|
26
26
|
}
|
|
@@ -29,8 +29,8 @@ describe('utils.Component.isSelected', function () {
|
|
|
29
29
|
expect((0, _optionIsSelected.default)(PAGE.formData[COMPONENT.id], OPTIONS[0])).toEqual(true);
|
|
30
30
|
expect((0, _optionIsSelected.default)(PAGE.formData[COMPONENT.id], OPTIONS[1])).toEqual(false);
|
|
31
31
|
});
|
|
32
|
-
it('should properly identify which option is selected for radios',
|
|
33
|
-
|
|
32
|
+
it('should properly identify which option is selected for radios', () => {
|
|
33
|
+
const PAGE = {
|
|
34
34
|
formData: {
|
|
35
35
|
a: SELECTED_VALUE
|
|
36
36
|
}
|
|
@@ -5,35 +5,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _showComponentCYA = require("../CheckYourAnswers/showComponentCYA");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
components: component.components.map(function (c) {
|
|
20
|
-
if (!_showComponentCYA.EXCLUDE_FROM_CYA.includes(c.type)) {
|
|
21
|
-
return _objectSpread(_objectSpread({}, c), !c.full_path && {
|
|
8
|
+
const setupContainerComponentsPath = container => ({
|
|
9
|
+
...container,
|
|
10
|
+
components: container.components.map(component => {
|
|
11
|
+
if (Array.isArray(component.components)) {
|
|
12
|
+
return {
|
|
13
|
+
...component,
|
|
14
|
+
components: component.components.map(c => {
|
|
15
|
+
if (!_showComponentCYA.EXCLUDE_FROM_CYA.includes(c.type)) {
|
|
16
|
+
return {
|
|
17
|
+
...c,
|
|
18
|
+
...(!c.full_path && {
|
|
22
19
|
full_path: "".concat(component.full_path || "".concat(container.full_path, ".").concat(component.fieldId), ".").concat(c.fieldId)
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
})
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
;
|
|
24
|
+
return null;
|
|
25
|
+
}).filter(c => !!c)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
;
|
|
29
|
+
return {
|
|
30
|
+
...component,
|
|
31
|
+
...(!component.full_path && {
|
|
34
32
|
full_path: "".concat(container.full_path || container.fieldId, ".").concat(component.fieldId)
|
|
35
|
-
})
|
|
36
|
-
}
|
|
37
|
-
})
|
|
38
|
-
};
|
|
33
|
+
})
|
|
34
|
+
};
|
|
35
|
+
})
|
|
36
|
+
});
|
|
39
37
|
var _default = exports.default = setupContainerComponentsPath;
|
|
@@ -3,28 +3,28 @@
|
|
|
3
3
|
var _setupTests = require("../../setupTests");
|
|
4
4
|
var _setupContainerComponentsPath = _interopRequireDefault(require("./setupContainerComponentsPath"));
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
describe('utils.CheckYourAnswers.setupContainerComponentsPath',
|
|
7
|
-
it('should setup the full_path attribute for components within a container',
|
|
8
|
-
|
|
6
|
+
describe('utils.CheckYourAnswers.setupContainerComponentsPath', () => {
|
|
7
|
+
it('should setup the full_path attribute for components within a container', () => {
|
|
8
|
+
const COMPONENT_1 = {
|
|
9
9
|
id: 'checkboxes1',
|
|
10
10
|
fieldId: 'checkboxes1',
|
|
11
11
|
type: 'checkboxes',
|
|
12
12
|
label: 'Alpha'
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
const COMPONENT_2 = {
|
|
15
15
|
id: 'checkboxes2',
|
|
16
16
|
fieldId: 'checkboxes2',
|
|
17
17
|
type: 'checkboxes',
|
|
18
18
|
label: 'Bravo'
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
const CONTAINER = {
|
|
21
21
|
id: 'test-container',
|
|
22
22
|
fieldId: 'test-container',
|
|
23
23
|
type: 'container',
|
|
24
24
|
full_path: 'test-container',
|
|
25
25
|
components: [COMPONENT_1, COMPONENT_2]
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
const container = (0, _setupContainerComponentsPath.default)(CONTAINER);
|
|
28
28
|
(0, _setupTests.expectObjectLike)(container.components[0], {
|
|
29
29
|
id: COMPONENT_1.id,
|
|
30
30
|
fieldId: COMPONENT_1.fieldId,
|
|
@@ -40,26 +40,26 @@ describe('utils.CheckYourAnswers.setupContainerComponentsPath', function () {
|
|
|
40
40
|
label: COMPONENT_2.label
|
|
41
41
|
});
|
|
42
42
|
});
|
|
43
|
-
it('should setup the full_path attribute for components when the container full_path property is missing',
|
|
44
|
-
|
|
43
|
+
it('should setup the full_path attribute for components when the container full_path property is missing', () => {
|
|
44
|
+
const COMPONENT_1 = {
|
|
45
45
|
id: 'checkboxes1',
|
|
46
46
|
fieldId: 'checkboxes1',
|
|
47
47
|
type: 'checkboxes',
|
|
48
48
|
label: 'Alpha'
|
|
49
49
|
};
|
|
50
|
-
|
|
50
|
+
const COMPONENT_2 = {
|
|
51
51
|
id: 'checkboxes2',
|
|
52
52
|
fieldId: 'checkboxes2',
|
|
53
53
|
type: 'checkboxes',
|
|
54
54
|
label: 'Bravo'
|
|
55
55
|
};
|
|
56
|
-
|
|
56
|
+
const CONTAINER = {
|
|
57
57
|
id: 'test-container',
|
|
58
58
|
fieldId: 'test-container',
|
|
59
59
|
type: 'container',
|
|
60
60
|
components: [COMPONENT_1, COMPONENT_2]
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
const container = (0, _setupContainerComponentsPath.default)(CONTAINER);
|
|
63
63
|
(0, _setupTests.expectObjectLike)(container.components[0], {
|
|
64
64
|
id: COMPONENT_1.id,
|
|
65
65
|
fieldId: COMPONENT_1.fieldId,
|
|
@@ -8,7 +8,7 @@ var _Condition = _interopRequireDefault(require("../Condition"));
|
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
9
|
// Local imports
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
const showComponent = (component, data) => {
|
|
12
12
|
var _component$show_when;
|
|
13
13
|
if (!component) {
|
|
14
14
|
return false;
|