@refinitiv-ui/efx-grid 6.0.31 → 6.0.33
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.js +376 -126
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +4 -0
- package/lib/core/es6/grid/Core.js +79 -33
- package/lib/core/es6/grid/ILayoutGrid.js +3 -3
- package/lib/core/es6/grid/LayoutGrid.js +67 -23
- package/lib/core/es6/grid/VirtualizedLayoutGrid.js +92 -55
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +1 -0
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +29 -5
- package/lib/core/es6/grid/util/SelectionList.d.ts +6 -2
- package/lib/core/es6/grid/util/SelectionList.js +76 -7
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +521 -179
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.js +14 -13
- package/lib/rt-grid/es6/RowDefinition.js +1 -1
- package/lib/statistics-row/es6/StatisticsRow.d.ts +25 -25
- package/lib/statistics-row/es6/StatisticsRow.js +9 -4
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +4 -0
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +58 -30
- package/lib/tr-grid-column-selection/es6/ColumnSelection.d.ts +2 -0
- package/lib/tr-grid-column-selection/es6/ColumnSelection.js +14 -0
- package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +2 -0
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +35 -12
- package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +23 -1
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +339 -40
- package/lib/tr-grid-util/es6/GroupDefinitions.d.ts +2 -0
- package/lib/tr-grid-util/es6/GroupDefinitions.js +15 -0
- package/lib/tr-grid-util/es6/Util.d.ts +3 -0
- package/lib/tr-grid-util/es6/Util.js +15 -0
- package/lib/tr-grid-util/es6/jet/CollectionDict.d.ts +1 -1
- package/lib/tr-grid-util/es6/jet/CollectionDict.js +12 -2
- package/lib/tr-grid-util/es6/jet/MockQuotes2.js +170 -47
- package/lib/types/es6/ColumnGrouping.d.ts +4 -0
- package/lib/types/es6/ColumnSelection.d.ts +2 -0
- package/lib/types/es6/ColumnStack.d.ts +2 -0
- package/lib/types/es6/Core/grid/util/SelectionList.d.ts +6 -2
- package/lib/types/es6/RowDragging.d.ts +23 -1
- package/lib/types/es6/StatisticsRow.d.ts +25 -25
- package/lib/versions.json +6 -6
- package/package.json +1 -1
@@ -72,6 +72,34 @@ SelectionList.prototype.deselect = function (at) {
|
|
72
72
|
}
|
73
73
|
return false;
|
74
74
|
};
|
75
|
+
/** Deselect all selections starting from the specified index
|
76
|
+
* @public
|
77
|
+
* @param {number} at
|
78
|
+
* @return {boolean}
|
79
|
+
*/
|
80
|
+
SelectionList.prototype.deselectFrom = function (at) {
|
81
|
+
if(this._lastIndex < at) {
|
82
|
+
return false;
|
83
|
+
}
|
84
|
+
if(this._firstIndex >= at) {
|
85
|
+
this.clearAllSelections();
|
86
|
+
return true;
|
87
|
+
}
|
88
|
+
|
89
|
+
var lastIndex = this._lastIndex;
|
90
|
+
var sels = this._selections;
|
91
|
+
for(var i = at; i <= lastIndex; ++i) {
|
92
|
+
if (sels[i]) {
|
93
|
+
sels[at] = false;
|
94
|
+
--this._count;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
if (this._anchor >= at) {
|
98
|
+
this._anchor = -1; // No anchor
|
99
|
+
}
|
100
|
+
this._lastIndex = this._findPrevSelection(at);
|
101
|
+
return true;
|
102
|
+
};
|
75
103
|
/** @public
|
76
104
|
* @param {number} at
|
77
105
|
*/
|
@@ -268,14 +296,16 @@ SelectionList.prototype.getLastSelectedIndex = function() {
|
|
268
296
|
|
269
297
|
/** WARNING: It will creates a new(EXPENSIVE) defragmented array of selected Index. The selected indices will always be sorted in ascending order
|
270
298
|
* @public
|
271
|
-
* @return {Array.<number>}
|
299
|
+
* @return {!Array.<number>}
|
272
300
|
*/
|
273
301
|
SelectionList.prototype.getAllSelections = function() {
|
274
302
|
if(this._count > 0) {
|
275
303
|
var ary = new Array(this._count); // Fastest way to create an array
|
276
304
|
var count = 0;
|
277
|
-
|
278
|
-
|
305
|
+
var sels = this._selections;
|
306
|
+
var lastIdx = this._lastIndex;
|
307
|
+
for(var i = this._firstIndex; i <= lastIdx; ++i) {
|
308
|
+
if(sels[i]) {
|
279
309
|
ary[count++] = i;
|
280
310
|
}
|
281
311
|
}
|
@@ -283,6 +313,45 @@ SelectionList.prototype.getAllSelections = function() {
|
|
283
313
|
}
|
284
314
|
return [];
|
285
315
|
};
|
316
|
+
/** Get array of connected selection ranges. For intances, if indices 1, 2, 5, and 5 are selected, array of [1, 2] and [5, 5] are returned.
|
317
|
+
* @public
|
318
|
+
* @param {number=} from
|
319
|
+
* @param {number=} to EXCLUSIVE
|
320
|
+
* @return {!Array.<Array.<number>>}
|
321
|
+
*/
|
322
|
+
SelectionList.prototype.getConnectedRanges = function(from, to) {
|
323
|
+
if(this._count > 0) {
|
324
|
+
var ary = [];
|
325
|
+
if(from == null || from < this._firstIndex) {
|
326
|
+
from = this._firstIndex;
|
327
|
+
}
|
328
|
+
if(to == null || to > this._lastIndex) {
|
329
|
+
to = this._lastIndex + 1;
|
330
|
+
}
|
331
|
+
|
332
|
+
var pair = null;
|
333
|
+
for(var i = from; i < to; ++i) {
|
334
|
+
if(this._selections[i]) {
|
335
|
+
if(!pair) {
|
336
|
+
pair = [i, -1];
|
337
|
+
}
|
338
|
+
} else if(pair) {
|
339
|
+
pair[1] = i - 1;
|
340
|
+
ary.push(pair);
|
341
|
+
pair = null;
|
342
|
+
}
|
343
|
+
}
|
344
|
+
|
345
|
+
if(pair) {
|
346
|
+
pair[1] = this._lastIndex;
|
347
|
+
ary.push(pair);
|
348
|
+
pair = null;
|
349
|
+
}
|
350
|
+
return ary;
|
351
|
+
}
|
352
|
+
return [];
|
353
|
+
};
|
354
|
+
|
286
355
|
/**
|
287
356
|
* @public
|
288
357
|
* @return {Array.<boolean>}
|
@@ -310,13 +379,13 @@ SelectionList.prototype.clearAllSelections = function() {
|
|
310
379
|
* @public
|
311
380
|
* @param {SelectionList} srcSelections
|
312
381
|
* @param {number} fromSrcIndex
|
313
|
-
* @param {number}
|
382
|
+
* @param {number} offset Offset from the source index to map to destination index of this SelectionList. Use 0 if there is no shifting.
|
314
383
|
* @param {number} forLength Positive value only. negative valie is not allowed
|
315
384
|
*/
|
316
|
-
SelectionList.prototype.copyFrom = function (srcSelections, fromSrcIndex,
|
385
|
+
SelectionList.prototype.copyFrom = function (srcSelections, fromSrcIndex, offset, forLength) {
|
317
386
|
if (forLength <= 0) { return; }
|
318
387
|
|
319
|
-
var toThisIndex = fromSrcIndex +
|
388
|
+
var toThisIndex = fromSrcIndex + offset;
|
320
389
|
if (srcSelections == null) {
|
321
390
|
this.deselectRange(toThisIndex, forLength);
|
322
391
|
return;
|
@@ -337,7 +406,7 @@ SelectionList.prototype.copyFrom = function (srcSelections, fromSrcIndex, offset
|
|
337
406
|
this._anchor = -1;
|
338
407
|
if (srcSelections._anchor >= 0) {
|
339
408
|
if (srcSelections._anchor >= fromSrcIndex && srcSelections._anchor < (fromSrcIndex + forLength)) {
|
340
|
-
this._anchor = srcSelections._anchor +
|
409
|
+
this._anchor = srcSelections._anchor + offset;
|
341
410
|
}
|
342
411
|
}
|
343
412
|
};
|
package/lib/grid/index.js
CHANGED