@refinitiv-ui/efx-grid 6.0.21 → 6.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/column-dragging/es6/ColumnDragging.js +46 -24
- package/lib/core/dist/core.js +61 -14
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.js +11 -1
- package/lib/core/es6/grid/LayoutGrid.js +1 -0
- package/lib/core/es6/grid/components/CellSpans.d.ts +2 -0
- package/lib/core/es6/grid/components/CellSpans.js +35 -10
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +2 -0
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +14 -3
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +369 -90
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.d.ts +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.js +21 -36
- package/lib/rt-grid/es6/FieldDefinition.d.ts +7 -1
- package/lib/rt-grid/es6/FieldDefinition.js +93 -4
- package/lib/rt-grid/es6/Grid.d.ts +4 -1
- package/lib/rt-grid/es6/Grid.js +88 -25
- package/lib/rt-grid/es6/ReferenceCounter.js +13 -2
- package/lib/rt-grid/es6/RowDefinition.d.ts +2 -0
- package/lib/rt-grid/es6/RowDefinition.js +74 -8
- package/lib/rt-grid/es6/SnapshotFiller.js +1 -1
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +5 -1
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +228 -55
- package/lib/types/es6/ColumnGrouping.d.ts +5 -1
- package/lib/types/es6/Core/grid/components/CellSpans.d.ts +2 -0
- package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +4 -1
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -0
- package/lib/versions.json +2 -2
- package/package.json +3 -2
@@ -128,6 +128,10 @@ ColumnDraggingPlugin.prototype._dragPulseId = 0;
|
|
128
128
|
*/
|
129
129
|
ColumnDraggingPlugin.prototype._pos = null; // Cache of current mouse position
|
130
130
|
/** @private
|
131
|
+
* @type {Object}
|
132
|
+
*/
|
133
|
+
ColumnDraggingPlugin.prototype._startPos = null; // Cache of start column position
|
134
|
+
/** @private
|
131
135
|
* @type {number}
|
132
136
|
*/
|
133
137
|
ColumnDraggingPlugin.prototype._cacheLeft = 0;
|
@@ -413,6 +417,7 @@ ColumnDraggingPlugin.prototype._onMouseDown = function (e) {
|
|
413
417
|
this._clickedSection = section;
|
414
418
|
this._clickedRow = rowIndex;
|
415
419
|
|
420
|
+
this._startPos = this._pos;
|
416
421
|
this._startColumn = movingColumns["left"];
|
417
422
|
this._endColumn = movingColumns["right"];
|
418
423
|
this._leftMovableBorder = movableBorder["left"];
|
@@ -601,31 +606,47 @@ ColumnDraggingPlugin.prototype._onDragEnd = function (e) {
|
|
601
606
|
|
602
607
|
if (!operationCancelled) {
|
603
608
|
if (!this._noColumnMoving) {
|
604
|
-
var
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
609
|
+
var cgp = this._getPlugin("ColumnGroupingPlugin");
|
610
|
+
if(cgp){
|
611
|
+
var cellInfo = cgp.getCellInfo(this._startPos);
|
612
|
+
var srcId = cellInfo["groupId"] || cellInfo["columnId"];
|
613
|
+
var destIndex = this._destColumn;
|
614
|
+
|
615
|
+
// Move group always move to the left of destination
|
616
|
+
// When moving forward, destnation need to added by 1 to move correctly
|
617
|
+
if (this._startColumn < this._destColumn) {
|
618
|
+
destIndex = this._destColumn + 1;
|
619
|
+
}
|
620
|
+
if(srcId){
|
621
|
+
cgp.moveGroup(srcId, destIndex);
|
622
|
+
}
|
623
|
+
} else {
|
624
|
+
var shiftStart = -1;
|
625
|
+
var shiftEnd = -1;
|
626
|
+
var moveSize = -1;
|
627
|
+
if (this._startColumn > this._destColumn) { //Move backward
|
628
|
+
shiftStart = this._destColumn;
|
629
|
+
shiftEnd = this._startColumn - 1;
|
630
|
+
moveSize = -1 * (this._startColumn - this._destColumn); //Move to the left
|
631
|
+
} else
|
632
|
+
if (this._startColumn < this._destColumn) { //Move foward
|
633
|
+
shiftStart = this._endColumn + 1;
|
634
|
+
shiftEnd = this._destColumn;
|
635
|
+
moveSize = ((shiftEnd - shiftStart) + 1); //Move to the right
|
636
|
+
}
|
617
637
|
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
638
|
+
//Perform moving all columns in the range
|
639
|
+
for(var j = this._hosts.length; --j >= 0;) {
|
640
|
+
var host = this._hosts[j];
|
641
|
+
var i;
|
642
|
+
if (moveSize > 0) { //Move forward
|
643
|
+
for (i = this._startColumn; i <= this._endColumn; i++) {
|
644
|
+
host.moveColumn(this._startColumn, this._destColumn);
|
645
|
+
}
|
646
|
+
} else { //Move backward
|
647
|
+
for (i = this._startColumn; i <= this._endColumn; i++) {
|
648
|
+
host.moveColumn(this._startColumn + (i - this._startColumn), this._destColumn + (i - this._startColumn));
|
649
|
+
}
|
629
650
|
}
|
630
651
|
}
|
631
652
|
}
|
@@ -673,6 +694,7 @@ ColumnDraggingPlugin.prototype._onDragPulse = function() {
|
|
673
694
|
*/
|
674
695
|
ColumnDraggingPlugin.prototype._clearCache = function() {
|
675
696
|
this._startColumn = this._endColumn = this._destColumn = -1;
|
697
|
+
this._startPos = null;
|
676
698
|
|
677
699
|
this._leftMovableBorder = this._rightMovableBorder = -1;
|
678
700
|
|
package/lib/core/dist/core.js
CHANGED
@@ -5272,6 +5272,33 @@ CellSpans.prototype.removeColumn = function (at) { // Use when a column is remov
|
|
5272
5272
|
}
|
5273
5273
|
return dirty;
|
5274
5274
|
};
|
5275
|
+
/** @public
|
5276
|
+
* @param {boolean=} bool
|
5277
|
+
*/
|
5278
|
+
CellSpans.prototype.freezeMapping = function (bool) {
|
5279
|
+
this._frozenMapping = bool !== false;
|
5280
|
+
if(!this._frozenMapping) {
|
5281
|
+
this._mapCellSpans();
|
5282
|
+
}
|
5283
|
+
};
|
5284
|
+
|
5285
|
+
|
5286
|
+
/** @private
|
5287
|
+
*/
|
5288
|
+
CellSpans.prototype._mapCellSpans = function () {
|
5289
|
+
var cellSpans = this._spans;
|
5290
|
+
this._spans = [];
|
5291
|
+
this._occupiedMap = {};
|
5292
|
+
var i, cellSpan;
|
5293
|
+
for(i = cellSpans.length; --i >= 0;) {
|
5294
|
+
cellSpan = cellSpans[i];
|
5295
|
+
if(cellSpan.indexX >= 0) {
|
5296
|
+
cellSpan.register(this._spans, this._occupiedMap);
|
5297
|
+
}
|
5298
|
+
}
|
5299
|
+
};
|
5300
|
+
|
5301
|
+
|
5275
5302
|
/** @public
|
5276
5303
|
* @param {number} from
|
5277
5304
|
* @param {number} amount This can be negative number
|
@@ -5288,18 +5315,10 @@ CellSpans.prototype.shiftColumn = function (from, amount) { // Use when a column
|
|
5288
5315
|
cellSpan.indexX += amount;
|
5289
5316
|
}
|
5290
5317
|
}
|
5291
|
-
if(!dirty) { return false; }
|
5318
|
+
if(!dirty || this._frozenMapping) { return false; }
|
5292
5319
|
|
5293
5320
|
// Re-registers all cellspans. Some of the cellspans may be lost due to shifting
|
5294
|
-
|
5295
|
-
this._spans = [];
|
5296
|
-
this._occupiedMap = {};
|
5297
|
-
for(i = cellSpans.length; --i >= 0;) {
|
5298
|
-
cellSpan = cellSpans[i];
|
5299
|
-
if(cellSpan.indexX >= 0) {
|
5300
|
-
cellSpan.register(this._spans, this._occupiedMap);
|
5301
|
-
}
|
5302
|
-
}
|
5321
|
+
this._mapCellSpans();
|
5303
5322
|
return true;
|
5304
5323
|
};
|
5305
5324
|
/** @public
|
@@ -5588,6 +5607,12 @@ CellSpans.prototype._spans;
|
|
5588
5607
|
*/
|
5589
5608
|
CellSpans.prototype._occupiedMap;
|
5590
5609
|
|
5610
|
+
/**
|
5611
|
+
* @private
|
5612
|
+
* @type {boolean}
|
5613
|
+
*/
|
5614
|
+
CellSpans.prototype._frozenMapping = false;
|
5615
|
+
|
5591
5616
|
/* harmony default export */ const components_CellSpans = (CellSpans);
|
5592
5617
|
|
5593
5618
|
|
@@ -9341,6 +9366,7 @@ LayoutGrid.prototype.setFrozenLayout = function (bool) {
|
|
9341
9366
|
if (this._frozenLayout !== bool) {
|
9342
9367
|
this._frozenLayout = bool;
|
9343
9368
|
|
9369
|
+
this._cellSpans.freezeMapping(this._frozenLayout);
|
9344
9370
|
if (!this._frozenLayout) {
|
9345
9371
|
this._syncLayoutToColumns(0);
|
9346
9372
|
this._syncLayoutToRows(0, this._rowCount);
|
@@ -24225,7 +24251,7 @@ Core_Core.prototype._rowHeightTimerId = 0;
|
|
24225
24251
|
* @return {string}
|
24226
24252
|
*/
|
24227
24253
|
Core_Core.getVersion = function () {
|
24228
|
-
return "5.1.
|
24254
|
+
return "5.1.32";
|
24229
24255
|
};
|
24230
24256
|
/** {@link ElementWrapper#dispose}
|
24231
24257
|
* @override
|
@@ -26577,6 +26603,13 @@ Core_Core.prototype.freezeLayout = function (opt_bool) {
|
|
26577
26603
|
if (prevState !== opt_bool) {
|
26578
26604
|
this._frozenLayout = opt_bool;
|
26579
26605
|
|
26606
|
+
var stp = this.getPlugin("SortableTitlePlugin");
|
26607
|
+
if(this._frozenLayout) {
|
26608
|
+
if(stp) {
|
26609
|
+
stp.freezeIndicator(true);
|
26610
|
+
}
|
26611
|
+
}
|
26612
|
+
|
26580
26613
|
if (!this._frozenLayout) {
|
26581
26614
|
// Width has not yet changed so we need to disable it first
|
26582
26615
|
this._disableEvent("widthChanged");
|
@@ -26605,6 +26638,9 @@ Core_Core.prototype.freezeLayout = function (opt_bool) {
|
|
26605
26638
|
if(!viewChanged) { // Always update virtualizer
|
26606
26639
|
this._rowVirtualizer.update(true); // Force section activation
|
26607
26640
|
}
|
26641
|
+
if(stp) {
|
26642
|
+
stp.freezeIndicator(false);
|
26643
|
+
}
|
26608
26644
|
}
|
26609
26645
|
this._rowHeightSync = true;
|
26610
26646
|
}
|
@@ -29252,6 +29288,10 @@ SortableTitlePlugin.prototype._userManagedLogic = false;
|
|
29252
29288
|
* @type {boolean}
|
29253
29289
|
*/
|
29254
29290
|
SortableTitlePlugin.prototype._disabled = false;
|
29291
|
+
/** @private
|
29292
|
+
* @type {boolean}
|
29293
|
+
*/
|
29294
|
+
SortableTitlePlugin.prototype._frozenIndicator = false;
|
29255
29295
|
/** Since DataView in real-time grid has only one ROW_DEF column, we need to re-map sorting field to sort correctly.
|
29256
29296
|
* @private
|
29257
29297
|
* @type {boolean}
|
@@ -29810,8 +29850,9 @@ SortableTitlePlugin.prototype.sortColumns = function (sortOptions, opt_arg) {
|
|
29810
29850
|
* @param {Object=} opt_arg Event argument to be sent with preDataSorting event
|
29811
29851
|
*/
|
29812
29852
|
SortableTitlePlugin.prototype.clearSortState = function (opt_arg) {
|
29813
|
-
this._popSortState(0, opt_arg)
|
29814
|
-
|
29853
|
+
if(this._popSortState(0, opt_arg)) {
|
29854
|
+
this.updateSortSymbols();
|
29855
|
+
}
|
29815
29856
|
};
|
29816
29857
|
/** @description Perform sorting with the same parameter.
|
29817
29858
|
* @public
|
@@ -30016,6 +30057,12 @@ SortableTitlePlugin.prototype.disableTwoStateSorting = function (disabled) {
|
|
30016
30057
|
|
30017
30058
|
};
|
30018
30059
|
/** @public
|
30060
|
+
* @param {boolean=} bool=true, if set to false it will be unfreeze indicator
|
30061
|
+
*/
|
30062
|
+
SortableTitlePlugin.prototype.freezeIndicator = function (bool) {
|
30063
|
+
this._frozenIndicator = bool !== false;
|
30064
|
+
};
|
30065
|
+
/** @public
|
30019
30066
|
* @param {boolean=} disabled
|
30020
30067
|
*/
|
30021
30068
|
SortableTitlePlugin.prototype.disableSortSymbols = function (disabled) {
|
@@ -30628,7 +30675,7 @@ SortableTitlePlugin.prototype._clearSortSymbols = function (state) {
|
|
30628
30675
|
SortableTitlePlugin.prototype._updateSortableIndicator = function (hostIndex) {
|
30629
30676
|
var t = this;
|
30630
30677
|
var host = t._hosts[hostIndex];
|
30631
|
-
if (!host) { return; }
|
30678
|
+
if (!host || this._frozenIndicator) { return; }
|
30632
30679
|
|
30633
30680
|
var section = host.getSection("title");
|
30634
30681
|
if (section == null) { return; }
|