Skip to content

Commit ed833c4

Browse files
⏫ Forwardport of #11846 to 2.3-develop branch
Applied pull request patch https://github.com/magento/magento2/pull/11846.patch (created by @deiserh) based on commit(s): 1. 0f948ac 2. 6f70d06 3. 8f52242 4. c464951
1 parent 8e77e2f commit ed833c4

File tree

3 files changed

+46
-2
lines changed

3 files changed

+46
-2
lines changed

app/code/Magento/Catalog/view/adminhtml/web/js/components/dynamic-rows-tier-price.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ define([
99
], function (_, DynamicRows) {
1010
'use strict';
1111

12+
/**
13+
* @deprecated Parent method contains labels sorting.
14+
* @see Magento_Ui/js/dynamic-rows/dynamic-rows
15+
*/
1216
return DynamicRows.extend({
1317

1418
/**

app/code/Magento/Ui/view/base/web/js/dynamic-rows/dynamic-rows.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,8 @@ define([
533533
* Init header elements
534534
*/
535535
initHeader: function () {
536-
var data;
536+
var labels = [],
537+
data;
537538

538539
if (!this.labels().length) {
539540
_.each(this.childTemplate.children, function (cell) {
@@ -547,8 +548,9 @@ define([
547548
sortOrder: cell.config.sortOrder
548549
});
549550

550-
this.labels.push(data);
551+
labels.push(data);
551552
}, this);
553+
this.labels(_.sortBy(labels, 'sortOrder'));
552554
}
553555
},
554556

dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/dynamic-rows/dynamic-rows.test.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,5 +131,43 @@ define([
131131
model.deleteRecord(1, 1);
132132
expect(model.recordData()).toEqual([]);
133133
});
134+
135+
it('"initHeader" sortOrder', function () {
136+
var labels = [{
137+
name: 'Name 1',
138+
config: {
139+
label: 'Label 1',
140+
validation: false,
141+
columnsHeaderClasses: '',
142+
sortOrder: 10
143+
}
144+
}, {
145+
name: 'Name 2',
146+
config: {
147+
label: 'Label 2',
148+
validation: false,
149+
columnsHeaderClasses: '',
150+
sortOrder: 5
151+
}
152+
}],
153+
result = [{
154+
label: 'Label 2',
155+
name: 'Name 2',
156+
required: false,
157+
columnsHeaderClasses: '',
158+
sortOrder: 5
159+
}, {
160+
label: 'Label 1',
161+
name: 'Name 1',
162+
required: false,
163+
columnsHeaderClasses: '',
164+
sortOrder: 10
165+
}];
166+
167+
model.childTemplate = {
168+
children: labels
169+
};
170+
expect(JSON.stringify(model.labels())).toEqual(JSON.stringify(result));
171+
});
134172
});
135173
});

0 commit comments

Comments
 (0)