@refinitiv-ui/efx-grid 6.0.37 → 6.0.38
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.js +51 -4
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +2 -0
- package/lib/core/es6/grid/Core.js +51 -4
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +103 -36
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.d.ts +1 -1
- package/lib/rt-grid/es6/Grid.js +63 -29
- package/lib/rt-grid/es6/RowDefinition.js +6 -6
- package/lib/tr-grid-cell-selection/es6/CellSelection.js +180 -421
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +106 -5
- package/lib/types/es6/Core/grid/Core.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -2
- package/lib/versions.json +2 -2
- package/package.json +1 -1
@@ -115,6 +115,7 @@ var ColumnStackPlugin = function () {
|
|
115
115
|
this._onColumnAdded = this._onColumnAdded.bind(this);
|
116
116
|
this._onBeforeBatchOperation = this._onBeforeBatchOperation.bind(this);
|
117
117
|
this._onAfterBatchOperation = this._onAfterBatchOperation.bind(this);
|
118
|
+
this._onPinningChanged = this._onPinningChanged.bind(this);
|
118
119
|
|
119
120
|
this._onStackButtonClicked = this._onStackButtonClicked.bind(this);
|
120
121
|
this._updateUI = this._updateUI.bind(this);
|
@@ -159,7 +160,10 @@ ColumnStackPlugin.prototype._inReordering = false;
|
|
159
160
|
* @private
|
160
161
|
*/
|
161
162
|
ColumnStackPlugin.prototype._inResetting = false;
|
162
|
-
|
163
|
+
/** @type {boolean}
|
164
|
+
* @private
|
165
|
+
*/
|
166
|
+
ColumnStackPlugin.prototype._inPinning = false;
|
163
167
|
|
164
168
|
/** @type {number}
|
165
169
|
* @private
|
@@ -214,6 +218,7 @@ ColumnStackPlugin.prototype.initialize = function (host, options) {
|
|
214
218
|
host.listen("columnAdded", this._onColumnAdded);
|
215
219
|
host.listen("beforeBatchOperation", this._onBeforeBatchOperation);
|
216
220
|
host.listen("afterBatchOperation", this._onAfterBatchOperation);
|
221
|
+
host.listen("pinningChanged", this._onPinningChanged);
|
217
222
|
}
|
218
223
|
host.listen("preSectionRender", this._onPreSectionRender);
|
219
224
|
|
@@ -234,6 +239,7 @@ ColumnStackPlugin.prototype.unload = function (host) {
|
|
234
239
|
host.unlisten("beforeBatchOperation", this._onBeforeBatchOperation);
|
235
240
|
host.unlisten("afterBatchOperation", this._onAfterBatchOperation);
|
236
241
|
host.unlisten("preSectionRender", this._onPreSectionRender);
|
242
|
+
host.unlisten("pinningChanged", this._onPinningChanged);
|
237
243
|
|
238
244
|
if(this._hosts.length <= 0) {
|
239
245
|
this._conflator.reset();
|
@@ -556,7 +562,7 @@ ColumnStackPlugin.prototype._getSelectedColumns = function() {
|
|
556
562
|
*/
|
557
563
|
ColumnStackPlugin.prototype._hideStackedColumns = function(stack, colRefs, activeRef) {
|
558
564
|
if(stack.spreading && !stack.collapsed) {
|
559
|
-
return; // In spreading mode, columns in an expanded stack don't need to be
|
565
|
+
return; // In spreading mode, columns in an expanded stack don't need to be hidden
|
560
566
|
}
|
561
567
|
// WARNING: activeIndex may not be valid
|
562
568
|
var activeIndex = (typeof activeRef === "number") ? activeRef : this.getColumnIndex(stack.activeColumn);
|
@@ -1069,7 +1075,7 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
|
|
1069
1075
|
if(csp && csp.isEnabled()){
|
1070
1076
|
var stackSelection = false;
|
1071
1077
|
for(i = 0; i < validCount; ++i){
|
1072
|
-
colIndex = colIndices[i];
|
1078
|
+
var colIndex = colIndices[i];
|
1073
1079
|
if(colIndex === activeIndex){
|
1074
1080
|
continue;
|
1075
1081
|
}
|
@@ -1087,6 +1093,8 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
|
|
1087
1093
|
}
|
1088
1094
|
}
|
1089
1095
|
|
1096
|
+
this._verifyColumnPinning(stack);
|
1097
|
+
|
1090
1098
|
this._groupDefs.setGroup(sid, stack);
|
1091
1099
|
|
1092
1100
|
var cfp = this._getPlugin("ColumnFilterPlugin");
|
@@ -1097,6 +1105,57 @@ ColumnStackPlugin.prototype.stackColumns = function(colRefs, stackId, options) {
|
|
1097
1105
|
return true;
|
1098
1106
|
};
|
1099
1107
|
|
1108
|
+
/** @private
|
1109
|
+
* @param {Object} stack
|
1110
|
+
*/
|
1111
|
+
ColumnStackPlugin.prototype._verifyColumnPinning = function(stack) {
|
1112
|
+
stack.leftPinned = false;
|
1113
|
+
stack.rightPinned = false;
|
1114
|
+
|
1115
|
+
var host = this._hosts[0];
|
1116
|
+
var leftPinnedIndex = host.getFrozenColumnCount() - 1;
|
1117
|
+
var rightPinnedIndex = host.getFirstPinnedRightIndex();
|
1118
|
+
var colCount = this.getColumnCount();
|
1119
|
+
|
1120
|
+
if (leftPinnedIndex < 0 && rightPinnedIndex === colCount) {
|
1121
|
+
return;
|
1122
|
+
}
|
1123
|
+
|
1124
|
+
var colIndices = this.getColumnIndices(stack.children);
|
1125
|
+
var min = colIndices[0];
|
1126
|
+
var max = colIndices[0];
|
1127
|
+
for (var i = 1; i < colIndices.length; i++) {
|
1128
|
+
var colIndex = colIndices[i];
|
1129
|
+
if (colIndex > max) { max = colIndex; }
|
1130
|
+
if (colIndex < min) { min = colIndex; }
|
1131
|
+
}
|
1132
|
+
|
1133
|
+
if (min <= leftPinnedIndex) {
|
1134
|
+
stack.leftPinned = true;
|
1135
|
+
if (max > leftPinnedIndex) {
|
1136
|
+
this._freezeColumn(max, colCount - rightPinnedIndex);
|
1137
|
+
}
|
1138
|
+
} else if (max >= rightPinnedIndex) {
|
1139
|
+
stack.rightPinned = true;
|
1140
|
+
if (min < rightPinnedIndex) {
|
1141
|
+
this._freezeColumn(leftPinnedIndex, colCount - min);
|
1142
|
+
}
|
1143
|
+
}
|
1144
|
+
};
|
1145
|
+
|
1146
|
+
/** @private
|
1147
|
+
* @param {number} frozenColIndex
|
1148
|
+
* @param {number} numRightColumn
|
1149
|
+
*/
|
1150
|
+
ColumnStackPlugin.prototype._freezeColumn = function(frozenColIndex, numRightColumn) {
|
1151
|
+
this._inPinning = true;
|
1152
|
+
var hosts = this._hosts;
|
1153
|
+
for (var i = 0; i < hosts.length; i++) {
|
1154
|
+
hosts[i].freezeColumn(frozenColIndex, numRightColumn);
|
1155
|
+
}
|
1156
|
+
this._inPinning = false;
|
1157
|
+
};
|
1158
|
+
|
1100
1159
|
/** @public
|
1101
1160
|
* @description Replace all of the stacking in the Grid with a new one.
|
1102
1161
|
* Grid stores the stacked fields indefinitely.
|
@@ -1307,7 +1366,7 @@ ColumnStackPlugin.prototype._onColumnRemoved = function (e) {
|
|
1307
1366
|
} else {
|
1308
1367
|
var colData = /** @type{Object} */(e.columnData);
|
1309
1368
|
var field = colData ? colData.field : "";
|
1310
|
-
stackOpt = this._groupDefs.getParentGroup(
|
1369
|
+
stackOpt = this._groupDefs.getParentGroup(field);
|
1311
1370
|
if(stackOpt) {
|
1312
1371
|
colRef = field;
|
1313
1372
|
} else {
|
@@ -1426,7 +1485,17 @@ ColumnStackPlugin.prototype._onAfterBatchOperation = function (e) {
|
|
1426
1485
|
this._inReordering = false;
|
1427
1486
|
}
|
1428
1487
|
};
|
1429
|
-
|
1488
|
+
/** @private
|
1489
|
+
* @param {Object} e
|
1490
|
+
*/
|
1491
|
+
ColumnStackPlugin.prototype._onPinningChanged = function (e) {
|
1492
|
+
if (!this._inPinning) {
|
1493
|
+
var stacks = this._groupDefs.getGroups();
|
1494
|
+
for (var i = 0; i < stacks.length; i++) {
|
1495
|
+
this._verifyColumnPinning(stacks[i]);
|
1496
|
+
}
|
1497
|
+
}
|
1498
|
+
};
|
1430
1499
|
/** @private
|
1431
1500
|
* @param {number} colIndex
|
1432
1501
|
* @return {Object} stackOption
|
@@ -1477,6 +1546,7 @@ ColumnStackPlugin.prototype._removeRefFromStack = function (stackOption, colRef,
|
|
1477
1546
|
this._setColumnVisibility(colIndex, true);
|
1478
1547
|
}
|
1479
1548
|
this._updateActiveColumn(stackOption); // This may trigger _updateUI
|
1549
|
+
|
1480
1550
|
return true;
|
1481
1551
|
};
|
1482
1552
|
|
@@ -1673,6 +1743,21 @@ ColumnStackPlugin.prototype.addColumnToStack = function(colRef, stackId) {
|
|
1673
1743
|
// Pack stacked columns together
|
1674
1744
|
this._moveStackedColumns(stack.children);
|
1675
1745
|
|
1746
|
+
// Update pinning position
|
1747
|
+
if (stack.leftPinned || stack.rightPinned) {
|
1748
|
+
var host = this._hosts[0];
|
1749
|
+
var leftPinnedIndex = host.getFrozenColumnCount() - 1;
|
1750
|
+
var rightPinnedCount = host.getPinnedRightColumnCount();
|
1751
|
+
|
1752
|
+
if (stack.leftPinned) {
|
1753
|
+
leftPinnedIndex++;
|
1754
|
+
this._freezeColumn(leftPinnedIndex, rightPinnedCount);
|
1755
|
+
} else if (stack.rightPinned) {
|
1756
|
+
rightPinnedCount--;
|
1757
|
+
this._freezeColumn(leftPinnedIndex, rightPinnedCount);
|
1758
|
+
}
|
1759
|
+
}
|
1760
|
+
|
1676
1761
|
this._updateUI();
|
1677
1762
|
};
|
1678
1763
|
|
@@ -1719,6 +1804,22 @@ ColumnStackPlugin.prototype.removeColumnFromStack = function(colRef) {
|
|
1719
1804
|
this._removeRefFromStack(stack, colRef, colIndex);
|
1720
1805
|
|
1721
1806
|
this.moveColumnById(colIndex, colIndices[memberCount - 1] + 1); // This assumes that the column order is already in correct position
|
1807
|
+
|
1808
|
+
// Update pinning position
|
1809
|
+
if (stack.leftPinned || stack.rightPinned) {
|
1810
|
+
var host = this._hosts[0];
|
1811
|
+
var leftPinnedIndex = host.getFrozenColumnCount() - 1;
|
1812
|
+
var rightPinnedCount = host.getPinnedRightColumnCount();
|
1813
|
+
|
1814
|
+
if (stack.leftPinned) {
|
1815
|
+
leftPinnedIndex--;
|
1816
|
+
this._freezeColumn(leftPinnedIndex, rightPinnedCount);
|
1817
|
+
} else if (stack.rightPinned) {
|
1818
|
+
rightPinnedCount++;
|
1819
|
+
this._freezeColumn(leftPinnedIndex, rightPinnedCount);
|
1820
|
+
}
|
1821
|
+
}
|
1822
|
+
|
1722
1823
|
this._updateUI();
|
1723
1824
|
};
|
1724
1825
|
|
@@ -359,6 +359,8 @@ declare class Core extends ElementWrapper {
|
|
359
359
|
|
360
360
|
public synchronizeVScrollbar(subGrid: Core|null): void;
|
361
361
|
|
362
|
+
public synchronizeHScrollbar(subGrid: Core|null): void;
|
363
|
+
|
362
364
|
public updateRowData(sectionRef?: Core.SectionReference|null, fromRowIndex?: number|null, lastRowIndex?: number|null, userParam?: any): void;
|
363
365
|
|
364
366
|
public rerender(): void;
|
@@ -37,7 +37,7 @@ declare class RowDefinition {
|
|
37
37
|
|
38
38
|
public initialize(rowOptions?: RowDefinition.Options|null): void;
|
39
39
|
|
40
|
-
public setContent(userInput: string, permId?: string|null, asChain?: boolean|null, expanded?: boolean|null): boolean;
|
40
|
+
public setContent(userInput: string, permId?: string|null, asChain?: boolean|null, expanded?: boolean|null, realTime?: boolean|null): boolean;
|
41
41
|
|
42
42
|
public getRowId(): string;
|
43
43
|
|
@@ -143,7 +143,7 @@ declare const ROW_DEF: string;
|
|
143
143
|
|
144
144
|
declare const ROW_TYPES: RowDefinition.RowTypes;
|
145
145
|
|
146
|
-
declare function rowData(userInput: string, permId?: string|null, asChain?: boolean|null, expanded?: boolean|null): boolean;
|
146
|
+
declare function rowData(userInput: string, permId?: string|null, asChain?: boolean|null, expanded?: boolean|null, realTime?: boolean|null): boolean;
|
147
147
|
|
148
148
|
export {RowDefinition, ROW_DEF, ROW_TYPES};
|
149
149
|
export default RowDefinition;
|
package/lib/versions.json
CHANGED
@@ -5,14 +5,14 @@
|
|
5
5
|
"@grid/statistics-row": "1.0.14",
|
6
6
|
"@grid/zoom": "1.0.11",
|
7
7
|
"tr-grid-auto-tooltip": "1.1.5",
|
8
|
-
"tr-grid-cell-selection": "1.0.
|
8
|
+
"tr-grid-cell-selection": "1.0.33",
|
9
9
|
"tr-grid-checkbox": "1.0.60",
|
10
10
|
"tr-grid-column-fitter": "1.0.39",
|
11
11
|
"tr-grid-column-formatting": "0.9.34",
|
12
12
|
"tr-grid-column-grouping": "1.0.47",
|
13
13
|
"tr-grid-column-resizing": "1.0.28",
|
14
14
|
"tr-grid-column-selection": "1.0.28",
|
15
|
-
"tr-grid-column-stack": "1.0.
|
15
|
+
"tr-grid-column-stack": "1.0.61",
|
16
16
|
"tr-grid-conditional-coloring": "1.0.61",
|
17
17
|
"tr-grid-content-wrap": "1.0.20",
|
18
18
|
"tr-grid-contextmenu": "1.0.38",
|
package/package.json
CHANGED