@ukhomeoffice/cop-react-form-renderer 4.59.0 → 4.61.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.
|
@@ -58,6 +58,7 @@ var FormPage = function FormPage(_ref) {
|
|
|
58
58
|
onWrapperChange = _ref.onWrapperChange,
|
|
59
59
|
onTopLevelChange = _ref.onTopLevelChange,
|
|
60
60
|
onChange = _ref.onChange,
|
|
61
|
+
hashLink = _ref.hashLink,
|
|
61
62
|
classBlock = _ref.classBlock,
|
|
62
63
|
classModifiers = _ref.classModifiers,
|
|
63
64
|
className = _ref.className;
|
|
@@ -115,7 +116,8 @@ var FormPage = function FormPage(_ref) {
|
|
|
115
116
|
className: classes('page'),
|
|
116
117
|
key: page.id
|
|
117
118
|
}, (errors === null || errors === void 0 ? void 0 : errors.length) > 0 && /*#__PURE__*/_react.default.createElement(_copReactComponents.ErrorSummary, {
|
|
118
|
-
errors: errors
|
|
119
|
+
errors: errors,
|
|
120
|
+
hashLink: hashLink
|
|
119
121
|
}), page.title && /*#__PURE__*/_react.default.createElement(_copReactComponents.LargeHeading, null, _utils.default.interpolateString(page.title, page.formData)), page.components.filter(function (c) {
|
|
120
122
|
return _utils.default.Component.show(c, page.formData);
|
|
121
123
|
}).map(function (component, index) {
|
|
@@ -69,6 +69,7 @@ var FormRenderer = function FormRenderer(_ref) {
|
|
|
69
69
|
hub = _ref.hub,
|
|
70
70
|
cya = _ref.cya,
|
|
71
71
|
data = _ref.data,
|
|
72
|
+
hashLink = _ref.hashLink,
|
|
72
73
|
hooks = _ref.hooks,
|
|
73
74
|
classBlock = _ref.classBlock,
|
|
74
75
|
classModifiers = _ref.classModifiers,
|
|
@@ -91,6 +92,7 @@ var FormRenderer = function FormRenderer(_ref) {
|
|
|
91
92
|
classBlock: classBlock,
|
|
92
93
|
classModifiers: classModifiers,
|
|
93
94
|
className: className,
|
|
95
|
+
hashLink: hashLink,
|
|
94
96
|
hide_title: hide_title,
|
|
95
97
|
summaryListClassModifiers: summaryListClassModifiers,
|
|
96
98
|
noChangeAction: noChangeAction,
|
|
@@ -115,6 +117,7 @@ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
|
|
|
115
117
|
classBlock = _ref2.classBlock,
|
|
116
118
|
classModifiers = _ref2.classModifiers,
|
|
117
119
|
className = _ref2.className,
|
|
120
|
+
hashLink = _ref2.hashLink,
|
|
118
121
|
hide_title = _ref2.hide_title,
|
|
119
122
|
summaryListClassModifiers = _ref2.summaryListClassModifiers,
|
|
120
123
|
noChangeAction = _ref2.noChangeAction,
|
|
@@ -254,8 +257,11 @@ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
|
|
|
254
257
|
}, [pages, hub, pageId, setFormState, type, goingBack, data, formState.page]); // Call the onFormLoad hook just when this component first renders.
|
|
255
258
|
|
|
256
259
|
(0, _react.useEffect)(function () {
|
|
257
|
-
setPagePoint(undefined);
|
|
258
|
-
|
|
260
|
+
setPagePoint(undefined); // In case of refresh the current task needs to be reset
|
|
261
|
+
|
|
262
|
+
hooks.onFormLoad(function (currentTask) {
|
|
263
|
+
return setCurrentTask(currentTask);
|
|
264
|
+
});
|
|
259
265
|
}, [hooks]);
|
|
260
266
|
(0, _react.useEffect)(function () {
|
|
261
267
|
setHubDetails(_hub);
|
|
@@ -357,9 +363,7 @@ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
|
|
|
357
363
|
break;
|
|
358
364
|
|
|
359
365
|
case _models.PageAction.TYPES.SAVE_AND_NAVIGATE:
|
|
360
|
-
var state = {
|
|
361
|
-
'fullPages': currentTask.fullPages
|
|
362
|
-
};
|
|
366
|
+
var state = _objectSpread({}, currentTask);
|
|
363
367
|
|
|
364
368
|
pageUpdate = function pageUpdate() {
|
|
365
369
|
return _handlers.default.navigate(action, pageId, onPageChange, state);
|
|
@@ -490,6 +494,8 @@ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
|
|
|
490
494
|
});
|
|
491
495
|
setCurrentTask(currentTask);
|
|
492
496
|
|
|
497
|
+
var state = _objectSpread({}, currentTask);
|
|
498
|
+
|
|
493
499
|
if (currentTask.state === _models.TaskStates.TYPES.COMPLETE) {
|
|
494
500
|
if (hubDetails !== null && hubDetails !== void 0 && hubDetails.noTaskCYAs) {
|
|
495
501
|
var currentPage = data.formStatus.tasks[currentTask.name].currentPage;
|
|
@@ -497,19 +503,16 @@ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
|
|
|
497
503
|
} else if (currentTask.customCYA) {
|
|
498
504
|
onPageChange(currentTask.customCYA);
|
|
499
505
|
} else {
|
|
500
|
-
onPageChange(_models.FormPages.CYA);
|
|
506
|
+
onPageChange(_models.FormPages.CYA, state);
|
|
501
507
|
}
|
|
502
508
|
} else if (currentTask.state === _models.TaskStates.TYPES.IN_PROGRESS) {
|
|
503
509
|
var _currentPage = data.formStatus.tasks[currentTask.name].currentPage;
|
|
504
|
-
var state = {
|
|
505
|
-
'fullPages': currentTask.fullPages
|
|
506
|
-
};
|
|
507
510
|
onPageChange(_currentPage || currentTask.pages[0], state);
|
|
508
511
|
} else if (currentTask.firstPage) {
|
|
509
512
|
var _currentPage2 = currentTask.firstPage;
|
|
510
|
-
onPageChange(_currentPage2 || currentTask.pages[0]);
|
|
513
|
+
onPageChange(_currentPage2 || currentTask.pages[0], state);
|
|
511
514
|
} else {
|
|
512
|
-
onPageChange(currentTask.pages[0]);
|
|
515
|
+
onPageChange(currentTask.pages[0], state);
|
|
513
516
|
}
|
|
514
517
|
}
|
|
515
518
|
}; // Handle actions from "Check your answers".
|
|
@@ -646,7 +649,8 @@ var InternalFormRenderer = function InternalFormRenderer(_ref2) {
|
|
|
646
649
|
})), formState.page && !formState.cya && !formState.page.collection && /*#__PURE__*/_react.default.createElement(_FormPage.default, {
|
|
647
650
|
page: formState.page,
|
|
648
651
|
onAction: onPageAction,
|
|
649
|
-
onChange: onChange
|
|
652
|
+
onChange: onChange,
|
|
653
|
+
hashLink: hashLink
|
|
650
654
|
}), formState.page && !formState.cya && formState.page.collection && /*#__PURE__*/_react.default.createElement(_CollectionPage.default, {
|
|
651
655
|
page: formState.page,
|
|
652
656
|
onAction: onPageAction
|
|
@@ -660,6 +664,7 @@ FormRenderer.propTypes = InternalFormRenderer.propTypes = {
|
|
|
660
664
|
type: _propTypes.default.oneOf([_models.FormTypes.CYA, _models.FormTypes.FORM, _models.FormTypes.HUB, _models.FormTypes.TASK, _models.FormTypes.WIZARD, _models.FormTypes.TASK_CYA, _models.FormTypes.FORM_WITH_TASK]).isRequired,
|
|
661
665
|
components: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
662
666
|
pages: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
|
|
667
|
+
hashLink: _propTypes.default.bool,
|
|
663
668
|
hub: _propTypes.default.object,
|
|
664
669
|
cya: _propTypes.default.object,
|
|
665
670
|
data: _propTypes.default.object,
|
|
@@ -678,6 +683,7 @@ FormRenderer.defaultProps = InternalFormRenderer.defaultProps = {
|
|
|
678
683
|
pages: [],
|
|
679
684
|
classBlock: DEFAULT_CLASS,
|
|
680
685
|
classModifiers: [],
|
|
686
|
+
hashLink: false,
|
|
681
687
|
hide_title: false,
|
|
682
688
|
summaryListClassModifiers: [],
|
|
683
689
|
noChangeAction: false,
|
|
@@ -32,11 +32,9 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
32
32
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
33
|
|
|
34
34
|
var DEFAULT_HOOKS = {
|
|
35
|
-
onChange: function onChange(data) {
|
|
36
|
-
return data;
|
|
37
|
-
},
|
|
35
|
+
onChange: function onChange(data) {},
|
|
38
36
|
onFormComplete: function onFormComplete() {},
|
|
39
|
-
onFormLoad: function onFormLoad() {},
|
|
37
|
+
onFormLoad: function onFormLoad(setCurrentTask) {},
|
|
40
38
|
onGetComponent: function onGetComponent(config, wrap) {
|
|
41
39
|
return null;
|
|
42
40
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ukhomeoffice/cop-react-form-renderer",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.61.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "rimraf dist",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"post-compile": "rimraf dist/*.test.* dist/**/*.test.* dist/**/*.stories.* dist/docs dist/assets"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@ukhomeoffice/cop-react-components": "2.
|
|
19
|
+
"@ukhomeoffice/cop-react-components": "^2.11.0",
|
|
20
20
|
"axios": "^0.23.0",
|
|
21
21
|
"dayjs": "^1.11.0",
|
|
22
22
|
"govuk-frontend": "^4.3.1",
|
|
@@ -97,4 +97,4 @@
|
|
|
97
97
|
"last 1 safari version"
|
|
98
98
|
]
|
|
99
99
|
}
|
|
100
|
-
}
|
|
100
|
+
}
|