@ukhomeoffice/cop-react-form-renderer 4.66.1 → 4.68.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +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 +4 -12
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +1 -2
- 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 +1 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +8 -23
- 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 +9 -12
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +41 -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 +7 -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/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 +2 -39
- package/dist/utils/Validate/validateComponent.test.js +4 -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,32 @@ 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
|
-
|
|
73
54
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
74
55
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
|
|
75
56
|
options: options
|
|
76
57
|
}));
|
|
77
58
|
};
|
|
78
|
-
|
|
79
59
|
var getCalculation = function getCalculation(config) {
|
|
80
60
|
var value = _Data.default.applyFormula(config);
|
|
81
|
-
|
|
82
61
|
if (typeof config.onChange === 'function') {
|
|
83
62
|
if (value !== config.value) {
|
|
84
63
|
config.onChange({
|
|
@@ -89,58 +68,46 @@ var getCalculation = function getCalculation(config) {
|
|
|
89
68
|
});
|
|
90
69
|
}
|
|
91
70
|
}
|
|
92
|
-
|
|
93
71
|
var attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
94
72
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
|
|
95
73
|
readonly: true
|
|
96
74
|
}));
|
|
97
75
|
};
|
|
98
|
-
|
|
99
76
|
var getDate = function getDate(config) {
|
|
100
77
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
101
78
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
|
|
102
79
|
};
|
|
103
|
-
|
|
104
80
|
var getDetails = function getDetails(config) {
|
|
105
81
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
106
82
|
var html = getHTML(config);
|
|
107
83
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
|
|
108
84
|
};
|
|
109
|
-
|
|
110
85
|
var getFileUpload = function getFileUpload(config) {
|
|
111
86
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
112
87
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
|
|
113
88
|
};
|
|
114
|
-
|
|
115
89
|
var getMultiFileUpload = function getMultiFileUpload(config) {
|
|
116
90
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
117
91
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
|
|
118
92
|
};
|
|
119
|
-
|
|
120
93
|
var getHeading = function getHeading(config) {
|
|
121
94
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
122
95
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
|
|
123
96
|
};
|
|
124
|
-
|
|
125
97
|
var getHTML = function getHTML(config) {
|
|
126
98
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
127
99
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
|
|
128
100
|
};
|
|
129
|
-
|
|
130
101
|
var getInsetText = function getInsetText(config) {
|
|
131
102
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
132
103
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
|
|
133
104
|
};
|
|
134
|
-
|
|
135
105
|
var getList = function getList(config) {
|
|
136
106
|
var _attrs$items;
|
|
137
|
-
|
|
138
107
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
139
108
|
var tagName = attrs.ordered ? 'ol' : 'ul';
|
|
140
109
|
var bullet = attrs.ordered ? 'number' : 'bullet';
|
|
141
|
-
|
|
142
110
|
var classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
|
|
143
|
-
|
|
144
111
|
var content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(function (item) {
|
|
145
112
|
return "<li>".concat(item, "</li>");
|
|
146
113
|
}).join('');
|
|
@@ -151,7 +118,6 @@ var getList = function getList(config) {
|
|
|
151
118
|
type: _models.ComponentTypes.HTML
|
|
152
119
|
}));
|
|
153
120
|
};
|
|
154
|
-
|
|
155
121
|
var getParagraph = function getParagraph(config) {
|
|
156
122
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
157
123
|
return getHTML(_objectSpread(_objectSpread({
|
|
@@ -161,19 +127,15 @@ var getParagraph = function getParagraph(config) {
|
|
|
161
127
|
type: _models.ComponentTypes.HTML
|
|
162
128
|
}));
|
|
163
129
|
};
|
|
164
|
-
|
|
165
130
|
var getRadios = function getRadios(config) {
|
|
166
131
|
var options = [];
|
|
167
|
-
|
|
168
132
|
_Data.default.getOptions(config, function (val) {
|
|
169
133
|
options = val;
|
|
170
134
|
});
|
|
171
|
-
|
|
172
135
|
options.forEach(function (option) {
|
|
173
136
|
if (!Array.isArray(option.nested)) {
|
|
174
137
|
return;
|
|
175
138
|
}
|
|
176
|
-
|
|
177
139
|
option.children = getChildrenJsx(config, option.nested);
|
|
178
140
|
});
|
|
179
141
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
@@ -181,114 +143,86 @@ var getRadios = function getRadios(config) {
|
|
|
181
143
|
options: options
|
|
182
144
|
}));
|
|
183
145
|
};
|
|
184
|
-
|
|
185
146
|
var getTextArea = function getTextArea(config) {
|
|
186
147
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
187
148
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
|
|
188
149
|
};
|
|
189
|
-
|
|
190
150
|
var getTextInput = function getTextInput(config) {
|
|
191
151
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
192
152
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
|
|
193
153
|
};
|
|
194
|
-
|
|
195
154
|
var getTime = function getTime(config) {
|
|
196
155
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
197
156
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
|
|
198
157
|
};
|
|
199
|
-
|
|
200
158
|
var getSelect = function getSelect(config) {
|
|
201
159
|
var options = [];
|
|
202
|
-
|
|
203
160
|
_Data.default.getOptions(config, function (val) {
|
|
204
161
|
options = val;
|
|
205
162
|
});
|
|
206
|
-
|
|
207
163
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
208
164
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
|
|
209
165
|
options: options
|
|
210
166
|
}));
|
|
211
167
|
};
|
|
212
|
-
|
|
213
168
|
var getWarningText = function getWarningText(config) {
|
|
214
169
|
var attrs = (0, _cleanAttributes.default)(config);
|
|
215
170
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
|
|
216
171
|
};
|
|
217
|
-
|
|
218
172
|
var getComponentByType = function getComponentByType(config) {
|
|
219
173
|
switch (config.type) {
|
|
220
174
|
case _models.ComponentTypes.HTML:
|
|
221
175
|
return getHTML(config);
|
|
222
|
-
|
|
223
176
|
case _models.ComponentTypes.HEADING:
|
|
224
177
|
return getHeading(config);
|
|
225
|
-
|
|
226
178
|
case _models.ComponentTypes.INSET_TEXT:
|
|
227
179
|
return getInsetText(config);
|
|
228
|
-
|
|
229
180
|
case _models.ComponentTypes.TEXT:
|
|
230
181
|
case _models.ComponentTypes.EMAIL:
|
|
231
182
|
case _models.ComponentTypes.PHONE_NUMBER:
|
|
232
183
|
return getTextInput(config);
|
|
233
|
-
|
|
234
184
|
case _models.ComponentTypes.TEXT_AREA:
|
|
235
185
|
return getTextArea(config);
|
|
236
|
-
|
|
237
186
|
case _models.ComponentTypes.AUTOCOMPLETE:
|
|
238
187
|
return getAutocomplete(config);
|
|
239
|
-
|
|
240
188
|
case _models.ComponentTypes.RADIOS:
|
|
241
189
|
return getRadios(config);
|
|
242
|
-
|
|
243
190
|
case _models.ComponentTypes.CHECKBOXES:
|
|
244
191
|
return getCheckboxes(config);
|
|
245
|
-
|
|
246
192
|
case _models.ComponentTypes.DATE:
|
|
247
193
|
return getDate(config);
|
|
248
|
-
|
|
249
194
|
case _models.ComponentTypes.TIME:
|
|
250
195
|
return getTime(config);
|
|
251
|
-
|
|
252
196
|
case _models.ComponentTypes.FILE:
|
|
253
197
|
return getFileUpload(config);
|
|
254
|
-
|
|
255
198
|
case _models.ComponentTypes.MULTI_FILE:
|
|
256
199
|
return getMultiFileUpload(config);
|
|
257
|
-
|
|
258
200
|
case _models.ComponentTypes.WARNING:
|
|
259
201
|
return getWarningText(config);
|
|
260
|
-
|
|
261
202
|
case _models.ComponentTypes.SELECT:
|
|
262
203
|
return getSelect(config);
|
|
263
|
-
|
|
264
204
|
case _models.ComponentTypes.DETAILS:
|
|
265
205
|
return getDetails(config);
|
|
266
|
-
|
|
267
206
|
case _models.ComponentTypes.CALCULATION:
|
|
268
207
|
return getCalculation(config);
|
|
269
|
-
|
|
270
208
|
case _models.ComponentTypes.ALERT:
|
|
271
209
|
return getAlert(config);
|
|
272
|
-
|
|
273
210
|
case _models.ComponentTypes.PARAGRAPH:
|
|
274
211
|
return getParagraph(config);
|
|
275
|
-
|
|
276
212
|
case _models.ComponentTypes.LIST:
|
|
277
213
|
return getList(config);
|
|
278
|
-
|
|
279
214
|
default:
|
|
280
215
|
{
|
|
281
216
|
return null;
|
|
282
217
|
}
|
|
283
218
|
}
|
|
284
219
|
};
|
|
220
|
+
|
|
285
221
|
/**
|
|
286
222
|
* Get single child component for a parent
|
|
287
223
|
* @param {*} parent the parent configuration
|
|
288
224
|
* @param {*} child the child configuration
|
|
289
225
|
*/
|
|
290
|
-
|
|
291
|
-
|
|
292
226
|
var getChildJsx = function getChildJsx(parent, child) {
|
|
293
227
|
if (parent.full_path) {
|
|
294
228
|
var pathParts = parent.full_path.split('.');
|
|
@@ -296,18 +230,14 @@ var getChildJsx = function getChildJsx(parent, child) {
|
|
|
296
230
|
pathParts.push(child.fieldId);
|
|
297
231
|
child.full_path = pathParts.join('.');
|
|
298
232
|
}
|
|
299
|
-
|
|
300
233
|
if (parent.formData) {
|
|
301
234
|
child.value = parent.formData[child.fieldId] || _Data.default.getSource(parent.formData, child.full_path) || '';
|
|
302
235
|
}
|
|
303
|
-
|
|
304
236
|
if ('readonly' in child) delete child.readonly;
|
|
305
|
-
|
|
306
237
|
if (parent.readonly) {
|
|
307
238
|
child.readonly = parent.readonly;
|
|
308
239
|
return /*#__PURE__*/_react.default.createElement("div", null, getComponent(child, false));
|
|
309
240
|
}
|
|
310
|
-
|
|
311
241
|
return /*#__PURE__*/_react.default.createElement(_FormComponent.default, {
|
|
312
242
|
component: child,
|
|
313
243
|
value: child.value,
|
|
@@ -316,13 +246,12 @@ var getChildJsx = function getChildJsx(parent, child) {
|
|
|
316
246
|
formData: parent.formData
|
|
317
247
|
});
|
|
318
248
|
};
|
|
249
|
+
|
|
319
250
|
/**
|
|
320
251
|
* Convert chidlrenConfigs into components
|
|
321
252
|
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
322
253
|
* @param {*} childrenConfigs array of configurations for the child components
|
|
323
254
|
*/
|
|
324
|
-
|
|
325
|
-
|
|
326
255
|
var getChildrenJsx = function getChildrenJsx(parentConfig, childrenConfigs) {
|
|
327
256
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenConfigs.map(function (config) {
|
|
328
257
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
@@ -330,9 +259,7 @@ var getChildrenJsx = function getChildrenJsx(parentConfig, childrenConfigs) {
|
|
|
330
259
|
}, getChildJsx(parentConfig, config));
|
|
331
260
|
}));
|
|
332
261
|
};
|
|
333
|
-
|
|
334
262
|
exports.getChildrenJsx = getChildrenJsx;
|
|
335
|
-
|
|
336
263
|
/**
|
|
337
264
|
* Get a renderable component, based on a configuration object.
|
|
338
265
|
* @param {object} config The configuration object for the component.
|
|
@@ -343,23 +270,17 @@ exports.getChildrenJsx = getChildrenJsx;
|
|
|
343
270
|
var getComponent = function getComponent(config) {
|
|
344
271
|
var wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
345
272
|
var fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
346
|
-
|
|
347
273
|
if (typeof fnOverride === 'function') {
|
|
348
274
|
var overrideComponent = fnOverride(config, wrap);
|
|
349
|
-
|
|
350
275
|
if (overrideComponent) {
|
|
351
276
|
return overrideComponent;
|
|
352
277
|
}
|
|
353
278
|
}
|
|
354
|
-
|
|
355
279
|
var component = getComponentByType(config);
|
|
356
|
-
|
|
357
280
|
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
358
281
|
return (0, _wrapInFormGroup.default)(config, component);
|
|
359
282
|
}
|
|
360
|
-
|
|
361
283
|
return component;
|
|
362
284
|
};
|
|
363
|
-
|
|
364
285
|
var _default = getComponent;
|
|
365
286
|
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];
|