@ukhomeoffice/cop-react-form-renderer 4.67.0 → 4.69.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 +6 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +104 -129
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +26 -64
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +428 -555
- package/dist/components/CheckYourAnswers/index.js +0 -3
- package/dist/components/CollectionPage/CollectionPage.js +13 -42
- package/dist/components/CollectionPage/CollectionPage.test.js +160 -206
- package/dist/components/CollectionPage/index.js +0 -3
- package/dist/components/FormComponent/Collection.js +35 -79
- package/dist/components/FormComponent/Collection.test.js +340 -391
- package/dist/components/FormComponent/Container.js +10 -31
- package/dist/components/FormComponent/Container.test.js +304 -357
- package/dist/components/FormComponent/FormComponent.js +17 -60
- package/dist/components/FormComponent/FormComponent.test.js +190 -228
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -2
- package/dist/components/FormComponent/helpers/getComponentError.js +0 -6
- package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -2
- package/dist/components/FormComponent/helpers/index.js +0 -4
- package/dist/components/FormComponent/index.js +0 -3
- package/dist/components/FormPage/FormPage.js +21 -53
- package/dist/components/FormPage/FormPage.test.js +122 -160
- package/dist/components/FormPage/index.js +0 -3
- package/dist/components/FormRenderer/FormRenderer.js +106 -296
- package/dist/components/FormRenderer/FormRenderer.test.js +820 -1058
- package/dist/components/FormRenderer/handlers/cyaAction.js +0 -5
- package/dist/components/FormRenderer/handlers/getPageId.js +0 -2
- package/dist/components/FormRenderer/handlers/getPageId.test.js +1 -2
- package/dist/components/FormRenderer/handlers/handlers.test.js +1 -18
- package/dist/components/FormRenderer/handlers/index.js +0 -5
- package/dist/components/FormRenderer/handlers/navigate.js +0 -5
- package/dist/components/FormRenderer/handlers/submissionError.js +0 -2
- package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -3
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -2
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +1 -5
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +12 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +48 -11
- package/dist/components/FormRenderer/helpers/getCYA.js +0 -9
- package/dist/components/FormRenderer/helpers/getCYA.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getFormState.js +0 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +1 -4
- package/dist/components/FormRenderer/helpers/getPage.js +0 -5
- package/dist/components/FormRenderer/helpers/getPage.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -6
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +1 -3
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -10
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +4 -7
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +32 -41
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +122 -8
- package/dist/components/FormRenderer/helpers/index.js +1 -11
- package/dist/components/FormRenderer/index.js +0 -3
- package/dist/components/FormRenderer/onCYAAction.js +8 -30
- package/dist/components/FormRenderer/onCYAAction.test.js +54 -79
- package/dist/components/FormRenderer/onPageAction.js +123 -0
- package/dist/components/FormRenderer/onPageAction.test.js +632 -0
- package/dist/components/PageActions/ActionButton.js +2 -17
- package/dist/components/PageActions/ActionButton.test.js +58 -81
- package/dist/components/PageActions/PageActions.js +3 -10
- package/dist/components/PageActions/PageActions.test.js +95 -120
- package/dist/components/PageActions/index.js +0 -3
- package/dist/components/SummaryList/GroupAction.js +5 -26
- package/dist/components/SummaryList/GroupAction.test.js +14 -28
- package/dist/components/SummaryList/RowAction.js +5 -25
- package/dist/components/SummaryList/RowAction.test.js +14 -28
- package/dist/components/SummaryList/SummaryList.js +7 -31
- package/dist/components/SummaryList/SummaryList.test.js +69 -126
- package/dist/components/SummaryList/SummaryListHeadingRow.js +3 -8
- package/dist/components/SummaryList/SummaryListRow.js +4 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +2 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -6
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -6
- package/dist/components/SummaryList/helpers/index.js +0 -2
- package/dist/components/SummaryList/index.js +0 -3
- package/dist/components/TaskList/Task.js +9 -31
- package/dist/components/TaskList/Task.test.js +32 -59
- package/dist/components/TaskList/TaskList.js +32 -59
- package/dist/components/TaskList/TaskList.test.js +52 -90
- package/dist/components/TaskList/TaskState.js +2 -10
- package/dist/components/TaskList/TaskState.test.js +23 -41
- package/dist/components/TaskList/index.js +0 -3
- package/dist/components/index.js +0 -7
- package/dist/context/HooksContext/HooksContext.js +21 -39
- package/dist/context/HooksContext/HooksContext.test.js +18 -34
- package/dist/context/HooksContext/index.js +0 -5
- package/dist/context/ValidationContext/ValidationContext.js +26 -56
- package/dist/context/ValidationContext/ValidationContext.test.js +43 -64
- package/dist/context/ValidationContext/index.js +0 -5
- package/dist/context/index.js +0 -3
- package/dist/hooks/index.js +0 -9
- package/dist/hooks/useAxios.js +17 -36
- package/dist/hooks/useGetRequest.js +57 -93
- package/dist/hooks/useHooks.js +2 -4
- package/dist/hooks/useRefData.js +14 -41
- package/dist/hooks/useValidation.js +2 -4
- package/dist/index.js +0 -9
- package/dist/models/PageAction.js +4 -4
- package/dist/models/TaskStates.js +4 -4
- package/dist/models/index.js +1 -10
- package/dist/setupTests.js +0 -13
- package/dist/utils/CheckYourAnswers/getCYAAction.js +1 -9
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +1 -19
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +4 -11
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +4 -9
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +4 -9
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +4 -8
- package/dist/utils/CheckYourAnswers/getCYARow.js +3 -11
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +60 -25
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +6 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +2 -9
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +4 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +7 -22
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +4 -32
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +4 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +4 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +4 -22
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +2 -22
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +7 -25
- package/dist/utils/CheckYourAnswers/index.js +1 -3
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +2 -15
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +1 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +4 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +5 -6
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -6
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +1 -2
- package/dist/utils/CollectionPage/index.js +1 -5
- package/dist/utils/CollectionPage/mergeCollectionPages.js +5 -11
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +1 -2
- package/dist/utils/Component/addShowWhen.js +4 -10
- package/dist/utils/Component/addShowWhen.test.js +1 -2
- package/dist/utils/Component/applyToComponentTree.js +4 -18
- package/dist/utils/Component/applyToComponentTree.test.js +4 -8
- package/dist/utils/Component/cleanAttributes.js +1 -8
- package/dist/utils/Component/cleanAttributes.test.js +15 -16
- package/dist/utils/Component/elevateNestedComponents.js +0 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +0 -2
- package/dist/utils/Component/getComponent.js +13 -86
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +6 -10
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +33 -51
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +8 -35
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +12 -29
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +6 -24
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +3 -7
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +3 -7
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +5 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +4 -10
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +8 -35
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +6 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +10 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +12 -31
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +1 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +3 -7
- package/dist/utils/Component/getDefaultValue.js +4 -8
- package/dist/utils/Component/getDefaultValue.test.js +0 -3
- package/dist/utils/Component/index.js +0 -10
- package/dist/utils/Component/isEditable.js +1 -4
- package/dist/utils/Component/isEditable.test.js +1 -5
- package/dist/utils/Component/optionIsSelected.js +22 -0
- package/dist/utils/Component/optionIsSelected.test.js +42 -0
- package/dist/utils/Component/setupContainerComponentsPath.js +4 -9
- package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -3
- package/dist/utils/Component/showComponent.js +1 -8
- package/dist/utils/Component/showComponent.test.js +1 -2
- package/dist/utils/Component/wrapInFormGroup.js +0 -7
- package/dist/utils/Condition/index.js +0 -5
- package/dist/utils/Condition/meetsAllConditions.js +0 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +1 -2
- package/dist/utils/Condition/meetsCondition.js +9 -34
- package/dist/utils/Condition/meetsCondition.test.js +21 -14
- package/dist/utils/Condition/meetsOneCondition.js +1 -9
- package/dist/utils/Condition/meetsOneCondition.test.js +1 -2
- package/dist/utils/Condition/setupConditions.js +4 -13
- package/dist/utils/Condition/setupConditions.test.js +0 -2
- package/dist/utils/Container/getEditableComponents.js +0 -7
- package/dist/utils/Container/getEditableComponents.test.js +1 -12
- package/dist/utils/Container/index.js +0 -5
- package/dist/utils/Container/setupNesting.js +4 -12
- package/dist/utils/Container/setupNesting.test.js +4 -10
- package/dist/utils/Container/showContainer.js +9 -18
- package/dist/utils/Container/showContainer.test.js +1 -2
- package/dist/utils/Data/applyFormula.js +6 -29
- package/dist/utils/Data/applyFormula.test.js +1 -2
- package/dist/utils/Data/getAutocompleteSource.js +1 -5
- package/dist/utils/Data/getAutocompleteSource.test.js +1 -2
- package/dist/utils/Data/getDataPath.js +3 -17
- package/dist/utils/Data/getDataPath.test.js +0 -4
- package/dist/utils/Data/getOptions.js +4 -14
- package/dist/utils/Data/getOptions.test.js +1 -2
- package/dist/utils/Data/getSourceData.js +6 -21
- package/dist/utils/Data/getSourceData.test.js +4 -6
- package/dist/utils/Data/index.js +1 -11
- package/dist/utils/Data/refDataToOptions.js +5 -13
- package/dist/utils/Data/refDataToOptions.test.js +1 -2
- package/dist/utils/Data/setDataItem.js +0 -5
- package/dist/utils/Data/setDataItem.test.js +0 -2
- package/dist/utils/Data/setupFormData.js +6 -25
- package/dist/utils/Data/setupFormData.test.js +8 -11
- package/dist/utils/Data/setupRefDataUrlForComponent.js +4 -15
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +1 -3
- package/dist/utils/FormPage/applyConditionalProperties.js +4 -11
- package/dist/utils/FormPage/applyConditionalProperties.test.js +4 -6
- package/dist/utils/FormPage/getFormPage.js +4 -16
- package/dist/utils/FormPage/getFormPage.test.js +10 -9
- package/dist/utils/FormPage/getFormPages.js +4 -9
- package/dist/utils/FormPage/getFormPages.test.js +6 -7
- package/dist/utils/FormPage/getPageActions.js +6 -19
- package/dist/utils/FormPage/getPageActions.test.js +1 -3
- package/dist/utils/FormPage/getParagraphFromText.js +0 -3
- package/dist/utils/FormPage/getParagraphFromText.test.js +1 -3
- package/dist/utils/FormPage/index.js +0 -7
- package/dist/utils/FormPage/showFormPage.js +9 -18
- package/dist/utils/FormPage/showFormPage.test.js +0 -2
- package/dist/utils/FormPage/showFormPageCYA.js +0 -5
- package/dist/utils/FormPage/showFormPageCYA.test.js +0 -2
- package/dist/utils/FormPage/useComponent.js +7 -19
- package/dist/utils/FormPage/useComponent.test.js +4 -7
- package/dist/utils/Format/formatData.js +0 -5
- package/dist/utils/Format/formatData.test.js +1 -2
- package/dist/utils/Format/formatDataForComponent.js +1 -6
- package/dist/utils/Format/formatDataForComponent.test.js +28 -47
- package/dist/utils/Format/formatDataForForm.js +4 -9
- package/dist/utils/Format/formatDataForForm.test.js +14 -11
- package/dist/utils/Format/formatDataForPage.js +1 -5
- package/dist/utils/Format/formatDataForPage.test.js +15 -12
- package/dist/utils/Format/index.js +1 -6
- package/dist/utils/Hub/getFormHub.js +0 -8
- package/dist/utils/Hub/getFormHub.test.js +6 -8
- package/dist/utils/Hub/index.js +1 -3
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- package/dist/utils/Meta/documents/getDocuments.test.js +4 -10
- package/dist/utils/Meta/documents/index.js +1 -5
- package/dist/utils/Meta/documents/setDocumentsForField.js +4 -11
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +4 -16
- package/dist/utils/Meta/index.js +1 -4
- package/dist/utils/Operate/checkValueIsTruthy.js +1 -7
- package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -2
- package/dist/utils/Operate/getFirstOf.js +2 -9
- package/dist/utils/Operate/getFirstOf.test.js +0 -2
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +7 -21
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +6 -2
- package/dist/utils/Operate/index.js +0 -3
- package/dist/utils/Operate/persistValueInFormData.js +1 -8
- package/dist/utils/Operate/persistValueInFormData.test.js +0 -4
- package/dist/utils/Operate/runPageOperations.js +3 -19
- package/dist/utils/Operate/runPageOperations.test.js +4 -6
- package/dist/utils/Operate/setValueInFormData.js +2 -7
- package/dist/utils/Operate/setValueInFormData.test.js +0 -2
- package/dist/utils/Operate/shouldRun.js +1 -14
- package/dist/utils/Operate/shouldRun.test.js +5 -8
- package/dist/utils/Validate/additional/conditionallyRequired.js +0 -3
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -2
- package/dist/utils/Validate/additional/index.js +1 -22
- package/dist/utils/Validate/additional/index.test.js +0 -6
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -8
- package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -4
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -8
- package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -4
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +5 -16
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +4 -8
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -12
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -3
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -13
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -3
- package/dist/utils/Validate/additional/mustBeLessThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -3
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -2
- package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -3
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -5
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +4 -5
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -3
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -6
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +4 -7
- package/dist/utils/Validate/additional/utils.js +10 -26
- package/dist/utils/Validate/index.js +1 -11
- package/dist/utils/Validate/validateCollection.js +4 -10
- package/dist/utils/Validate/validateCollection.test.js +4 -6
- package/dist/utils/Validate/validateComponent.js +5 -40
- package/dist/utils/Validate/validateComponent.test.js +120 -22
- package/dist/utils/Validate/validateContainer.js +4 -14
- package/dist/utils/Validate/validateContainer.test.js +4 -10
- package/dist/utils/Validate/validateDate.js +6 -38
- package/dist/utils/Validate/validateDate.test.js +0 -4
- package/dist/utils/Validate/validateEmail.js +1 -8
- package/dist/utils/Validate/validateEmail.test.js +5 -4
- package/dist/utils/Validate/validateMultifile.js +0 -7
- package/dist/utils/Validate/validateMultifile.test.js +5 -6
- package/dist/utils/Validate/validatePage.js +4 -16
- package/dist/utils/Validate/validatePage.test.js +30 -25
- package/dist/utils/Validate/validateRegex.js +0 -10
- package/dist/utils/Validate/validateRegex.test.js +5 -4
- package/dist/utils/Validate/validateRequired.js +0 -8
- package/dist/utils/Validate/validateRequired.test.js +5 -4
- package/dist/utils/Validate/validateTextArea.js +0 -8
- package/dist/utils/Validate/validateTextArea.test.js +0 -2
- package/dist/utils/Validate/validateTime.js +5 -22
- package/dist/utils/Validate/validateTime.test.js +0 -2
- package/dist/utils/index.js +4 -20
- package/package.json +2 -2
|
@@ -1,38 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.getChildrenJsx = exports.default = void 0;
|
|
7
|
-
|
|
8
8
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
|
-
|
|
10
9
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
10
|
var _models = require("../../models");
|
|
13
|
-
|
|
14
11
|
var _Data = _interopRequireDefault(require("../Data"));
|
|
15
|
-
|
|
16
12
|
var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
|
|
17
|
-
|
|
18
13
|
var _isEditable = _interopRequireDefault(require("./isEditable"));
|
|
19
|
-
|
|
20
14
|
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
21
|
-
|
|
22
15
|
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
23
|
-
|
|
24
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
-
|
|
28
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
19
|
+
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; }
|
|
20
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
+
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); }
|
|
32
22
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
33
|
-
|
|
34
23
|
var LIST_CLASS = 'govuk-list';
|
|
35
24
|
var BODY_CLASS = 'govuk-body';
|
|
25
|
+
|
|
36
26
|
/**
|
|
37
27
|
* Separate function for each component type for the sake of
|
|
38
28
|
* code clarity - having the additional bits and pieces in the
|
|
@@ -42,43 +32,38 @@ var BODY_CLASS = 'govuk-body';
|
|
|
42
32
|
|
|
43
33
|
var getAlert = function getAlert(config) {
|
|
44
34
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
45
|
-
|
|
46
35
|
var heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
|
|
47
|
-
|
|
48
36
|
var children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
|
|
49
|
-
|
|
50
37
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Alert, _extends({}, attrs, {
|
|
51
38
|
heading: heading,
|
|
52
39
|
children: children
|
|
53
40
|
}));
|
|
54
41
|
};
|
|
55
|
-
|
|
56
42
|
var getAutocomplete = function getAutocomplete(config) {
|
|
57
43
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
58
|
-
|
|
59
44
|
var source = _Data.default.getAutocompleteSource(config);
|
|
60
|
-
|
|
61
45
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Autocomplete, _extends({}, attrs, {
|
|
62
46
|
source: source
|
|
63
47
|
}));
|
|
64
48
|
};
|
|
65
|
-
|
|
66
49
|
var getCheckboxes = function getCheckboxes(config) {
|
|
67
50
|
var options = [];
|
|
68
|
-
|
|
69
51
|
_Data.default.getOptions(config, function (val) {
|
|
70
52
|
options = val;
|
|
71
53
|
});
|
|
72
|
-
|
|
54
|
+
options.forEach(function (option) {
|
|
55
|
+
if (!Array.isArray(option.nested)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
option.children = getChildrenJsx(config, option.nested);
|
|
59
|
+
});
|
|
73
60
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
74
61
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
|
|
75
62
|
options: options
|
|
76
63
|
}));
|
|
77
64
|
};
|
|
78
|
-
|
|
79
65
|
var getCalculation = function getCalculation(config) {
|
|
80
66
|
var value = _Data.default.applyFormula(config);
|
|
81
|
-
|
|
82
67
|
if (typeof config.onChange === 'function') {
|
|
83
68
|
if (value !== config.value) {
|
|
84
69
|
config.onChange({
|
|
@@ -89,58 +74,46 @@ var getCalculation = function getCalculation(config) {
|
|
|
89
74
|
});
|
|
90
75
|
}
|
|
91
76
|
}
|
|
92
|
-
|
|
93
77
|
var attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
94
78
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
|
|
95
79
|
readonly: true
|
|
96
80
|
}));
|
|
97
81
|
};
|
|
98
|
-
|
|
99
82
|
var getDate = function getDate(config) {
|
|
100
83
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
101
84
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
|
|
102
85
|
};
|
|
103
|
-
|
|
104
86
|
var getDetails = function getDetails(config) {
|
|
105
87
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
106
88
|
var html = getHTML(config);
|
|
107
89
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
|
|
108
90
|
};
|
|
109
|
-
|
|
110
91
|
var getFileUpload = function getFileUpload(config) {
|
|
111
92
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
112
93
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
|
|
113
94
|
};
|
|
114
|
-
|
|
115
95
|
var getMultiFileUpload = function getMultiFileUpload(config) {
|
|
116
96
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
117
97
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
|
|
118
98
|
};
|
|
119
|
-
|
|
120
99
|
var getHeading = function getHeading(config) {
|
|
121
100
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
122
101
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
|
|
123
102
|
};
|
|
124
|
-
|
|
125
103
|
var getHTML = function getHTML(config) {
|
|
126
104
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
127
105
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
|
|
128
106
|
};
|
|
129
|
-
|
|
130
107
|
var getInsetText = function getInsetText(config) {
|
|
131
108
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
132
109
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
|
|
133
110
|
};
|
|
134
|
-
|
|
135
111
|
var getList = function getList(config) {
|
|
136
112
|
var _attrs$items;
|
|
137
|
-
|
|
138
113
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
139
114
|
var tagName = attrs.ordered ? 'ol' : 'ul';
|
|
140
115
|
var bullet = attrs.ordered ? 'number' : 'bullet';
|
|
141
|
-
|
|
142
116
|
var classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
|
|
143
|
-
|
|
144
117
|
var content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(function (item) {
|
|
145
118
|
return "<li>".concat(item, "</li>");
|
|
146
119
|
}).join('');
|
|
@@ -151,7 +124,6 @@ var getList = function getList(config) {
|
|
|
151
124
|
type: _models.ComponentTypes.HTML
|
|
152
125
|
}));
|
|
153
126
|
};
|
|
154
|
-
|
|
155
127
|
var getParagraph = function getParagraph(config) {
|
|
156
128
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
157
129
|
return getHTML(_objectSpread(_objectSpread({
|
|
@@ -161,19 +133,15 @@ var getParagraph = function getParagraph(config) {
|
|
|
161
133
|
type: _models.ComponentTypes.HTML
|
|
162
134
|
}));
|
|
163
135
|
};
|
|
164
|
-
|
|
165
136
|
var getRadios = function getRadios(config) {
|
|
166
137
|
var options = [];
|
|
167
|
-
|
|
168
138
|
_Data.default.getOptions(config, function (val) {
|
|
169
139
|
options = val;
|
|
170
140
|
});
|
|
171
|
-
|
|
172
141
|
options.forEach(function (option) {
|
|
173
142
|
if (!Array.isArray(option.nested)) {
|
|
174
143
|
return;
|
|
175
144
|
}
|
|
176
|
-
|
|
177
145
|
option.children = getChildrenJsx(config, option.nested);
|
|
178
146
|
});
|
|
179
147
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
@@ -181,114 +149,86 @@ var getRadios = function getRadios(config) {
|
|
|
181
149
|
options: options
|
|
182
150
|
}));
|
|
183
151
|
};
|
|
184
|
-
|
|
185
152
|
var getTextArea = function getTextArea(config) {
|
|
186
153
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
187
154
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
|
|
188
155
|
};
|
|
189
|
-
|
|
190
156
|
var getTextInput = function getTextInput(config) {
|
|
191
157
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
192
158
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
|
|
193
159
|
};
|
|
194
|
-
|
|
195
160
|
var getTime = function getTime(config) {
|
|
196
161
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
197
162
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
|
|
198
163
|
};
|
|
199
|
-
|
|
200
164
|
var getSelect = function getSelect(config) {
|
|
201
165
|
var options = [];
|
|
202
|
-
|
|
203
166
|
_Data.default.getOptions(config, function (val) {
|
|
204
167
|
options = val;
|
|
205
168
|
});
|
|
206
|
-
|
|
207
169
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
208
170
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
|
|
209
171
|
options: options
|
|
210
172
|
}));
|
|
211
173
|
};
|
|
212
|
-
|
|
213
174
|
var getWarningText = function getWarningText(config) {
|
|
214
175
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
215
176
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
|
|
216
177
|
};
|
|
217
|
-
|
|
218
178
|
var getComponentByType = function getComponentByType(config) {
|
|
219
179
|
switch (config.type) {
|
|
220
180
|
case _models.ComponentTypes.HTML:
|
|
221
181
|
return getHTML(config);
|
|
222
|
-
|
|
223
182
|
case _models.ComponentTypes.HEADING:
|
|
224
183
|
return getHeading(config);
|
|
225
|
-
|
|
226
184
|
case _models.ComponentTypes.INSET_TEXT:
|
|
227
185
|
return getInsetText(config);
|
|
228
|
-
|
|
229
186
|
case _models.ComponentTypes.TEXT:
|
|
230
187
|
case _models.ComponentTypes.EMAIL:
|
|
231
188
|
case _models.ComponentTypes.PHONE_NUMBER:
|
|
232
189
|
return getTextInput(config);
|
|
233
|
-
|
|
234
190
|
case _models.ComponentTypes.TEXT_AREA:
|
|
235
191
|
return getTextArea(config);
|
|
236
|
-
|
|
237
192
|
case _models.ComponentTypes.AUTOCOMPLETE:
|
|
238
193
|
return getAutocomplete(config);
|
|
239
|
-
|
|
240
194
|
case _models.ComponentTypes.RADIOS:
|
|
241
195
|
return getRadios(config);
|
|
242
|
-
|
|
243
196
|
case _models.ComponentTypes.CHECKBOXES:
|
|
244
197
|
return getCheckboxes(config);
|
|
245
|
-
|
|
246
198
|
case _models.ComponentTypes.DATE:
|
|
247
199
|
return getDate(config);
|
|
248
|
-
|
|
249
200
|
case _models.ComponentTypes.TIME:
|
|
250
201
|
return getTime(config);
|
|
251
|
-
|
|
252
202
|
case _models.ComponentTypes.FILE:
|
|
253
203
|
return getFileUpload(config);
|
|
254
|
-
|
|
255
204
|
case _models.ComponentTypes.MULTI_FILE:
|
|
256
205
|
return getMultiFileUpload(config);
|
|
257
|
-
|
|
258
206
|
case _models.ComponentTypes.WARNING:
|
|
259
207
|
return getWarningText(config);
|
|
260
|
-
|
|
261
208
|
case _models.ComponentTypes.SELECT:
|
|
262
209
|
return getSelect(config);
|
|
263
|
-
|
|
264
210
|
case _models.ComponentTypes.DETAILS:
|
|
265
211
|
return getDetails(config);
|
|
266
|
-
|
|
267
212
|
case _models.ComponentTypes.CALCULATION:
|
|
268
213
|
return getCalculation(config);
|
|
269
|
-
|
|
270
214
|
case _models.ComponentTypes.ALERT:
|
|
271
215
|
return getAlert(config);
|
|
272
|
-
|
|
273
216
|
case _models.ComponentTypes.PARAGRAPH:
|
|
274
217
|
return getParagraph(config);
|
|
275
|
-
|
|
276
218
|
case _models.ComponentTypes.LIST:
|
|
277
219
|
return getList(config);
|
|
278
|
-
|
|
279
220
|
default:
|
|
280
221
|
{
|
|
281
222
|
return null;
|
|
282
223
|
}
|
|
283
224
|
}
|
|
284
225
|
};
|
|
226
|
+
|
|
285
227
|
/**
|
|
286
228
|
* Get single child component for a parent
|
|
287
229
|
* @param {*} parent the parent configuration
|
|
288
230
|
* @param {*} child the child configuration
|
|
289
231
|
*/
|
|
290
|
-
|
|
291
|
-
|
|
292
232
|
var getChildJsx = function getChildJsx(parent, child) {
|
|
293
233
|
if (parent.full_path) {
|
|
294
234
|
var pathParts = parent.full_path.split('.');
|
|
@@ -296,18 +236,14 @@ var getChildJsx = function getChildJsx(parent, child) {
|
|
|
296
236
|
pathParts.push(child.fieldId);
|
|
297
237
|
child.full_path = pathParts.join('.');
|
|
298
238
|
}
|
|
299
|
-
|
|
300
239
|
if (parent.formData) {
|
|
301
240
|
child.value = parent.formData[child.fieldId] || _Data.default.getSource(parent.formData, child.full_path) || '';
|
|
302
241
|
}
|
|
303
|
-
|
|
304
242
|
if ('readonly' in child) delete child.readonly;
|
|
305
|
-
|
|
306
243
|
if (parent.readonly) {
|
|
307
244
|
child.readonly = parent.readonly;
|
|
308
245
|
return /*#__PURE__*/_react.default.createElement("div", null, getComponent(child, false));
|
|
309
246
|
}
|
|
310
|
-
|
|
311
247
|
return /*#__PURE__*/_react.default.createElement(_FormComponent.default, {
|
|
312
248
|
component: child,
|
|
313
249
|
value: child.value,
|
|
@@ -316,13 +252,12 @@ var getChildJsx = function getChildJsx(parent, child) {
|
|
|
316
252
|
formData: parent.formData
|
|
317
253
|
});
|
|
318
254
|
};
|
|
255
|
+
|
|
319
256
|
/**
|
|
320
257
|
* Convert chidlrenConfigs into components
|
|
321
258
|
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
322
259
|
* @param {*} childrenConfigs array of configurations for the child components
|
|
323
260
|
*/
|
|
324
|
-
|
|
325
|
-
|
|
326
261
|
var getChildrenJsx = function getChildrenJsx(parentConfig, childrenConfigs) {
|
|
327
262
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenConfigs.map(function (config) {
|
|
328
263
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
@@ -330,9 +265,7 @@ var getChildrenJsx = function getChildrenJsx(parentConfig, childrenConfigs) {
|
|
|
330
265
|
}, getChildJsx(parentConfig, config));
|
|
331
266
|
}));
|
|
332
267
|
};
|
|
333
|
-
|
|
334
268
|
exports.getChildrenJsx = getChildrenJsx;
|
|
335
|
-
|
|
336
269
|
/**
|
|
337
270
|
* Get a renderable component, based on a configuration object.
|
|
338
271
|
* @param {object} config The configuration object for the component.
|
|
@@ -343,23 +276,17 @@ exports.getChildrenJsx = getChildrenJsx;
|
|
|
343
276
|
var getComponent = function getComponent(config) {
|
|
344
277
|
var wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
345
278
|
var fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
346
|
-
|
|
347
279
|
if (typeof fnOverride === 'function') {
|
|
348
280
|
var overrideComponent = fnOverride(config, wrap);
|
|
349
|
-
|
|
350
281
|
if (overrideComponent) {
|
|
351
282
|
return overrideComponent;
|
|
352
283
|
}
|
|
353
284
|
}
|
|
354
|
-
|
|
355
285
|
var component = getComponentByType(config);
|
|
356
|
-
|
|
357
286
|
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
358
287
|
return (0, _wrapInFormGroup.default)(config, component);
|
|
359
288
|
}
|
|
360
|
-
|
|
361
289
|
return component;
|
|
362
290
|
};
|
|
363
|
-
|
|
364
291
|
var _default = getComponent;
|
|
365
292
|
exports.default = _default;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = require("@testing-library/react");
|
|
4
|
-
|
|
5
4
|
var _models = require("../../../models");
|
|
6
|
-
|
|
7
5
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
8
|
-
|
|
9
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
11
7
|
// Global imports
|
|
8
|
+
|
|
12
9
|
// Local imports
|
|
10
|
+
|
|
13
11
|
describe('utils.Component.get', function () {
|
|
14
12
|
it('should return an appropriately rendered autocomplete component', function () {
|
|
15
13
|
var ID = 'test-id';
|
|
@@ -26,10 +24,8 @@ describe('utils.Component.get', function () {
|
|
|
26
24
|
},
|
|
27
25
|
'data-testid': ID
|
|
28
26
|
};
|
|
29
|
-
|
|
30
27
|
var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
container = _render.container;
|
|
33
29
|
var formGroup = (0, _react.getByTestId)(container, ID);
|
|
34
30
|
expect(formGroup.tagName).toEqual('DIV');
|
|
35
31
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
@@ -46,7 +42,6 @@ describe('utils.Component.get', function () {
|
|
|
46
42
|
} else if (node.classList.contains('hods-autocomplete__outer-wrapper')) {
|
|
47
43
|
autocompleteWrapper = node;
|
|
48
44
|
var autocompleteInner = node.childNodes[0];
|
|
49
|
-
|
|
50
45
|
if (autocompleteInner instanceof Element) {
|
|
51
46
|
autocomplete = autocompleteInner;
|
|
52
47
|
autocomplete.childNodes.forEach(function (grandchild) {
|
|
@@ -57,7 +52,6 @@ describe('utils.Component.get', function () {
|
|
|
57
52
|
}
|
|
58
53
|
});
|
|
59
54
|
}
|
|
60
|
-
|
|
61
55
|
;
|
|
62
56
|
}
|
|
63
57
|
}
|
|
@@ -70,7 +64,9 @@ describe('utils.Component.get', function () {
|
|
|
70
64
|
expect(autocomplete).toBeDefined();
|
|
71
65
|
expect(autocomplete.tagName).toEqual('DIV');
|
|
72
66
|
expect(autocompleteInput).toBeDefined();
|
|
73
|
-
expect(autocompleteInput.id).toEqual(ID);
|
|
67
|
+
expect(autocompleteInput.id).toEqual(ID);
|
|
68
|
+
|
|
69
|
+
// TODO: Ensure that the onChange handler is fired.
|
|
74
70
|
// Not sure quite what this looks like yet so I'll address it later.
|
|
75
71
|
});
|
|
76
72
|
});
|
|
@@ -1,35 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
var _react = require("@testing-library/react");
|
|
4
|
-
|
|
5
5
|
var _models = require("../../../models");
|
|
6
|
-
|
|
7
6
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
8
|
-
|
|
9
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
8
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
11
9
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
-
|
|
13
10
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
-
|
|
15
11
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
-
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
20
|
-
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
21
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
-
|
|
23
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
|
-
|
|
25
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
|
-
|
|
27
|
-
function
|
|
28
|
-
|
|
17
|
+
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; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
19
|
+
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); }
|
|
29
20
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
30
|
-
|
|
31
21
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
32
|
-
|
|
33
22
|
describe('utils.Component.get', function () {
|
|
34
23
|
var ID = 'test-id';
|
|
35
24
|
var FIELD_ID = 'field-id';
|
|
@@ -52,6 +41,7 @@ describe('utils.Component.get', function () {
|
|
|
52
41
|
afterEach(function () {
|
|
53
42
|
error.mockClear();
|
|
54
43
|
});
|
|
44
|
+
|
|
55
45
|
/**
|
|
56
46
|
* Iteratively test collction of positive test data objects each containing:
|
|
57
47
|
* config: object containing formula config
|
|
@@ -67,7 +57,6 @@ describe('utils.Component.get', function () {
|
|
|
67
57
|
* }
|
|
68
58
|
*
|
|
69
59
|
*/
|
|
70
|
-
|
|
71
60
|
[{
|
|
72
61
|
config: {
|
|
73
62
|
formula: {
|
|
@@ -142,36 +131,32 @@ describe('utils.Component.get', function () {
|
|
|
142
131
|
var target = _ref.target;
|
|
143
132
|
COMPONENT.formData[target.name] = target.value;
|
|
144
133
|
};
|
|
145
|
-
|
|
146
|
-
it("should render 'calculation' component with formula to given calculated value: ".concat(test.result), /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
134
|
+
it("should render 'calculation' component with formula to given calculated value: ".concat(test.result), /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
147
135
|
var _render, container, _getAllByTestId, _getAllByTestId2, formGroup, input, label;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
case 13:
|
|
168
|
-
case "end":
|
|
169
|
-
return _context.stop();
|
|
170
|
-
}
|
|
136
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
137
|
+
while (1) switch (_context.prev = _context.next) {
|
|
138
|
+
case 0:
|
|
139
|
+
_render = (0, _react.render)((0, _getComponent.default)(_objectSpread(_objectSpread({}, COMPONENT), test.config))), container = _render.container;
|
|
140
|
+
_getAllByTestId = (0, _react.getAllByTestId)(container, ID), _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2), formGroup = _getAllByTestId2[0], input = _getAllByTestId2[1];
|
|
141
|
+
expect(formGroup.tagName).toEqual('DIV');
|
|
142
|
+
expect(formGroup.classList).toContain('govuk-form-group');
|
|
143
|
+
label = formGroup.childNodes[0].childNodes[0].childNodes[0];
|
|
144
|
+
expect(label.tagName).toEqual('LABEL');
|
|
145
|
+
expect(label.classList).toContain('govuk-label');
|
|
146
|
+
expect(label.textContent).toContain(LABEL);
|
|
147
|
+
expect(formGroup.classList).toContain('govuk-form-group');
|
|
148
|
+
expect(input.tagName).toEqual('DIV');
|
|
149
|
+
expect(input.classList).toContain('hods-readonly');
|
|
150
|
+
expect(input.id).toEqual(ID);
|
|
151
|
+
expect("".concat(COMPONENT.formData[FIELD_ID])).toEqual(test.result);
|
|
152
|
+
case 13:
|
|
153
|
+
case "end":
|
|
154
|
+
return _context.stop();
|
|
171
155
|
}
|
|
172
156
|
}, _callee);
|
|
173
157
|
})));
|
|
174
158
|
});
|
|
159
|
+
|
|
175
160
|
/**
|
|
176
161
|
* Iteratively test collction of negative test data objects each containing:
|
|
177
162
|
* config: object containing invalid formula config
|
|
@@ -187,7 +172,6 @@ describe('utils.Component.get', function () {
|
|
|
187
172
|
* }
|
|
188
173
|
*
|
|
189
174
|
*/
|
|
190
|
-
|
|
191
175
|
[{
|
|
192
176
|
error: "Missing 'formula' definition"
|
|
193
177
|
}, {
|
|
@@ -259,13 +243,11 @@ describe('utils.Component.get', function () {
|
|
|
259
243
|
}].forEach(function (test) {
|
|
260
244
|
it("should return an appropriately rendered calculation component with message ".concat(test.result), function () {
|
|
261
245
|
var _render2 = (0, _react.render)((0, _getComponent.default)(_objectSpread(_objectSpread({}, COMPONENT), test.config))),
|
|
262
|
-
|
|
263
|
-
|
|
246
|
+
container = _render2.container;
|
|
264
247
|
var _getAllByTestId3 = (0, _react.getAllByTestId)(container, ID),
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
248
|
+
_getAllByTestId4 = _slicedToArray(_getAllByTestId3, 2),
|
|
249
|
+
formGroup = _getAllByTestId4[0],
|
|
250
|
+
input = _getAllByTestId4[1];
|
|
269
251
|
expect(formGroup.tagName).toEqual('DIV');
|
|
270
252
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
271
253
|
var label = formGroup.childNodes[0].childNodes[0].childNodes[0];
|