@refinitiv-ui/efx-grid 6.0.39 → 6.0.41
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +2 -1
- package/lib/column-selection-dialog/lib/column-selection-dialog.js +23 -7
- package/lib/core/dist/core.js +39 -28
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.js +34 -26
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +5 -2
- package/lib/grid/index.js +1 -1
- package/lib/row-segmenting/es6/RowSegmenting.js +4 -4
- package/lib/rt-grid/dist/rt-grid.js +2191 -1780
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.d.ts +1 -0
- package/lib/rt-grid/es6/ColumnDefinition.js +7 -8
- package/lib/rt-grid/es6/Grid.d.ts +2 -0
- package/lib/rt-grid/es6/Grid.js +91 -30
- package/lib/rt-grid/es6/RowDefinition.d.ts +4 -5
- package/lib/rt-grid/es6/RowDefinition.js +103 -52
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +26 -40
- package/lib/tr-grid-contextmenu/es6/ContextMenu.d.ts +27 -27
- package/lib/tr-grid-contextmenu/es6/ContextMenu.js +97 -93
- package/lib/tr-grid-contextmenu/es6/MenuEventAPI.d.ts +3 -3
- package/lib/tr-grid-contextmenu/es6/MenuItem.d.ts +2 -2
- package/lib/tr-grid-contextmenu/es6/PopupMenu.d.ts +5 -5
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +30 -12
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +2 -1
- package/lib/tr-grid-rowcoloring/es6/RowColoring.js +50 -18
- package/lib/tr-grid-util/es6/CellPainter.d.ts +2 -1
- package/lib/tr-grid-util/es6/CellPainter.js +6 -4
- package/lib/tr-grid-util/es6/ExpressionParser.d.ts +10 -0
- package/lib/tr-grid-util/es6/ExpressionParser.js +366 -0
- package/lib/tr-grid-util/es6/FilterBuilder.d.ts +10 -6
- package/lib/tr-grid-util/es6/FilterBuilder.js +264 -234
- package/lib/tr-grid-util/es6/FilterOperators.d.ts +3 -1
- package/lib/tr-grid-util/es6/FilterOperators.js +51 -2
- package/lib/tr-grid-util/es6/Util.d.ts +0 -3
- package/lib/tr-grid-util/es6/Util.js +0 -53
- package/lib/tr-grid-util/es6/formula/Formula.js +3 -3
- package/lib/types/es6/ColumnDragging.d.ts +51 -0
- package/lib/types/es6/ContextMenu.d.ts +27 -27
- package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +3 -0
- package/lib/types/es6/ExtensionOptions.d.ts +2 -0
- package/lib/types/es6/Extensions.d.ts +3 -1
- package/lib/types/es6/MenuEventAPI.d.ts +3 -3
- package/lib/types/es6/MenuItem.d.ts +2 -2
- package/lib/types/es6/PopupMenu.d.ts +5 -5
- package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +1 -0
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +2 -0
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +4 -5
- package/lib/types/es6/index.d.ts +1 -0
- package/lib/versions.json +10 -10
- package/package.json +1 -1
@@ -31,6 +31,7 @@ import VirtualizedLayoutGrid from "./VirtualizedLayoutGrid.js";
|
|
31
31
|
* @property {string} rowId
|
32
32
|
* @property {number} rowIndex
|
33
33
|
*/
|
34
|
+
/** @event Core#beforeContentBinding */
|
34
35
|
/** @event Core#postSectionDataBinding */
|
35
36
|
/** @event Core#rowHighlighted */
|
36
37
|
|
@@ -193,6 +194,7 @@ var Core = function (opt_initializer) {
|
|
193
194
|
"postDataSourceChanged",
|
194
195
|
"preSectionRender",
|
195
196
|
"postSectionRender",
|
197
|
+
"beforeContentBinding",
|
196
198
|
"preSectionDataBinding",
|
197
199
|
"postSectionDataBinding",
|
198
200
|
"rowExpansionBinding",
|
@@ -554,7 +556,7 @@ Core.prototype._batches = null;
|
|
554
556
|
* @return {string}
|
555
557
|
*/
|
556
558
|
Core.getVersion = function () {
|
557
|
-
return "5.1.
|
559
|
+
return "5.1.59";
|
558
560
|
};
|
559
561
|
/** {@link ElementWrapper#dispose}
|
560
562
|
* @override
|
@@ -1356,6 +1358,7 @@ Core.prototype.getColumnCount = function () {
|
|
1356
1358
|
* @fires Core#columnAdded
|
1357
1359
|
* @fires Core#preSectionRender
|
1358
1360
|
* @fires Core#columnRender
|
1361
|
+
* @fires Core#beforeContentBinding
|
1359
1362
|
* @fires Core#preSectionDataBinding
|
1360
1363
|
* @fires Core#columnDataBinding
|
1361
1364
|
* @fires Core#postSectionDataBinding
|
@@ -1383,6 +1386,7 @@ Core.prototype.setColumnCount = function(num) {
|
|
1383
1386
|
* @fires Core#columnAdded
|
1384
1387
|
* @fires Core#preSectionRender
|
1385
1388
|
* @fires Core#columnRender
|
1389
|
+
* @fires Core#beforeContentBinding
|
1386
1390
|
* @fires Core#preSectionDataBinding
|
1387
1391
|
* @fires Core#columnDataBinding
|
1388
1392
|
* @fires Core#postSectionDataBinding
|
@@ -1499,16 +1503,12 @@ Core.prototype.removeColumnAt = function (index) {
|
|
1499
1503
|
|
1500
1504
|
if (this._hasListener("columnRemoved")) {
|
1501
1505
|
var e = {};
|
1502
|
-
var batches = this._batches;
|
1503
|
-
if(batches){
|
1504
|
-
e["batches"] = batches;
|
1505
|
-
}
|
1506
1506
|
e["atTheMiddle"] = true;
|
1507
1507
|
e["colIndex"] = index;
|
1508
1508
|
e["columns"] = "deprecated";
|
1509
1509
|
e["columnData"] = colDef["columnData"];
|
1510
1510
|
e["colId"] = colDef["id"] || "";
|
1511
|
-
this.
|
1511
|
+
this._dispatchColumnEvent("columnRemoved", e);
|
1512
1512
|
}
|
1513
1513
|
|
1514
1514
|
// Last index in view here might be different from before moving column if columns have different width.
|
@@ -1761,7 +1761,7 @@ Core.prototype._moveColumn = function (fromCol, destCol) {
|
|
1761
1761
|
e["fromColIndex"] = fromCol;
|
1762
1762
|
e["toColIndex"] = destCol;
|
1763
1763
|
e["colId"] = colId; // TODO: Id may not needed
|
1764
|
-
this.
|
1764
|
+
this._dispatchColumnEvent("columnMoved", e); // add remove move
|
1765
1765
|
}
|
1766
1766
|
|
1767
1767
|
// Last index in view here might be different from before moving column if columns have different width.
|
@@ -1831,6 +1831,9 @@ Core.prototype.reorderColumns = function (colRefs, destCol) {
|
|
1831
1831
|
destId = destCol;
|
1832
1832
|
}
|
1833
1833
|
|
1834
|
+
this.startBatch("move");
|
1835
|
+
|
1836
|
+
var dirty = 0;
|
1834
1837
|
if(Array.isArray(colRefs)) {
|
1835
1838
|
var srcLen = colRefs.length;
|
1836
1839
|
if(srcLen > 1) {
|
@@ -1873,7 +1876,6 @@ Core.prototype.reorderColumns = function (colRefs, destCol) {
|
|
1873
1876
|
}
|
1874
1877
|
}
|
1875
1878
|
|
1876
|
-
var dirty = 0;
|
1877
1879
|
for(i = srcLen; --i >= 0;) {
|
1878
1880
|
srcId = srcIds[i]; // Only valid source columns are left at this point
|
1879
1881
|
srcIdx = this.getColumnIndex(srcId);
|
@@ -1884,17 +1886,15 @@ Core.prototype.reorderColumns = function (colRefs, destCol) {
|
|
1884
1886
|
dirty |= this._moveColumnByIndex(srcIdx, destIdx);
|
1885
1887
|
destId = srcId;
|
1886
1888
|
}
|
1887
|
-
return dirty ? true : false;
|
1888
1889
|
} else {
|
1889
|
-
|
1890
|
+
dirty = this.moveColumnById(colRefs[0], destId);
|
1890
1891
|
}
|
1891
|
-
}
|
1892
|
-
|
1893
|
-
if(colRefs != null) {
|
1892
|
+
} else if(colRefs != null) {
|
1894
1893
|
// colRefs will be a number or string
|
1895
|
-
|
1894
|
+
dirty = this.moveColumnById(colRefs, destId);
|
1896
1895
|
}
|
1897
|
-
|
1896
|
+
this.stopBatch("move");
|
1897
|
+
return dirty ? true : false;
|
1898
1898
|
};
|
1899
1899
|
|
1900
1900
|
/** @public
|
@@ -2001,6 +2001,7 @@ Core.prototype._deserializeColumn = function (index, jsonObj) {
|
|
2001
2001
|
* @param {number=} opt_num Default is one row
|
2002
2002
|
* @fires Core#preSectionRender
|
2003
2003
|
* @fires Core#columnRender
|
2004
|
+
* @fires Core#beforeContentBinding
|
2004
2005
|
* @fires Core#preSectionDataBinding
|
2005
2006
|
* @fires Core#columnDataBinding
|
2006
2007
|
* @fires Core#postSectionDataBinding
|
@@ -3804,6 +3805,7 @@ Core.prototype.synchronizeHScrollbar = function (subGrid) {
|
|
3804
3805
|
* @param {number=} fromRowIndex INCLUSIVE If the value is undefined, the first row index will be used
|
3805
3806
|
* @param {number=} lastRowIndex INCLUSIVE If the value is undefined, the last row index will be used
|
3806
3807
|
* @param {Object=} userParam Addtional parameters to be fired with the event
|
3808
|
+
* @fires Core#beforeContentBinding
|
3807
3809
|
* @fires Core#preSectionDataBinding
|
3808
3810
|
* @fires Core#columnDataBinding
|
3809
3811
|
* @fires Core#postSectionDataBinding
|
@@ -4446,6 +4448,17 @@ Core.prototype.stopBatch = function (batchType) {
|
|
4446
4448
|
|
4447
4449
|
//#region Private Methods
|
4448
4450
|
/** @private
|
4451
|
+
* @param {string} type
|
4452
|
+
* @param {!Object} eventArg
|
4453
|
+
*/
|
4454
|
+
Core.prototype._dispatchColumnEvent = function (type, eventArg) {
|
4455
|
+
var batches = this._batches;
|
4456
|
+
if(batches){
|
4457
|
+
eventArg["batches"] = batches;
|
4458
|
+
}
|
4459
|
+
this._dispatch(type, eventArg);
|
4460
|
+
};
|
4461
|
+
/** @private
|
4449
4462
|
*/
|
4450
4463
|
Core.prototype._dispatchColumnPositionChanged = function () {
|
4451
4464
|
if(this._columnPositionConflator.conflate()) {
|
@@ -4685,20 +4698,16 @@ Core.prototype._dispatchColumnAddedEvent = function (at, count, atTheMiddle, ctx
|
|
4685
4698
|
if (this._hasListener("columnAdded")) {
|
4686
4699
|
var e = {};
|
4687
4700
|
e["atTheMiddle"] = atTheMiddle;
|
4688
|
-
var batches = this._batches;
|
4689
|
-
if(batches){
|
4690
|
-
e["batches"] = batches;
|
4691
|
-
}
|
4692
4701
|
if(count === 1) {
|
4693
4702
|
e["colIndex"] = at;
|
4694
4703
|
e["context"] = ctx;
|
4695
|
-
this.
|
4704
|
+
this._dispatchColumnEvent("columnAdded", e);
|
4696
4705
|
} else {
|
4697
4706
|
var ary = Array.isArray(ctx) ? ctx : [];
|
4698
4707
|
for (var i = 0; i < count; ++i) {
|
4699
4708
|
e["colIndex"] = at + i;
|
4700
4709
|
e["context"] = ary[i];
|
4701
|
-
this.
|
4710
|
+
this._dispatchColumnEvent("columnAdded", e);
|
4702
4711
|
}
|
4703
4712
|
}
|
4704
4713
|
}
|
@@ -4840,15 +4849,11 @@ Core.prototype._removeColumn = function (num) { // TODO: change the logic to us
|
|
4840
4849
|
|
4841
4850
|
if (this._hasListener("columnRemoved")) {
|
4842
4851
|
var e = {};
|
4843
|
-
var batches = this._batches;
|
4844
|
-
if(batches){
|
4845
|
-
e["batches"] = batches;
|
4846
|
-
}
|
4847
4852
|
for (var c = colCount; --c >= newCount; ) {
|
4848
4853
|
var colDef = removedCols[c - newCount];
|
4849
4854
|
e["colIndex"] = c;
|
4850
4855
|
e["columnData"] = colDef ? colDef["columnData"] : null;
|
4851
|
-
this.
|
4856
|
+
this._dispatchColumnEvent("columnRemoved", e);
|
4852
4857
|
}
|
4853
4858
|
}
|
4854
4859
|
};
|
@@ -4881,6 +4886,9 @@ Core.prototype._onSectionDataChanged = function (e) {
|
|
4881
4886
|
rowDataCollection = dataView.getMultipleRowData(rids, fromR, toR);
|
4882
4887
|
e["dataRows"] = rowDataCollection;
|
4883
4888
|
}
|
4889
|
+
if(e["sectionType"] === "content"){
|
4890
|
+
this._dispatch("beforeContentBinding", e);
|
4891
|
+
}
|
4884
4892
|
this._dispatch("preSectionDataBinding", e);
|
4885
4893
|
|
4886
4894
|
var dataMap = this.getDataColumnMap();
|
@@ -1525,8 +1525,11 @@ SortableTitlePlugin.prototype._onColumnAdded = function (e) {
|
|
1525
1525
|
|
1526
1526
|
var sortOrder = column["sortOrder"] || column["sort"];
|
1527
1527
|
if(sortOrder != null) {
|
1528
|
-
|
1529
|
-
|
1528
|
+
sortOrder = SortableTitlePlugin._toSortOrder(sortOrder); // Invalid input will return "n"
|
1529
|
+
if(sortOrder !== "n") {
|
1530
|
+
t.clearSortState(); // clear previous sorting state
|
1531
|
+
t.sortColumn(colIndex, sortOrder);
|
1532
|
+
}
|
1530
1533
|
}
|
1531
1534
|
};
|
1532
1535
|
|
package/lib/grid/index.js
CHANGED
@@ -33,7 +33,7 @@ import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
|
33
33
|
*/
|
34
34
|
var RowSegmentingPlugin = function (options) {
|
35
35
|
var t = this;
|
36
|
-
t.
|
36
|
+
t._onPreSectionDataBinding = t._onPreSectionDataBinding.bind(t);
|
37
37
|
t._updateHeader = t._updateHeader.bind(t);
|
38
38
|
t._onArrowClick = t._onArrowClick.bind(t);
|
39
39
|
t._rtSortingLogic = t._rtSortingLogic.bind(t);
|
@@ -128,7 +128,7 @@ RowSegmentingPlugin.prototype.initialize = function (host, options) {
|
|
128
128
|
ExpanderIcon.injectExpanderStyles(host.getElement());
|
129
129
|
|
130
130
|
this._hosts.push(host);
|
131
|
-
host.listen("
|
131
|
+
host.listen("preSectionDataBinding", this._onPreSectionDataBinding);
|
132
132
|
|
133
133
|
this.config(options);
|
134
134
|
|
@@ -182,7 +182,7 @@ RowSegmentingPlugin.prototype.unload = function (host) {
|
|
182
182
|
if (at < 0) {
|
183
183
|
return;
|
184
184
|
}
|
185
|
-
host.unlisten("
|
185
|
+
host.unlisten("preSectionDataBinding", this._onPreSectionDataBinding);
|
186
186
|
this._hosts.splice(at, 1);
|
187
187
|
this._dispose();
|
188
188
|
};
|
@@ -338,7 +338,7 @@ RowSegmentingPlugin.prototype._injectStyles = function(predefinedColors) {
|
|
338
338
|
/** @private
|
339
339
|
* @param {Object} e
|
340
340
|
*/
|
341
|
-
RowSegmentingPlugin.prototype.
|
341
|
+
RowSegmentingPlugin.prototype._onPreSectionDataBinding = function (e) {
|
342
342
|
this._updateHeader(
|
343
343
|
e.sectionSettings,
|
344
344
|
e.fromRowIndex,
|