@ukhomeoffice/cop-react-form-renderer 3.10.0 → 3.11.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/FormComponent/FormComponent.js +1 -1
- package/dist/hooks/useRefData.js +10 -2
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +16 -2
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +7 -2
- package/dist/utils/Data/setupRefDataUrlForComponent.js +4 -0
- package/package.json +1 -1
|
@@ -68,7 +68,7 @@ var FormComponent = function FormComponent(_ref) {
|
|
|
68
68
|
|
|
69
69
|
var validation = (0, _hooks.useValidation)();
|
|
70
70
|
|
|
71
|
-
var _useRefData = (0, _hooks.useRefData)(component),
|
|
71
|
+
var _useRefData = (0, _hooks.useRefData)(component, formData),
|
|
72
72
|
data = _useRefData.data,
|
|
73
73
|
status = _useRefData.status;
|
|
74
74
|
|
package/dist/hooks/useRefData.js
CHANGED
|
@@ -33,6 +33,12 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
33
33
|
|
|
34
34
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
35
|
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
+
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
39
|
+
|
|
40
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
|
+
|
|
36
42
|
var STATUS_LOADING = 'loading';
|
|
37
43
|
exports.STATUS_LOADING = STATUS_LOADING;
|
|
38
44
|
var STATUS_COMPLETE = 'complete';
|
|
@@ -48,8 +54,10 @@ var getRefDataUrl = function getRefDataUrl(component) {
|
|
|
48
54
|
return undefined;
|
|
49
55
|
};
|
|
50
56
|
|
|
51
|
-
var useRefData = function useRefData(component) {
|
|
52
|
-
var url = getRefDataUrl(component)
|
|
57
|
+
var useRefData = function useRefData(component, formData) {
|
|
58
|
+
var url = getRefDataUrl(_objectSpread(_objectSpread({}, component), {}, {
|
|
59
|
+
formData: formData
|
|
60
|
+
}));
|
|
53
61
|
|
|
54
62
|
var _useGetRequest = (0, _useGetRequest2.default)(url),
|
|
55
63
|
_status = _useGetRequest.status,
|
|
@@ -21,6 +21,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
21
21
|
|
|
22
22
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
23
|
|
|
24
|
+
var getEntryToCollectionRow = function getEntryToCollectionRow(page, onAction) {
|
|
25
|
+
return [{
|
|
26
|
+
pageId: page.id,
|
|
27
|
+
key: page.components[0].labels.empty || 'Nothing entered',
|
|
28
|
+
required: page.required,
|
|
29
|
+
action: {
|
|
30
|
+
page: page.id,
|
|
31
|
+
label: "Change",
|
|
32
|
+
aria_suffix: page.cya_link.aria_suffix,
|
|
33
|
+
onAction: onAction
|
|
34
|
+
}
|
|
35
|
+
}];
|
|
36
|
+
};
|
|
37
|
+
|
|
24
38
|
var getContainerForItem = function getContainerForItem(collection, item, labelCount, full_path) {
|
|
25
39
|
return {
|
|
26
40
|
id: item.id,
|
|
@@ -59,7 +73,7 @@ var getTitleRowForItem = function getTitleRowForItem(collection, item, pageId, l
|
|
|
59
73
|
};
|
|
60
74
|
|
|
61
75
|
var getCYARowsForCollection = function getCYARowsForCollection(page, collection, items, onAction) {
|
|
62
|
-
if (Array.isArray(items) && (0, _showComponentCYA.default)(collection, page.formData)) {
|
|
76
|
+
if (Array.isArray(items) && items.length && (0, _showComponentCYA.default)(collection, page.formData)) {
|
|
63
77
|
return items.flatMap(function (item, index) {
|
|
64
78
|
var labelCount = (collection.countOffset || 0) + index + 1;
|
|
65
79
|
var full_path = "".concat(collection.full_path || collection.fieldId, "[").concat(index, "]");
|
|
@@ -70,7 +84,7 @@ var getCYARowsForCollection = function getCYARowsForCollection(page, collection,
|
|
|
70
84
|
});
|
|
71
85
|
}
|
|
72
86
|
|
|
73
|
-
return
|
|
87
|
+
return getEntryToCollectionRow(page, onAction);
|
|
74
88
|
};
|
|
75
89
|
|
|
76
90
|
var _default = getCYARowsForCollection;
|
|
@@ -15,10 +15,15 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
15
15
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
16
|
|
|
17
17
|
describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
18
|
-
it('should get
|
|
18
|
+
it('should get a single entry point row when there are no items', function () {
|
|
19
19
|
var FORM_DATA = undefined;
|
|
20
20
|
var PAGE = {
|
|
21
21
|
id: 'page',
|
|
22
|
+
components: [{
|
|
23
|
+
labels: {
|
|
24
|
+
add: 'Add'
|
|
25
|
+
}
|
|
26
|
+
}],
|
|
22
27
|
formData: FORM_DATA,
|
|
23
28
|
cya_link: {}
|
|
24
29
|
};
|
|
@@ -39,7 +44,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
39
44
|
var ON_ACTION = function ON_ACTION() {};
|
|
40
45
|
|
|
41
46
|
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, undefined, ON_ACTION);
|
|
42
|
-
expect(ROWS.length).toEqual(
|
|
47
|
+
expect(ROWS.length).toEqual(1);
|
|
43
48
|
});
|
|
44
49
|
it('should get an appropriate row for a collection with a single readonly text component', function () {
|
|
45
50
|
var FORM_DATA = {
|
|
@@ -43,6 +43,10 @@ var setupRefDataUrlForComponent = function setupRefDataUrlForComponent(component
|
|
|
43
43
|
return setupRefDataForCollection(component, data);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
if (component.type === _models.ComponentTypes.SELECT) {
|
|
47
|
+
return component;
|
|
48
|
+
}
|
|
49
|
+
|
|
46
50
|
if (component.data && component.data.url) {
|
|
47
51
|
return _objectSpread(_objectSpread({}, component), {}, {
|
|
48
52
|
data: _objectSpread(_objectSpread({}, component.data), {}, {
|