This repository was archived by the owner on Apr 29, 2019. It is now read-only.
File tree 3 files changed +46
-27
lines changed
Catalog/view/adminhtml/web/js/components
Ui/view/base/web/js/dynamic-rows
dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/dynamic-rows 3 files changed +46
-27
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,10 @@ define([
9
9
] , function ( _ , DynamicRows ) {
10
10
'use strict' ;
11
11
12
+ /**
13
+ * @deprecated Parent method contains labels sorting.
14
+ * @see Magento_Ui/js/dynamic-rows/dynamic-rows
15
+ */
12
16
return DynamicRows . extend ( {
13
17
14
18
/**
Original file line number Diff line number Diff line change @@ -533,7 +533,8 @@ define([
533
533
* Init header elements
534
534
*/
535
535
initHeader : function ( ) {
536
- var data ;
536
+ var labels = [ ] ,
537
+ data ;
537
538
538
539
if ( ! this . labels ( ) . length ) {
539
540
_ . each ( this . childTemplate . children , function ( cell ) {
@@ -547,15 +548,9 @@ define([
547
548
sortOrder : cell . config . sortOrder
548
549
} ) ;
549
550
550
- this . labels . push ( data ) ;
551
-
552
- /**
553
- * Sort the array after an element was added to fix an bug where
554
- * additional added field labels in ui_components haven't the right
555
- * sort order.
556
- */
557
- this . labels . sort ( this . _compare ) ;
551
+ labels . push ( data ) ;
558
552
} , this ) ;
553
+ this . labels ( _ . sortBy ( labels , 'sortOrder' ) ) ;
559
554
}
560
555
} ,
561
556
@@ -921,24 +916,6 @@ define([
921
916
} ) ) ;
922
917
} ,
923
918
924
- /**
925
- * Compare two objects by the sortOrder property.
926
- *
927
- * @param {Object } $object1
928
- * @param {Object } $object2
929
- * @returns {Number }
930
- * @private
931
- */
932
- _compare : function ( $object1 , $object2 ) {
933
- if ( $object1 . sortOrder > $object2 . sortOrder ) {
934
- return 1 ;
935
- } else if ( $object1 . sortOrder < $object2 . sortOrder ) {
936
- return - 1 ;
937
- }
938
-
939
- return 0 ;
940
- } ,
941
-
942
919
/**
943
920
* Set new data to dataSource,
944
921
* delete element
Original file line number Diff line number Diff line change @@ -131,5 +131,43 @@ define([
131
131
model . deleteRecord ( 1 , 1 ) ;
132
132
expect ( model . recordData ( ) ) . toEqual ( [ ] ) ;
133
133
} ) ;
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
+ } ) ;
134
172
} ) ;
135
173
} ) ;
You can’t perform that action at this time.
0 commit comments