@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.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 +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +66 -75
- package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
- package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
- package/dist/components/CollectionSummary/Confirmation.js +13 -15
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +63 -46
- package/dist/components/CollectionSummary/RenderListView.scss +9 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +120 -84
- package/dist/components/CollectionSummary/SummaryCard.js +157 -121
- package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
- package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +117 -80
- package/dist/components/FormComponent/Collection.test.js +1082 -910
- package/dist/components/FormComponent/Container.js +38 -43
- package/dist/components/FormComponent/Container.test.js +411 -379
- package/dist/components/FormComponent/FormComponent.js +74 -71
- package/dist/components/FormComponent/FormComponent.test.js +415 -354
- 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 +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +87 -71
- package/dist/components/FormPage/FormPage.test.js +170 -133
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +198 -153
- package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +54 -61
- package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
- package/dist/components/FormRenderer/onPageAction.js +41 -45
- package/dist/components/FormRenderer/onPageAction.test.js +210 -225
- package/dist/components/FormRenderer/onTaskAction.js +15 -11
- package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
- package/dist/components/PageActions/ActionButton.js +16 -13
- package/dist/components/PageActions/ActionButton.test.js +79 -57
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +116 -87
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +21 -13
- package/dist/components/SummaryList/GroupAction.test.js +37 -41
- package/dist/components/SummaryList/RowAction.js +17 -12
- package/dist/components/SummaryList/RowAction.test.js +37 -41
- package/dist/components/SummaryList/SummaryList.js +28 -23
- package/dist/components/SummaryList/SummaryList.test.js +206 -179
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
- package/dist/components/SummaryList/SummaryListRow.js +6 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +30 -20
- package/dist/components/TaskList/Task.test.js +77 -84
- package/dist/components/TaskList/TaskList.js +84 -53
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +6 -8
- package/dist/components/TaskList/TaskState.test.js +49 -56
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +81 -58
- package/dist/context/HooksContext/HooksContext.test.js +36 -27
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +95 -44
- package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +11 -10
- package/dist/hooks/useAxios.js +41 -15
- package/dist/hooks/useGetRequest.js +98 -62
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +41 -28
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +15 -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 +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +32 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
- package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +22 -21
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
- package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +20 -19
- package/dist/utils/Component/applyToComponentTree.test.js +33 -28
- 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 +34 -34
- package/dist/utils/Component/getComponent.js +97 -90
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
- package/dist/utils/Component/getDefaultValue.js +9 -7
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +4 -2
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +4 -3
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +31 -20
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +19 -14
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +6 -4
- package/dist/utils/Container/getEditableComponents.test.js +46 -44
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +22 -16
- package/dist/utils/Container/setupNesting.test.js +31 -28
- package/dist/utils/Container/showContainer.js +8 -4
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +50 -40
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +8 -4
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +29 -20
- package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
- package/dist/utils/Data/getDataPath.js +30 -20
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +34 -27
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +81 -85
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +15 -11
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +22 -14
- package/dist/utils/Data/setupFormData.test.js +51 -52
- package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
- package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +17 -16
- package/dist/utils/FormPage/getFormPage.test.js +48 -49
- package/dist/utils/FormPage/getFormPages.js +13 -8
- package/dist/utils/FormPage/getFormPages.test.js +25 -22
- package/dist/utils/FormPage/getPageActions.js +17 -10
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +5 -3
- package/dist/utils/FormPage/showFormPage.js +8 -4
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +80 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +7 -6
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +17 -14
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +32 -29
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +4 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +53 -47
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +21 -23
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +37 -36
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +28 -22
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +5 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +14 -9
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +40 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
- package/dist/utils/Validate/additional/utils.js +24 -11
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +27 -21
- package/dist/utils/Validate/validateCollection.test.js +77 -85
- package/dist/utils/Validate/validateComponent.js +23 -22
- package/dist/utils/Validate/validateComponent.test.js +165 -188
- package/dist/utils/Validate/validateContainer.js +21 -16
- package/dist/utils/Validate/validateContainer.test.js +56 -62
- package/dist/utils/Validate/validateDate.js +23 -17
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +9 -7
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +24 -20
- package/dist/utils/Validate/validatePage.test.js +215 -227
- package/dist/utils/Validate/validateRegex.js +8 -5
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +7 -5
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +7 -5
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +19 -12
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +10 -8
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../../models");
|
|
8
8
|
var _utils = _interopRequireDefault(require("../../../utils"));
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
// Local imports
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -15,7 +15,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
15
15
|
* @param {object} hub The hub, if there is one.
|
|
16
16
|
* @returns A configuration object for the Check your answers screen.
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
var getCYA = function getCYA(pageId, pages, hub) {
|
|
19
19
|
if (pageId === _models.FormPages.HUB && hub === _models.HubFormats.CYA) {
|
|
20
20
|
return {
|
|
21
21
|
title: ''
|
|
@@ -26,9 +26,11 @@ const getCYA = (pageId, pages, hub) => {
|
|
|
26
26
|
return {};
|
|
27
27
|
}
|
|
28
28
|
;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
var currentPage = pages === null || pages === void 0 ? void 0 : pages.find(function (p) {
|
|
30
|
+
return p.id === pageId;
|
|
31
|
+
});
|
|
32
|
+
if ((currentPage === null || currentPage === void 0 ? void 0 : currentPage.type) === _models.FormPages.PARTIAL_CYA) {
|
|
33
|
+
var pageWithConditionals = _utils.default.FormPage.applyConditionalProperties(currentPage);
|
|
32
34
|
return {
|
|
33
35
|
title: pageWithConditionals.title,
|
|
34
36
|
hideChangeActions: pageWithConditionals.hideChangeActions,
|
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getCYA = _interopRequireDefault(require("./getCYA"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
var HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
describe('getCYA', ()
|
|
16
|
-
it('should give an empty object if the pageId is "CYA"', ()
|
|
15
|
+
describe('getCYA', function () {
|
|
16
|
+
it('should give an empty object if the pageId is "CYA"', function () {
|
|
17
17
|
expect((0, _getCYA.default)(_models.FormPages.CYA)).toEqual({});
|
|
18
18
|
});
|
|
19
|
-
it('should give an object with a blank title if the pageId is "hub" and the hub is the CYA', ()
|
|
19
|
+
it('should give an object with a blank title if the pageId is "hub" and the hub is the CYA', function () {
|
|
20
20
|
expect((0, _getCYA.default)(_models.FormPages.HUB, [], _models.HubFormats.CYA)).toEqual({
|
|
21
21
|
title: ''
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
|
-
it('should give undefined if pageId is "hub" and the hub is NOT the CYA', ()
|
|
24
|
+
it('should give undefined if pageId is "hub" and the hub is NOT the CYA', function () {
|
|
25
25
|
expect((0, _getCYA.default)(_models.FormPages.HUB, [], HUB)).toBeUndefined();
|
|
26
26
|
});
|
|
27
|
-
it('should give undefined if pageId is NOT "hub" and the hub is NOT the CYA', ()
|
|
27
|
+
it('should give undefined if pageId is NOT "hub" and the hub is NOT the CYA', function () {
|
|
28
28
|
expect((0, _getCYA.default)(_models.FormPages.HUB, [], HUB)).toBeUndefined();
|
|
29
29
|
});
|
|
30
|
-
it('should give undefined if pageId is NOT "hub" and the hub is the CYA', ()
|
|
30
|
+
it('should give undefined if pageId is NOT "hub" and the hub is the CYA', function () {
|
|
31
31
|
expect((0, _getCYA.default)('bob', [], _models.HubFormats.CYA)).toBeUndefined();
|
|
32
32
|
});
|
|
33
|
-
it('should return an object with a title if the current page has type partial-cya', ()
|
|
33
|
+
it('should return an object with a title if the current page has type partial-cya', function () {
|
|
34
34
|
expect((0, _getCYA.default)('pageId', [{
|
|
35
35
|
id: 'pageId',
|
|
36
36
|
type: 'partial-cya',
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getCYA = _interopRequireDefault(require("./getCYA"));
|
|
8
8
|
var _getPage = _interopRequireDefault(require("./getPage"));
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
// Local imports
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -16,9 +16,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
16
16
|
* @param {object} hub The hub, if there is one.
|
|
17
17
|
* @returns The current state of the form.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
var getFormState = function getFormState(pageId, pages, hub) {
|
|
20
|
+
return {
|
|
21
|
+
pageId: pageId,
|
|
22
|
+
cya: (0, _getCYA.default)(pageId, pages, hub),
|
|
23
|
+
page: (0, _getPage.default)(pageId, pages, hub)
|
|
24
|
+
};
|
|
25
|
+
};
|
|
24
26
|
var _default = exports.default = getFormState;
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getFormState = _interopRequireDefault(require("./getFormState"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
var HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
var PAGES = [{
|
|
16
16
|
id: 'alpha',
|
|
17
17
|
components: ['x']
|
|
18
18
|
}, {
|
|
19
19
|
id: 'bravo',
|
|
20
20
|
components: ['y', 'z']
|
|
21
21
|
}, HUB];
|
|
22
|
-
describe('getFormState', ()
|
|
23
|
-
it('should set up accordingly when viewing a hub that is the CYA', ()
|
|
22
|
+
describe('getFormState', function () {
|
|
23
|
+
it('should set up accordingly when viewing a hub that is the CYA', function () {
|
|
24
24
|
expect((0, _getFormState.default)(_models.FormPages.HUB, PAGES, _models.HubFormats.CYA)).toEqual({
|
|
25
25
|
pageId: _models.FormPages.HUB,
|
|
26
26
|
cya: {
|
|
@@ -29,21 +29,21 @@ describe('components', () => {
|
|
|
29
29
|
page: undefined
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
|
-
it('should set up accordingly when viewing a hub that is NOT the CYA', ()
|
|
32
|
+
it('should set up accordingly when viewing a hub that is NOT the CYA', function () {
|
|
33
33
|
expect((0, _getFormState.default)(_models.FormPages.HUB, PAGES, HUB)).toEqual({
|
|
34
34
|
pageId: _models.FormPages.HUB,
|
|
35
35
|
cya: undefined,
|
|
36
36
|
page: HUB
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
it('should set up accordingly when viewing the CYA', ()
|
|
39
|
+
it('should set up accordingly when viewing the CYA', function () {
|
|
40
40
|
expect((0, _getFormState.default)(_models.FormPages.CYA, PAGES, HUB)).toEqual({
|
|
41
41
|
pageId: _models.FormPages.CYA,
|
|
42
42
|
cya: {},
|
|
43
43
|
page: undefined
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
|
-
it('should set up accordingly when viewing a standard page', ()
|
|
46
|
+
it('should set up accordingly when viewing a standard page', function () {
|
|
47
47
|
expect((0, _getFormState.default)('bravo', PAGES, HUB)).toEqual({
|
|
48
48
|
pageId: 'bravo',
|
|
49
49
|
cya: undefined,
|
|
@@ -6,12 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../../models");
|
|
8
8
|
var _FormPage = _interopRequireDefault(require("../../../utils/FormPage"));
|
|
9
|
-
function _interopRequireDefault(
|
|
10
|
-
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
var getNextHubPageId = function getNextHubPageId(action, currentPageId, pages, formData, formType) {
|
|
11
|
+
var _action$pages;
|
|
11
12
|
if (!currentPageId && formType === _models.FormTypes.FORM_WITH_TASK) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
var _formData$formStatus;
|
|
14
|
+
if (formData !== null && formData !== void 0 && (_formData$formStatus = formData.formStatus) !== null && _formData$formStatus !== void 0 && _formData$formStatus.taskPage) {
|
|
15
|
+
var currentPage = pages.find(function (page) {
|
|
16
|
+
return page.id === formData.formStatus.taskPage;
|
|
17
|
+
});
|
|
18
|
+
if ((currentPage === null || currentPage === void 0 ? void 0 : currentPage.type) === 'pre-task-list') {
|
|
15
19
|
return currentPage.id;
|
|
16
20
|
}
|
|
17
21
|
;
|
|
@@ -21,8 +25,8 @@ const getNextHubPageId = (action, currentPageId, pages, formData, formType) => {
|
|
|
21
25
|
return pages.length > 0 ? pages[0].id : undefined;
|
|
22
26
|
}
|
|
23
27
|
;
|
|
24
|
-
|
|
25
|
-
action
|
|
28
|
+
var nextPage;
|
|
29
|
+
action === null || action === void 0 || (_action$pages = action.pages) === null || _action$pages === void 0 || _action$pages.forEach(function (page) {
|
|
26
30
|
if (_FormPage.default.show({
|
|
27
31
|
show_when: page.show_when
|
|
28
32
|
}, formData)) {
|
|
@@ -30,26 +34,36 @@ const getNextHubPageId = (action, currentPageId, pages, formData, formType) => {
|
|
|
30
34
|
}
|
|
31
35
|
;
|
|
32
36
|
});
|
|
33
|
-
return nextPage || action
|
|
37
|
+
return nextPage || (action === null || action === void 0 ? void 0 : action.page) || _models.FormPages.HUB;
|
|
34
38
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
var getNextWizardPageId = function getNextWizardPageId(pages, currentPageId, formData) {
|
|
40
|
+
var _page;
|
|
41
|
+
var nextIndex = pages.findIndex(function (p) {
|
|
42
|
+
return p.id === currentPageId;
|
|
43
|
+
}) + 1;
|
|
44
|
+
var page = pages[nextIndex];
|
|
38
45
|
while (page && !_FormPage.default.show(page, formData)) {
|
|
39
46
|
nextIndex += 1;
|
|
40
47
|
page = pages[nextIndex];
|
|
41
48
|
}
|
|
42
49
|
;
|
|
43
|
-
return page
|
|
50
|
+
return ((_page = page) === null || _page === void 0 ? void 0 : _page.id) || undefined;
|
|
44
51
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
var getNextCYAPageId = function getNextCYAPageId(pages, currentPageId, formData) {
|
|
53
|
+
return getNextWizardPageId(pages, currentPageId, formData) || _models.FormPages.CYA;
|
|
54
|
+
};
|
|
55
|
+
var getNextFormPageId = function getNextFormPageId(pages) {
|
|
56
|
+
return (
|
|
57
|
+
// A form has a single page... so always return that id.
|
|
58
|
+
pages.length > 0 ? pages[0].id : undefined
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
var getNextPageId = function getNextPageId(formType, pages, currentPageId, action, formData) {
|
|
50
62
|
if (action) {
|
|
51
63
|
if (action.type === _models.PageAction.TYPES.NAVIGATE) {
|
|
52
|
-
return pages.find(
|
|
64
|
+
return pages.find(function (p) {
|
|
65
|
+
return p.id === action.page;
|
|
66
|
+
}) ? action.page : undefined;
|
|
53
67
|
}
|
|
54
68
|
if (action.type === _models.PageAction.TYPES.SAVE_AND_RETURN) {
|
|
55
69
|
return formType === _models.FormTypes.HUB ? _models.FormPages.HUB : undefined;
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
describe('getNextPageId', ()
|
|
12
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
describe('getNextPageId', function () {
|
|
12
|
+
var OPTIONS = [{
|
|
13
13
|
value: 'romeo',
|
|
14
14
|
label: 'Romeo'
|
|
15
15
|
}, {
|
|
16
16
|
value: 'juliet',
|
|
17
17
|
label: 'Juliet'
|
|
18
18
|
}];
|
|
19
|
-
|
|
19
|
+
var RADIOS = {
|
|
20
20
|
id: 'radios',
|
|
21
21
|
fieldId: 'radios',
|
|
22
22
|
type: _models.ComponentTypes.RADIOS,
|
|
@@ -24,29 +24,29 @@ describe('components', () => {
|
|
|
24
24
|
options: OPTIONS
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
var TEXT = {
|
|
28
28
|
id: 'text',
|
|
29
29
|
fieldId: 'text',
|
|
30
30
|
type: _models.ComponentTypes.TEXT
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
var HTML = {
|
|
33
33
|
type: _models.ComponentTypes.HTML,
|
|
34
34
|
content: 'HTML'
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
var SHOW_WHEN_JULIET = {
|
|
37
37
|
field: RADIOS.fieldId,
|
|
38
38
|
op: '=',
|
|
39
39
|
value: OPTIONS[1].value
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
var SHOW_WHEN_ROMEO = {
|
|
42
42
|
field: RADIOS.fieldId,
|
|
43
43
|
op: '=',
|
|
44
44
|
value: OPTIONS[0].value
|
|
45
45
|
};
|
|
46
|
-
|
|
46
|
+
var FORM_DATA = {
|
|
47
47
|
radios: OPTIONS[0].value
|
|
48
48
|
}; // 'romeo'
|
|
49
|
-
|
|
49
|
+
var PAGES = [{
|
|
50
50
|
id: 'alpha'
|
|
51
51
|
}, {
|
|
52
52
|
id: 'bravo'
|
|
@@ -65,88 +65,88 @@ describe('components', () => {
|
|
|
65
65
|
components: [TEXT],
|
|
66
66
|
show_when: SHOW_WHEN_ROMEO
|
|
67
67
|
}];
|
|
68
|
-
describe(
|
|
69
|
-
it('should return undefined if the action has no page property', ()
|
|
70
|
-
|
|
68
|
+
describe("when the action type is '".concat(_models.PageAction.TYPES.NAVIGATE, "'"), function () {
|
|
69
|
+
it('should return undefined if the action has no page property', function () {
|
|
70
|
+
var ACTION = {
|
|
71
71
|
type: _models.PageAction.TYPES.NAVIGATE
|
|
72
72
|
};
|
|
73
73
|
expect((0, _getNextPageId.default)(_models.FormTypes.HUB, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toBeUndefined();
|
|
74
74
|
});
|
|
75
|
-
it('should return the page on the action if it exists among the pages', ()
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
it('should return the page on the action if it exists among the pages', function () {
|
|
76
|
+
var PAGE = PAGES[1].id;
|
|
77
|
+
var ACTION = {
|
|
78
78
|
type: _models.PageAction.TYPES.NAVIGATE,
|
|
79
79
|
page: PAGE
|
|
80
80
|
};
|
|
81
81
|
expect((0, _getNextPageId.default)(_models.FormTypes.HUB, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toEqual(PAGE);
|
|
82
82
|
});
|
|
83
|
-
it('should return undefined if the page on the action does not exist among the pages', ()
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
it('should return undefined if the page on the action does not exist among the pages', function () {
|
|
84
|
+
var PAGE = 'golf';
|
|
85
|
+
var ACTION = {
|
|
86
86
|
type: _models.PageAction.TYPES.NAVIGATE,
|
|
87
87
|
page: PAGE
|
|
88
88
|
};
|
|
89
89
|
expect((0, _getNextPageId.default)(_models.FormTypes.HUB, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toBeUndefined();
|
|
90
90
|
});
|
|
91
91
|
});
|
|
92
|
-
describe(
|
|
93
|
-
|
|
94
|
-
it(
|
|
92
|
+
describe("when the form type is '".concat(_models.FormTypes.HUB, "'"), function () {
|
|
93
|
+
var FORM_TYPE = _models.FormTypes.HUB;
|
|
94
|
+
it("should return '".concat(_models.FormPages.HUB, "' by default"), function () {
|
|
95
95
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(_models.FormPages.HUB);
|
|
96
96
|
});
|
|
97
|
-
it(
|
|
98
|
-
|
|
97
|
+
it("should return '".concat(_models.FormPages.HUB, "' if the action is '").concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
98
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
99
99
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toEqual(_models.FormPages.HUB);
|
|
100
100
|
});
|
|
101
|
-
it('should return action.page if specified', ()
|
|
102
|
-
|
|
101
|
+
it('should return action.page if specified', function () {
|
|
102
|
+
var ACTION = {
|
|
103
103
|
page: 'bob'
|
|
104
104
|
};
|
|
105
105
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, undefined, ACTION, FORM_DATA)).toEqual(ACTION.page);
|
|
106
106
|
});
|
|
107
107
|
});
|
|
108
|
-
describe(
|
|
109
|
-
|
|
110
|
-
it('should return the first page by default', ()
|
|
108
|
+
describe("when the form type is '".concat(_models.FormTypes.CYA, "'"), function () {
|
|
109
|
+
var FORM_TYPE = _models.FormTypes.CYA;
|
|
110
|
+
it('should return the first page by default', function () {
|
|
111
111
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(PAGES[0].id);
|
|
112
112
|
});
|
|
113
|
-
it('should return the second page when on the first page', ()
|
|
113
|
+
it('should return the second page when on the first page', function () {
|
|
114
114
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id)).toEqual(PAGES[1].id);
|
|
115
115
|
});
|
|
116
|
-
it('should return the third page when on the second page', ()
|
|
116
|
+
it('should return the third page when on the second page', function () {
|
|
117
117
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[1].id)).toEqual(PAGES[2].id);
|
|
118
118
|
});
|
|
119
|
-
it(
|
|
119
|
+
it("should return the fifth page when on the third page because the fourth page show_when is not met", function () {
|
|
120
120
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[2].id, _models.PageAction.DEFAULTS.saveAndContinue, FORM_DATA)).toEqual(PAGES[4].id);
|
|
121
121
|
});
|
|
122
|
-
it(
|
|
122
|
+
it("should return the sixth page when on the fifth page because the sixth page show_when is met", function () {
|
|
123
123
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[4].id, _models.PageAction.DEFAULTS.saveAndContinue, FORM_DATA)).toEqual(PAGES[5].id);
|
|
124
124
|
});
|
|
125
|
-
it(
|
|
126
|
-
|
|
125
|
+
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
126
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
127
127
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toBeUndefined();
|
|
128
128
|
});
|
|
129
129
|
});
|
|
130
|
-
describe(
|
|
131
|
-
|
|
132
|
-
it('should return the first page by default', ()
|
|
130
|
+
describe("when the form type is '".concat(_models.FormTypes.WIZARD, "'"), function () {
|
|
131
|
+
var FORM_TYPE = _models.FormTypes.WIZARD;
|
|
132
|
+
it('should return the first page by default', function () {
|
|
133
133
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(PAGES[0].id);
|
|
134
134
|
});
|
|
135
|
-
it('should return the second page when on the first page', ()
|
|
135
|
+
it('should return the second page when on the first page', function () {
|
|
136
136
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id)).toEqual(PAGES[1].id);
|
|
137
137
|
});
|
|
138
|
-
it('should return undefined when on the last page', ()
|
|
138
|
+
it('should return undefined when on the last page', function () {
|
|
139
139
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[PAGES.length - 1].id)).toBeUndefined();
|
|
140
140
|
});
|
|
141
|
-
it(
|
|
142
|
-
|
|
141
|
+
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
142
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
143
143
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION)).toBeUndefined();
|
|
144
144
|
});
|
|
145
145
|
});
|
|
146
|
-
describe(
|
|
147
|
-
|
|
148
|
-
it(
|
|
149
|
-
|
|
146
|
+
describe("when the form type is '".concat(_models.FormTypes.FORM, "'"), function () {
|
|
147
|
+
var FORM_TYPE = _models.FormTypes.FORM;
|
|
148
|
+
it("should always return the first page if there any pages and the action is not '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
149
|
+
var ACTION = {
|
|
150
150
|
type: _models.PageAction.TYPES.SUBMIT,
|
|
151
151
|
nextPageId: 'bob'
|
|
152
152
|
};
|
|
@@ -155,23 +155,23 @@ describe('components', () => {
|
|
|
155
155
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[1].id)).toEqual(PAGES[0].id);
|
|
156
156
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION)).toEqual(PAGES[0].id);
|
|
157
157
|
});
|
|
158
|
-
it(
|
|
159
|
-
|
|
158
|
+
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
159
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
160
160
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION)).toBeUndefined();
|
|
161
161
|
});
|
|
162
|
-
it('should return undefined if there are no pages', ()
|
|
162
|
+
it('should return undefined if there are no pages', function () {
|
|
163
163
|
expect((0, _getNextPageId.default)(FORM_TYPE, [])).toBeUndefined();
|
|
164
164
|
});
|
|
165
165
|
});
|
|
166
|
-
describe(
|
|
167
|
-
|
|
168
|
-
it(
|
|
166
|
+
describe("when the form type is '".concat(_models.FormTypes.TASK, "'"), function () {
|
|
167
|
+
var FORM_TYPE = _models.FormTypes.TASK;
|
|
168
|
+
it("should return '".concat(_models.FormPages.HUB, "' by default"), function () {
|
|
169
169
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(_models.FormPages.HUB);
|
|
170
170
|
});
|
|
171
171
|
});
|
|
172
|
-
describe(
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
describe("when the form type is '".concat(_models.FormTypes.FORM_WITH_TASK, "'"), function () {
|
|
173
|
+
var FORM_TYPE = _models.FormTypes.FORM_WITH_TASK;
|
|
174
|
+
var FORM_WITH_TASK_PAGES = [{
|
|
175
175
|
id: 'alpha',
|
|
176
176
|
'actions': [{
|
|
177
177
|
'type': 'saveAndNavigate',
|
|
@@ -214,24 +214,24 @@ describe('components', () => {
|
|
|
214
214
|
}, {
|
|
215
215
|
id: 'foxtrot'
|
|
216
216
|
}];
|
|
217
|
-
it(
|
|
217
|
+
it("should return the first page by default", function () {
|
|
218
218
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(FORM_WITH_TASK_PAGES[0].id);
|
|
219
219
|
});
|
|
220
|
-
it(
|
|
220
|
+
it("should then return the second page", function () {
|
|
221
221
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, FORM_WITH_TASK_PAGES[0].id, FORM_WITH_TASK_PAGES[0].actions[0])).toEqual(FORM_WITH_TASK_PAGES[1].id);
|
|
222
222
|
});
|
|
223
|
-
it(
|
|
223
|
+
it("should then move to the next page based on the form data", function () {
|
|
224
224
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, FORM_WITH_TASK_PAGES[1].id, FORM_WITH_TASK_PAGES[1].actions[0], {
|
|
225
225
|
fieldOne: 'valueOne'
|
|
226
226
|
})).toEqual(FORM_WITH_TASK_PAGES[2].id);
|
|
227
227
|
});
|
|
228
|
-
it(
|
|
228
|
+
it("should then move to the other page based on the form data", function () {
|
|
229
229
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, FORM_WITH_TASK_PAGES[1].id, FORM_WITH_TASK_PAGES[1].actions[0], {
|
|
230
230
|
fieldOne: 'valueTwo'
|
|
231
231
|
})).toEqual(FORM_WITH_TASK_PAGES[3].id);
|
|
232
232
|
});
|
|
233
|
-
it(
|
|
234
|
-
|
|
233
|
+
it("should take the user to the hub if they saved and returned mid task", function () {
|
|
234
|
+
var EXIT_MID_TASK_PAGES = [{
|
|
235
235
|
id: 'alpha',
|
|
236
236
|
type: 'pre-task-list'
|
|
237
237
|
}, {
|
|
@@ -250,15 +250,15 @@ describe('components', () => {
|
|
|
250
250
|
id: 'foxtrot',
|
|
251
251
|
components: [TEXT]
|
|
252
252
|
}];
|
|
253
|
-
|
|
253
|
+
var EXIT_MID_TASK_DATA = {
|
|
254
254
|
formStatus: {
|
|
255
255
|
taskPage: 'charlie'
|
|
256
256
|
}
|
|
257
257
|
};
|
|
258
258
|
expect((0, _getNextPageId.default)(FORM_TYPE, EXIT_MID_TASK_PAGES, undefined, undefined, EXIT_MID_TASK_DATA)).toEqual(_models.FormPages.HUB);
|
|
259
259
|
});
|
|
260
|
-
it('should take the user to the pre task page if they saved and exited before reaching the task list', ()
|
|
261
|
-
|
|
260
|
+
it('should take the user to the pre task page if they saved and exited before reaching the task list', function () {
|
|
261
|
+
var EXIT_MID_TASK_PAGES = [{
|
|
262
262
|
id: 'alpha',
|
|
263
263
|
type: 'pre-task-list'
|
|
264
264
|
}, {
|
|
@@ -277,7 +277,7 @@ describe('components', () => {
|
|
|
277
277
|
id: 'foxtrot',
|
|
278
278
|
components: [TEXT]
|
|
279
279
|
}];
|
|
280
|
-
|
|
280
|
+
var EXIT_PRE_TASK_DATA = {
|
|
281
281
|
formStatus: {
|
|
282
282
|
taskPage: 'bravo'
|
|
283
283
|
}
|
|
@@ -14,12 +14,14 @@ var _models = require("../../../models");
|
|
|
14
14
|
* @param {object} hub The hub, if there is one.
|
|
15
15
|
* @returns The current page to render.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
var getPage = function getPage(pageId, pages, hub) {
|
|
18
18
|
if (pageId) {
|
|
19
19
|
if (pageId === _models.FormPages.HUB) {
|
|
20
20
|
return hub === _models.HubFormats.CYA || hub === _models.HubFormats.TASK ? undefined : hub;
|
|
21
21
|
}
|
|
22
|
-
return pages.find(
|
|
22
|
+
return pages.find(function (p) {
|
|
23
|
+
return p.id === pageId;
|
|
24
|
+
});
|
|
23
25
|
}
|
|
24
26
|
return undefined;
|
|
25
27
|
};
|
|
@@ -2,40 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getPage = _interopRequireDefault(require("./getPage"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
var HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
var PAGES = [{
|
|
16
16
|
id: 'alpha',
|
|
17
17
|
components: ['x']
|
|
18
18
|
}, {
|
|
19
19
|
id: 'bravo',
|
|
20
20
|
components: ['y', 'z']
|
|
21
21
|
}, HUB];
|
|
22
|
-
describe('getPage', ()
|
|
23
|
-
it('should give undefined if the pageId is undefined', ()
|
|
22
|
+
describe('getPage', function () {
|
|
23
|
+
it('should give undefined if the pageId is undefined', function () {
|
|
24
24
|
expect((0, _getPage.default)(undefined, PAGES, _models.HubFormats.CYA)).toBeUndefined();
|
|
25
25
|
});
|
|
26
|
-
it('should give undefined if the pageId is "hub" but the hub is the CYA', ()
|
|
26
|
+
it('should give undefined if the pageId is "hub" but the hub is the CYA', function () {
|
|
27
27
|
expect((0, _getPage.default)(_models.FormPages.HUB, PAGES, _models.HubFormats.CYA)).toBeUndefined();
|
|
28
28
|
});
|
|
29
|
-
it('should give hub if the pageId is "hub" and the hub is NOT the CYA', ()
|
|
29
|
+
it('should give hub if the pageId is "hub" and the hub is NOT the CYA', function () {
|
|
30
30
|
expect((0, _getPage.default)(_models.FormPages.HUB, PAGES, HUB)).toEqual(HUB);
|
|
31
31
|
});
|
|
32
|
-
it('should give find the appropriate page if the pageId is not "hub"', ()
|
|
32
|
+
it('should give find the appropriate page if the pageId is not "hub"', function () {
|
|
33
33
|
expect((0, _getPage.default)('alpha', PAGES, HUB)).toEqual({
|
|
34
34
|
id: 'alpha',
|
|
35
35
|
components: ['x']
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
it('should give undefined if the pageId is not "hub" and not found in the pages collection', ()
|
|
38
|
+
it('should give undefined if the pageId is not "hub" and not found in the pages collection', function () {
|
|
39
39
|
expect((0, _getPage.default)('charlie', PAGES, HUB)).toBeUndefined();
|
|
40
40
|
});
|
|
41
41
|
});
|
|
@@ -5,14 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../../models");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
var slicePages = function slicePages(pages, currentPageId) {
|
|
9
|
+
return pages.slice(0, pages.findIndex(function (p) {
|
|
10
|
+
if ((p === null || p === void 0 ? void 0 : p.id) === currentPageId) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
16
|
+
var getRelevantPages = function getRelevantPages(formState, pages, currentTaskPages) {
|
|
17
|
+
var _formState$page;
|
|
18
|
+
if (((_formState$page = formState.page) === null || _formState$page === void 0 ? void 0 : _formState$page.type) === _models.FormPages.PARTIAL_CYA) {
|
|
16
19
|
return currentTaskPages ? slicePages(currentTaskPages, formState.pageId) : slicePages(pages, formState.pageId);
|
|
17
20
|
}
|
|
18
21
|
;
|