@refinitiv-ui/efx-grid 6.0.154 → 6.0.155
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.js +158 -59
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/DataTable.d.ts +2 -2
- package/lib/core/es6/data/DataTable.js +48 -55
- package/lib/core/es6/data/DataView.d.ts +1 -1
- package/lib/core/es6/data/DataView.js +14 -2
- package/lib/core/es6/data/Segment.d.ts +4 -0
- package/lib/core/es6/data/Segment.js +78 -1
- package/lib/core/es6/data/SegmentCollection.d.ts +2 -0
- package/lib/core/es6/data/SegmentCollection.js +17 -0
- package/lib/core/es6/grid/Core.js +1 -1
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +669 -349
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.js +9 -8
- package/lib/types/es6/Core/data/DataTable.d.ts +2 -2
- package/lib/types/es6/Core/data/DataView.d.ts +1 -1
- package/lib/types/es6/Core/data/Segment.d.ts +4 -0
- package/lib/types/es6/Core/data/SegmentCollection.d.ts +2 -0
- package/package.json +1 -1
package/lib/core/dist/core.js
CHANGED
@@ -13388,7 +13388,7 @@ Segment.prototype.getChildCount = function() {
|
|
13388
13388
|
*/
|
13389
13389
|
Segment.prototype.markCollapsingStateDirty = function() {
|
13390
13390
|
// A segment can have a child and/or autogenerated segment (subsegment) to not be considered as empty.
|
13391
|
-
if(this._childIds.length ||
|
13391
|
+
if(this._childIds.length || this._subSegDef) {
|
13392
13392
|
this._shared.dirtyCollapsingState = true;
|
13393
13393
|
}
|
13394
13394
|
};
|
@@ -13782,6 +13782,83 @@ Segment.prototype.getSubSegmentName = function(row) {
|
|
13782
13782
|
}
|
13783
13783
|
return this._subSegName;
|
13784
13784
|
};
|
13785
|
+
/**
|
13786
|
+
* @private
|
13787
|
+
* @param {!Segment} segment
|
13788
|
+
* @returns {string}
|
13789
|
+
*/
|
13790
|
+
let _toSegmentId = function(segment) {
|
13791
|
+
return segment.getId();
|
13792
|
+
};
|
13793
|
+
/**
|
13794
|
+
* @public
|
13795
|
+
* @param {!Function} comparer
|
13796
|
+
* @returns {boolean} Returns true if there is any change
|
13797
|
+
*/
|
13798
|
+
Segment.prototype.sortSegments = function(comparer) {
|
13799
|
+
if(!comparer || this.hasSubSegments()) {
|
13800
|
+
return false;
|
13801
|
+
}
|
13802
|
+
|
13803
|
+
let segmentList = [];
|
13804
|
+
let rids = [];
|
13805
|
+
let childIds = this._childIds;
|
13806
|
+
let childCount = childIds.length;
|
13807
|
+
let segments = this._shared.segments;
|
13808
|
+
for(let i = 0; i < childCount; ++i) {
|
13809
|
+
let childId = childIds[i];
|
13810
|
+
let childSegment = segments[childId];
|
13811
|
+
if(childSegment) {
|
13812
|
+
segmentList.push(childSegment);
|
13813
|
+
} else {
|
13814
|
+
rids.push(childId);
|
13815
|
+
}
|
13816
|
+
}
|
13817
|
+
if(segmentList.length < 2) {
|
13818
|
+
return false;
|
13819
|
+
}
|
13820
|
+
segmentList.sort(comparer);
|
13821
|
+
this._childIds = rids.concat(segmentList.map(_toSegmentId));
|
13822
|
+
return true;
|
13823
|
+
};
|
13824
|
+
/** Get segment id and ids of children, including nested segments, but excluding sub segments
|
13825
|
+
* @public
|
13826
|
+
* @param {Array.<string>} ary
|
13827
|
+
* @return {!Array.<string>}
|
13828
|
+
*/
|
13829
|
+
Segment.prototype.getFlattenTreeIds = function(ary) {
|
13830
|
+
if(!ary) {
|
13831
|
+
ary = [];
|
13832
|
+
}
|
13833
|
+
|
13834
|
+
if(!this._subSegment) { // Sub segments are excluded from tree
|
13835
|
+
ary.push(this._rid);
|
13836
|
+
}
|
13837
|
+
let i;
|
13838
|
+
let segmentNames = this._subSegNames;
|
13839
|
+
if(segmentNames) { // Classified segment
|
13840
|
+
let segmentCount = segmentNames.length;
|
13841
|
+
let segmentMap = this._subSegMap;
|
13842
|
+
for(i = 0; i < segmentCount; ++i) {
|
13843
|
+
segmentMap[segmentNames[i]].getFlattenTreeIds(ary);
|
13844
|
+
}
|
13845
|
+
} else {
|
13846
|
+
let childIds = this._childIds;
|
13847
|
+
let childCount = childIds.length;
|
13848
|
+
let segments = this._shared.segments;
|
13849
|
+
for(i = 0; i < childCount; ++i) {
|
13850
|
+
let childId = childIds[i];
|
13851
|
+
let childSegment = segments[childId];
|
13852
|
+
if(childSegment) {
|
13853
|
+
childSegment.getFlattenTreeIds(ary);
|
13854
|
+
} else {
|
13855
|
+
ary.push(childId);
|
13856
|
+
}
|
13857
|
+
}
|
13858
|
+
}
|
13859
|
+
|
13860
|
+
return ary;
|
13861
|
+
};
|
13785
13862
|
|
13786
13863
|
/** @public
|
13787
13864
|
* @param {boolean=} bool
|
@@ -14189,6 +14266,23 @@ SegmentCollection.prototype.getSegments = function() {
|
|
14189
14266
|
SegmentCollection.prototype.getSegmentIds = function() {
|
14190
14267
|
return Object.keys(this._segments);
|
14191
14268
|
};
|
14269
|
+
/** @public
|
14270
|
+
* @param {!Function} comparer
|
14271
|
+
* @return {!Array.<Segment>}
|
14272
|
+
*/
|
14273
|
+
SegmentCollection.prototype.sortSegments = function(comparer) {
|
14274
|
+
let rootSegments = [];
|
14275
|
+
let segmentSeparators = this._segments;
|
14276
|
+
for(let rid in segmentSeparators) {
|
14277
|
+
let segment = segmentSeparators[rid];
|
14278
|
+
segment.sortSegments(comparer);
|
14279
|
+
if(segment.isRootSegment()) {
|
14280
|
+
rootSegments.push(segment);
|
14281
|
+
}
|
14282
|
+
}
|
14283
|
+
rootSegments.sort(comparer);
|
14284
|
+
return rootSegments;
|
14285
|
+
};
|
14192
14286
|
|
14193
14287
|
|
14194
14288
|
/** @public
|
@@ -15596,7 +15690,7 @@ DataTable.prototype.getSortingLogics = function() {
|
|
15596
15690
|
};
|
15597
15691
|
/** @public
|
15598
15692
|
* @param {string|Array.<string>} cid Column id
|
15599
|
-
* @param {string|number|Array.<string|number
|
15693
|
+
* @param {(string|number|Array.<string|number>)=} sortOrders "a"|"d"|"n"
|
15600
15694
|
* @param {DataTable.SortLogic=} customComparer
|
15601
15695
|
* @param {*=} contextObj Context object that will be provided as the forth parameter of the given comparer method
|
15602
15696
|
* @return {boolean} Return true if there is any change, otherwise false
|
@@ -16106,50 +16200,51 @@ DataTable.prototype.getSegmentChildIds = function(segmentId) {
|
|
16106
16200
|
}
|
16107
16201
|
return null;
|
16108
16202
|
};
|
16203
|
+
/**
|
16204
|
+
* @private
|
16205
|
+
* @param {(Array|number)} sortOrder
|
16206
|
+
* @param {*} context
|
16207
|
+
*/
|
16208
|
+
DataTable.prototype._setSegmentSortContext = function (sortOrder, context) {
|
16209
|
+
this._segmentSortOrder = sortOrder;
|
16210
|
+
this._segmentSortContext = context;
|
16211
|
+
};
|
16109
16212
|
/** Sort all of existing segments by multiple sort logics
|
16110
16213
|
* @public
|
16111
16214
|
* @param {Function|Array.<Function>|Object} sortLogics
|
16112
|
-
* @param {Array.<number>=} sortOrders
|
16215
|
+
* @param {Array.<number|string>=} sortOrders
|
16113
16216
|
* @param {Array.<string>=} cids
|
16114
16217
|
* @return {boolean}
|
16115
16218
|
*/
|
16116
16219
|
DataTable.prototype.sortSeparators = function (sortLogics, sortOrders, cids) {
|
16117
|
-
let dirty = false;
|
16118
16220
|
if(!this._segments){
|
16119
16221
|
return false;
|
16120
16222
|
}
|
16121
16223
|
if(typeof sortLogics === "function"){
|
16224
|
+
this._setSegmentSortContext(DataTable._getSortOrder(sortOrders), cids);
|
16122
16225
|
return this.sortSegments(sortLogics);
|
16123
16226
|
}
|
16227
|
+
if(!cids) {
|
16228
|
+
return false;
|
16229
|
+
}
|
16124
16230
|
let sortingDefs = DataTable._buildSortContext(
|
16125
16231
|
[],
|
16126
16232
|
cids,
|
16127
16233
|
sortOrders,
|
16128
|
-
sortLogics
|
16234
|
+
sortLogics || this._compMap
|
16129
16235
|
);
|
16130
|
-
let defCount = sortingDefs
|
16131
|
-
|
16132
|
-
return dirty;
|
16133
|
-
}
|
16134
|
-
|
16135
|
-
let sortOrder = 0;
|
16136
|
-
let sortLogic, sortContext;
|
16236
|
+
let defCount = sortingDefs.length;
|
16237
|
+
let sortLogic = null;
|
16137
16238
|
if(defCount > 1) {
|
16138
16239
|
sortLogic = DataTable._multiColumnSeparatorCompareLogic;
|
16139
|
-
|
16140
|
-
|
16141
|
-
} else { // Single level sorting
|
16240
|
+
this._setSegmentSortContext(1, sortingDefs);
|
16241
|
+
} else if(defCount === 1) { // Single level sorting
|
16142
16242
|
sortLogic = DataTable._singleColumnSeparatorCompareLogic;
|
16143
|
-
|
16144
|
-
|
16243
|
+
this._setSegmentSortContext(sortingDefs[0][3], sortingDefs[0]); // sortOrder and context
|
16244
|
+
} else {
|
16245
|
+
return false;
|
16145
16246
|
}
|
16146
|
-
this.
|
16147
|
-
this._segmentSortContext = sortContext;
|
16148
|
-
dirty = this.sortSegments(sortLogic);
|
16149
|
-
this._segmentSortOrder = 0;
|
16150
|
-
this._segmentSortContext = null;
|
16151
|
-
|
16152
|
-
return dirty;
|
16247
|
+
return this.sortSegments(sortLogic);
|
16153
16248
|
};
|
16154
16249
|
/** Sort all of existing segments by given compare function
|
16155
16250
|
* @public
|
@@ -16164,40 +16259,33 @@ DataTable.prototype.sortSegments = function (compare) {
|
|
16164
16259
|
this._segments.calcSegmentOrder(this._rids);
|
16165
16260
|
return false;
|
16166
16261
|
}
|
16167
|
-
let rids = this._rids;
|
16168
|
-
let segments = this._segments;
|
16169
|
-
let segmentCount = segments.getSegmentCount();
|
16170
|
-
let segmentList = [];
|
16171
|
-
let origOrder = [];
|
16172
|
-
let itemCount = 0;
|
16173
|
-
let rowCount = rids.length;
|
16174
|
-
let rid = "";
|
16175
|
-
let segment = null;
|
16176
|
-
let i;
|
16177
|
-
for(i = 0; i < rowCount; ++i) {
|
16178
|
-
rid = rids[i];
|
16179
|
-
segment = segments.getSegment(rid);
|
16180
|
-
if(segment) {
|
16181
|
-
origOrder.push(i);
|
16182
|
-
segmentList.push(segment);
|
16183
|
-
if(++itemCount >= segmentCount) {
|
16184
|
-
break;
|
16185
|
-
}
|
16186
|
-
}
|
16187
|
-
}
|
16188
16262
|
|
16189
16263
|
this._userSegmentComparer = compare;
|
16190
|
-
|
16264
|
+
|
16265
|
+
let segments = this._segments;
|
16266
|
+
let rootSegments = segments.sortSegments(this._bySegmentSeparator);
|
16267
|
+
|
16191
16268
|
this._userSegmentComparer = null;
|
16269
|
+
this._setSegmentSortContext(0, null);
|
16192
16270
|
|
16271
|
+
let rids = this._rids;
|
16272
|
+
let origRids = rids.slice();
|
16273
|
+
let rowCount = rids.length;
|
16274
|
+
rids.length = 0;
|
16275
|
+
|
16276
|
+
let segmentCount = 0;
|
16193
16277
|
let dirty = false;
|
16194
|
-
for(i = 0; i <
|
16195
|
-
let
|
16196
|
-
|
16197
|
-
segment
|
16198
|
-
|
16199
|
-
|
16200
|
-
|
16278
|
+
for(let i = 0; i < rowCount; ++i) {
|
16279
|
+
let rid = origRids[i];
|
16280
|
+
let segment = segments.getSegment(rid);
|
16281
|
+
if(segment) {
|
16282
|
+
if(segment.isRootSegment()) {
|
16283
|
+
rootSegments[segmentCount++].getFlattenTreeIds(rids);
|
16284
|
+
}
|
16285
|
+
} else if(!segments.getParentRowId(rid)) {
|
16286
|
+
rids.push(rid);
|
16287
|
+
}
|
16288
|
+
if(rid !== rids[i]) {
|
16201
16289
|
dirty = true;
|
16202
16290
|
}
|
16203
16291
|
}
|
@@ -16206,9 +16294,8 @@ DataTable.prototype.sortSegments = function (compare) {
|
|
16206
16294
|
this._segments.calcSegmentOrder(rids);
|
16207
16295
|
this._sort(null);
|
16208
16296
|
this._dispatchPositionChange();
|
16209
|
-
return true;
|
16210
16297
|
}
|
16211
|
-
return
|
16298
|
+
return dirty;
|
16212
16299
|
};
|
16213
16300
|
/** Sort all of existing segments by given compare function
|
16214
16301
|
* @private
|
@@ -16491,7 +16578,7 @@ DataTable._positionChangeArg = {"globalChange": true, "positionChangeOnly": true
|
|
16491
16578
|
* @function
|
16492
16579
|
* @public
|
16493
16580
|
* @ignore
|
16494
|
-
* @param {Array.<Array>} out_defs Output object. Array is used to optimize property accessing time.
|
16581
|
+
* @param {!Array.<Array>} out_defs Output object. Array is used to optimize property accessing time.
|
16495
16582
|
* @param {string|Array.<string>} cids
|
16496
16583
|
* @param {string|number|Array.<string|number>=} sortOrders
|
16497
16584
|
* @param {Function|Array.<Function>|Object.<string, DataTable.SortLogic>=} logics
|
@@ -21530,10 +21617,22 @@ DataView.prototype.getSegmentChildIds = function(segmentRef) {
|
|
21530
21617
|
/** Sort all of existing segments by multiple sort logics
|
21531
21618
|
* @public
|
21532
21619
|
* @param {Function|Array.<Function>|Object} sortLogics
|
21533
|
-
* @param {Array.<number
|
21534
|
-
* @param {Array.<string
|
21620
|
+
* @param {(number|Array.<number>)=} sortOrders
|
21621
|
+
* @param {(string|Array.<string>)=} cids
|
21535
21622
|
*/
|
21536
21623
|
DataView.prototype.sortSeparators = function (sortLogics, sortOrders, cids) {
|
21624
|
+
let sortingDefs = this._sortingDefs;
|
21625
|
+
if(sortingDefs.length) {
|
21626
|
+
if(!cids) {
|
21627
|
+
cids = sortingDefs[0][0]; // field
|
21628
|
+
}
|
21629
|
+
if(!sortOrders) {
|
21630
|
+
sortOrders = sortingDefs[0][3];
|
21631
|
+
}
|
21632
|
+
} else if(!sortLogics) {
|
21633
|
+
return;
|
21634
|
+
}
|
21635
|
+
|
21537
21636
|
this._dt.sortSeparators(sortLogics, sortOrders, cids);
|
21538
21637
|
};
|
21539
21638
|
/** Sort all of existing segments by given compare function
|
@@ -26188,7 +26287,7 @@ Core_Core.prototype._hasPendingRowChange = false;
|
|
26188
26287
|
* @return {string}
|
26189
26288
|
*/
|
26190
26289
|
Core_Core.getVersion = function () {
|
26191
|
-
return "5.1.
|
26290
|
+
return "5.1.140";
|
26192
26291
|
};
|
26193
26292
|
/** {@link ElementWrapper#dispose}
|
26194
26293
|
* @override
|