@ukhomeoffice/cop-react-form-renderer 4.47.0 → 4.48.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.
|
@@ -109,12 +109,19 @@ var getCYARowsForCollectionPage = function getCYARowsForCollectionPage(page, onA
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
(_page$formData = page.formData) === null || _page$formData === void 0 ? void 0 : (_page$formData$page$c = _page$formData[page.collection.name]) === null || _page$formData$page$c === void 0 ? void 0 : _page$formData$page$c.forEach(function (item, index) {
|
|
112
|
+
var _page$collection2;
|
|
113
|
+
|
|
112
114
|
var labelCount = index + 1;
|
|
115
|
+
var actionPosition = ((_page$collection2 = page.collection) === null || _page$collection2 === void 0 ? void 0 : _page$collection2.actionPosition) || 'top';
|
|
113
116
|
var full_path = "".concat(page.collection.name, "[").concat(index, "]");
|
|
114
117
|
var titleRow = getTitleRowForItem(page, item, page.id, labelCount, full_path);
|
|
115
118
|
var actionRows = getActionRows(page, item, onAction, labelCount);
|
|
116
119
|
rows = rows.concat(titleRow);
|
|
117
|
-
|
|
120
|
+
|
|
121
|
+
if (actionPosition === 'top') {
|
|
122
|
+
rows = rows.concat(actionRows);
|
|
123
|
+
}
|
|
124
|
+
|
|
118
125
|
page.collectionPages.forEach(function (p) {
|
|
119
126
|
if (p.collection.route) {
|
|
120
127
|
var pageWithRoute = (0, _addShowWhen.default)(p, p.collection.route);
|
|
@@ -132,6 +139,10 @@ var getCYARowsForCollectionPage = function getCYARowsForCollectionPage(page, onA
|
|
|
132
139
|
rows = rows.concat(containerRows);
|
|
133
140
|
}
|
|
134
141
|
});
|
|
142
|
+
|
|
143
|
+
if (actionPosition === 'bottom') {
|
|
144
|
+
rows = rows.concat(actionRows);
|
|
145
|
+
}
|
|
135
146
|
});
|
|
136
147
|
return rows.filter(function (row) {
|
|
137
148
|
return !!row;
|
|
@@ -331,4 +331,61 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
331
331
|
size: 's'
|
|
332
332
|
});
|
|
333
333
|
});
|
|
334
|
+
it('should position actions under the title if actionPosition flag is not specified', function () {
|
|
335
|
+
var FORM_DATA = {
|
|
336
|
+
collection: [{
|
|
337
|
+
id: '01',
|
|
338
|
+
testText: 'value'
|
|
339
|
+
}]
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
|
|
343
|
+
formData: FORM_DATA
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null);
|
|
347
|
+
expect(ROWS[2].action.label).toEqual('Change');
|
|
348
|
+
expect(ROWS[3].action.label).toEqual('custom remove label');
|
|
349
|
+
expect(ROWS[4].action.label).toEqual('custom change label');
|
|
350
|
+
});
|
|
351
|
+
it('should position actions under the title if actionPosition flag is top', function () {
|
|
352
|
+
var FORM_DATA = {
|
|
353
|
+
collection: [{
|
|
354
|
+
id: '01',
|
|
355
|
+
testText: 'value'
|
|
356
|
+
}]
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
|
|
360
|
+
collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
|
|
361
|
+
actionPosition: 'top'
|
|
362
|
+
}),
|
|
363
|
+
formData: FORM_DATA
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null);
|
|
367
|
+
expect(ROWS[2].action.label).toEqual('Change');
|
|
368
|
+
expect(ROWS[3].action.label).toEqual('custom remove label');
|
|
369
|
+
expect(ROWS[4].action.label).toEqual('custom change label');
|
|
370
|
+
});
|
|
371
|
+
it('should position actions under all other rows if actionPosition flag is bottom', function () {
|
|
372
|
+
var FORM_DATA = {
|
|
373
|
+
collection: [{
|
|
374
|
+
id: '01',
|
|
375
|
+
testText: 'value'
|
|
376
|
+
}]
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
var PAGE = _objectSpread(_objectSpread({}, MASTER_PAGE), {}, {
|
|
380
|
+
collection: _objectSpread(_objectSpread({}, MASTER_PAGE.collection), {}, {
|
|
381
|
+
actionPosition: 'bottom'
|
|
382
|
+
}),
|
|
383
|
+
formData: FORM_DATA
|
|
384
|
+
});
|
|
385
|
+
|
|
386
|
+
var ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null);
|
|
387
|
+
expect(ROWS[ROWS.length - 3].action.label).toEqual('Change');
|
|
388
|
+
expect(ROWS[ROWS.length - 2].action.label).toEqual('custom remove label');
|
|
389
|
+
expect(ROWS[ROWS.length - 1].action.label).toEqual('custom change label');
|
|
390
|
+
});
|
|
334
391
|
});
|