@refinitiv-ui/efx-grid 6.0.34 → 6.0.36
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/column-dragging/es6/ColumnDragging.js +50 -40
- package/lib/core/dist/core.css +1 -1
- package/lib/core/dist/core.js +248 -8
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/DataCache.js +20 -1
- package/lib/core/es6/data/DataTable.d.ts +2 -0
- package/lib/core/es6/data/DataTable.js +18 -1
- package/lib/core/es6/data/DataView.d.ts +2 -0
- package/lib/core/es6/data/DataView.js +11 -0
- package/lib/core/es6/grid/Core.d.ts +12 -0
- package/lib/core/es6/grid/Core.js +88 -3
- package/lib/core/es6/grid/ILayoutGrid.js +4 -0
- package/lib/core/es6/grid/LayoutGrid.d.ts +4 -0
- package/lib/core/es6/grid/LayoutGrid.js +95 -3
- package/lib/core/es6/grid/VirtualizedLayoutGrid.js +6 -0
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +6 -0
- package/lib/core/es6/tr-grid-theme.js +1 -1
- package/lib/grid/index.js +1 -1
- package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
- package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/grid/themes/halo/efx-grid.less +1 -1
- package/lib/grid/themes/halo/light/efx-grid.js +1 -1
- package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +367 -148
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.js +37 -31
- package/lib/rt-grid/es6/RowDefSorter.d.ts +5 -5
- package/lib/rt-grid/es6/RowDefSorter.js +165 -71
- package/lib/tr-grid-column-selection/es6/ColumnSelection.js +66 -0
- package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +3 -0
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +566 -607
- package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +1 -1
- package/lib/tr-grid-range-bar/es6/RangeBar.d.ts +4 -1
- package/lib/tr-grid-range-bar/es6/RangeBar.js +99 -39
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +14 -3
- package/lib/tr-grid-rowcoloring/es6/RowColoring.js +3 -2
- package/lib/tr-grid-util/es6/DragUI.js +7 -3
- package/lib/tr-grid-util/es6/GroupDefinitions.d.ts +7 -1
- package/lib/tr-grid-util/es6/GroupDefinitions.js +39 -3
- package/lib/tr-grid-util/es6/jet/DataGenerator.js +36 -33
- package/lib/types/es6/ColumnStack.d.ts +2 -0
- package/lib/types/es6/Core/data/DataTable.d.ts +3 -1
- package/lib/types/es6/Core/data/DataView.d.ts +2 -0
- package/lib/types/es6/Core/grid/Core.d.ts +12 -0
- package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +5 -5
- package/lib/versions.json +8 -8
- package/package.json +1 -1
package/lib/core/dist/core.js
CHANGED
@@ -4765,6 +4765,10 @@ ILayoutGrid.prototype.calculateColumnBounds = function (lftIdx, rgtIdx, outPosit
|
|
4765
4765
|
* @param {number=} topPx Top position of bound
|
4766
4766
|
*/
|
4767
4767
|
ILayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx) {};
|
4768
|
+
/** @public
|
4769
|
+
* @ignore
|
4770
|
+
*/
|
4771
|
+
ILayoutGrid.prototype.updateColumnSeparators = function () {};
|
4768
4772
|
|
4769
4773
|
/* harmony default export */ const grid_ILayoutGrid = (ILayoutGrid);
|
4770
4774
|
|
@@ -8754,7 +8758,14 @@ LayoutGrid.prototype._colSelDirty = false;
|
|
8754
8758
|
* @private
|
8755
8759
|
*/
|
8756
8760
|
LayoutGrid.prototype._hscrollbar = null;
|
8757
|
-
|
8761
|
+
/** @type {Element}
|
8762
|
+
* @private
|
8763
|
+
*/
|
8764
|
+
LayoutGrid.prototype._leftColumnSeparator = null;
|
8765
|
+
/** @type {Element}
|
8766
|
+
* @private
|
8767
|
+
*/
|
8768
|
+
LayoutGrid.prototype._rightColumnSeparator = null;
|
8758
8769
|
|
8759
8770
|
/**
|
8760
8771
|
* {@link ElementWrapper#dispose}
|
@@ -10721,8 +10732,7 @@ LayoutGrid.prototype.selectColumn = function (colIndex, selected) {
|
|
10721
10732
|
|
10722
10733
|
var boundLayer = this._boundLayer;
|
10723
10734
|
if(!boundLayer) {
|
10724
|
-
|
10725
|
-
boundLayer.className = "cover-layer";
|
10735
|
+
this._initBoundLayer();
|
10726
10736
|
this._updateLayers();
|
10727
10737
|
}
|
10728
10738
|
}
|
@@ -10894,6 +10904,92 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
|
|
10894
10904
|
}
|
10895
10905
|
};
|
10896
10906
|
|
10907
|
+
/** @public
|
10908
|
+
*/
|
10909
|
+
LayoutGrid.prototype.updateColumnSeparators = function () {
|
10910
|
+
var pinnedLeftCount = this._hscrollbar.getPinnedLeftColumnCount();
|
10911
|
+
var pinnedRightCount = this._hscrollbar.getPinnedRightColumnCount();
|
10912
|
+
if ((pinnedLeftCount || pinnedRightCount) && !this._boundLayer) {
|
10913
|
+
this._initBoundLayer();
|
10914
|
+
}
|
10915
|
+
|
10916
|
+
var isScrollbarActive = false;
|
10917
|
+
if(this._hscrollbar) {
|
10918
|
+
isScrollbarActive = this._hscrollbar.isActive();
|
10919
|
+
}
|
10920
|
+
|
10921
|
+
var boundLayer = this._boundLayer;
|
10922
|
+
|
10923
|
+
var colSeparator = this._leftColumnSeparator;
|
10924
|
+
if (isScrollbarActive && pinnedLeftCount) {
|
10925
|
+
if (!colSeparator) {
|
10926
|
+
colSeparator = this._leftColumnSeparator = this._createColumnSeparator();
|
10927
|
+
}
|
10928
|
+
if (!colSeparator.parentNode) {
|
10929
|
+
if (boundLayer.children.length) {
|
10930
|
+
boundLayer.insertBefore(colSeparator, boundLayer.children[0]);
|
10931
|
+
} else {
|
10932
|
+
boundLayer.appendChild(colSeparator);
|
10933
|
+
}
|
10934
|
+
}
|
10935
|
+
|
10936
|
+
var rightPos = this._trackX.getLaneStart(pinnedLeftCount);
|
10937
|
+
colSeparator.style.left = (rightPos - 1) + "px";
|
10938
|
+
colSeparator.style.height = this._trackY.getTrackSize() + "px";
|
10939
|
+
} else {
|
10940
|
+
if (colSeparator && colSeparator.parentNode) {
|
10941
|
+
this._boundLayer.removeChild(colSeparator);
|
10942
|
+
}
|
10943
|
+
}
|
10944
|
+
|
10945
|
+
colSeparator = this._rightColumnSeparator;
|
10946
|
+
if (isScrollbarActive && pinnedRightCount) {
|
10947
|
+
if (!colSeparator) {
|
10948
|
+
colSeparator = this._rightColumnSeparator = this._createColumnSeparator();
|
10949
|
+
}
|
10950
|
+
|
10951
|
+
if (!colSeparator.parentNode) {
|
10952
|
+
if (boundLayer.children.length) {
|
10953
|
+
boundLayer.insertBefore(colSeparator, boundLayer.children[0]);
|
10954
|
+
} else {
|
10955
|
+
boundLayer.appendChild(colSeparator);
|
10956
|
+
}
|
10957
|
+
}
|
10958
|
+
var colCount = this.getColumnCount();
|
10959
|
+
var colWidth = this._trackX.getLaneEnd(colCount - 1) - this._trackX.getLaneStart(colCount - pinnedRightCount);
|
10960
|
+
var viewSize = this._getViewSize();
|
10961
|
+
|
10962
|
+
colSeparator.style.left = (viewSize - colWidth - this._rightSpaceSize) + "px";
|
10963
|
+
colSeparator.style.height = this._trackY.getTrackSize() + "px";
|
10964
|
+
} else {
|
10965
|
+
if (colSeparator && colSeparator.parentNode) {
|
10966
|
+
this._boundLayer.removeChild(colSeparator);
|
10967
|
+
}
|
10968
|
+
}
|
10969
|
+
};
|
10970
|
+
|
10971
|
+
/** @private
|
10972
|
+
* @return {Element}
|
10973
|
+
*/
|
10974
|
+
LayoutGrid.prototype._createColumnSeparator = function() {
|
10975
|
+
var colSeparator = document.createElement("div");
|
10976
|
+
colSeparator.classList.add("column-separator");
|
10977
|
+
return colSeparator;
|
10978
|
+
};
|
10979
|
+
|
10980
|
+
/** @private
|
10981
|
+
* @return {Element}
|
10982
|
+
*/
|
10983
|
+
LayoutGrid.prototype._initBoundLayer = function () {
|
10984
|
+
var boundLayer = this._boundLayer;
|
10985
|
+
if(!boundLayer) {
|
10986
|
+
boundLayer = this._boundLayer = document.createElement("div");
|
10987
|
+
boundLayer.className = "cover-layer";
|
10988
|
+
this._element.appendChild(boundLayer);
|
10989
|
+
}
|
10990
|
+
return boundLayer;
|
10991
|
+
};
|
10992
|
+
|
10897
10993
|
/**
|
10898
10994
|
* @private
|
10899
10995
|
* @param {number} indexX
|
@@ -12764,7 +12860,8 @@ DataCache_DataCache.prototype._insertRic = function (subId, ric, values) {
|
|
12764
12860
|
// We cannot cache event arguments because user may want to collect all the updates
|
12765
12861
|
this._onADCForNewRic(subId, ric);
|
12766
12862
|
|
12767
|
-
|
12863
|
+
var rowData = this.getRowData(rid);
|
12864
|
+
if (!rowData) { // Ensure that we have subscription id and ric from Quotes2
|
12768
12865
|
var tmp = values;
|
12769
12866
|
|
12770
12867
|
values = {}; // Clone a new object for duplicated ric
|
@@ -12775,6 +12872,11 @@ DataCache_DataCache.prototype._insertRic = function (subId, ric, values) {
|
|
12775
12872
|
|
12776
12873
|
values["SUB_ID"] = subId;
|
12777
12874
|
values["RIC"] = ric;
|
12875
|
+
} else {
|
12876
|
+
var rowDef = rowData["ROW_DEF"];
|
12877
|
+
if(rowDef && rowDef.isChain()){
|
12878
|
+
values["SUB_ID"] = subId;
|
12879
|
+
}
|
12778
12880
|
}
|
12779
12881
|
|
12780
12882
|
this.setRowData(rid, values);
|
@@ -12811,6 +12913,12 @@ DataCache_DataCache.prototype._onQ2SubAdded = function (e) {
|
|
12811
12913
|
var sub = subs[i];
|
12812
12914
|
var ric = sub["ric"];
|
12813
12915
|
|
12916
|
+
// chain subId fires twice, one with "_ci_" and one without "_ci_"
|
12917
|
+
// the subId with "_ci_" should be ignore
|
12918
|
+
if(sub["id"].indexOf("_ci_") >= 0){
|
12919
|
+
continue;
|
12920
|
+
}
|
12921
|
+
|
12814
12922
|
this.addSubscription(sub, ric);
|
12815
12923
|
|
12816
12924
|
if (duplicateSubIds) { // There will be no network request for duplicate subs, and hence we need to update the data from our cache
|
@@ -12835,6 +12943,13 @@ DataCache_DataCache.prototype._onQ2SubRemoved = function (e) {
|
|
12835
12943
|
|
12836
12944
|
for (var i = 0; i < len; ++i) {
|
12837
12945
|
var sub = subs[i];
|
12946
|
+
|
12947
|
+
// chain subId fires twice, one with "_ci_" and one without "_ci_"
|
12948
|
+
// the subId with "_ci_" should be ignore
|
12949
|
+
if(sub["id"].indexOf("_ci_") >= 0){
|
12950
|
+
continue;
|
12951
|
+
}
|
12952
|
+
|
12838
12953
|
this.removeSubscription(sub);
|
12839
12954
|
}
|
12840
12955
|
};
|
@@ -15676,7 +15791,24 @@ DataTable.prototype.setSortingLogic = function(func) {
|
|
15676
15791
|
* @param {DataTable.SortLogic} func Use null to remove current sorting logic
|
15677
15792
|
*/
|
15678
15793
|
DataTable.prototype.setColumnSortingLogic = function(cid, func) {
|
15679
|
-
|
15794
|
+
if(cid) {
|
15795
|
+
this._compMap[cid] = func;
|
15796
|
+
}
|
15797
|
+
};
|
15798
|
+
/** Get sorting logic for the specified field. Default logic is returned, if no logic is specified for the column
|
15799
|
+
* @public
|
15800
|
+
* @param {string=} cid
|
15801
|
+
* @return {DataTable.SortLogic}
|
15802
|
+
*/
|
15803
|
+
DataTable.prototype.getColumnSortingLogic = function(cid) {
|
15804
|
+
if(cid) {
|
15805
|
+
var logic = this._compMap[cid];
|
15806
|
+
if(logic) {
|
15807
|
+
return logic;
|
15808
|
+
}
|
15809
|
+
}
|
15810
|
+
|
15811
|
+
return this._compMap["_default"] || null;
|
15680
15812
|
};
|
15681
15813
|
|
15682
15814
|
/** Freeze data table so that no event is fired for data processing until executing {@link DataTable#unfreeze} method
|
@@ -19423,6 +19555,17 @@ DataView.prototype.setColumnSortingLogic = function(cid, func) {
|
|
19423
19555
|
this._dt.setColumnSortingLogic(cid, func);
|
19424
19556
|
}
|
19425
19557
|
};
|
19558
|
+
/** Get sorting logic for the specified field. Default logic is returned, if no logic is specified for the column
|
19559
|
+
* @public
|
19560
|
+
* @param {string=} cid
|
19561
|
+
* @return {DataTable.SortLogic}
|
19562
|
+
*/
|
19563
|
+
DataView.prototype.getColumnSortingLogic = function(cid) {
|
19564
|
+
if(this._dt) {
|
19565
|
+
return this._dt.getColumnSortingLogic(cid);
|
19566
|
+
}
|
19567
|
+
return null;
|
19568
|
+
};
|
19426
19569
|
/** Check if this view is in sorting mode
|
19427
19570
|
* @public
|
19428
19571
|
* @return {boolean}
|
@@ -24945,6 +25088,12 @@ VirtualizedLayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderA
|
|
24945
25088
|
this._grid.updateColumnBounds(posAry, noBorderAry, topPx);
|
24946
25089
|
this._updateRowBounds();
|
24947
25090
|
};
|
25091
|
+
/** @public
|
25092
|
+
* @ignore
|
25093
|
+
*/
|
25094
|
+
VirtualizedLayoutGrid.prototype.updateColumnSeparators = function () {
|
25095
|
+
this._grid.updateColumnSeparators();
|
25096
|
+
};
|
24948
25097
|
/** @private
|
24949
25098
|
*/
|
24950
25099
|
VirtualizedLayoutGrid.prototype._initBoundLayer = function () {
|
@@ -25159,6 +25308,7 @@ VirtualizedLayoutGrid._proto = VirtualizedLayoutGrid.prototype;
|
|
25159
25308
|
|
25160
25309
|
// eslint-disable-line
|
25161
25310
|
|
25311
|
+
|
25162
25312
|
// eslint-disable-line
|
25163
25313
|
|
25164
25314
|
|
@@ -25358,7 +25508,9 @@ var Core_Core = function (opt_initializer) {
|
|
25358
25508
|
"rowRemoved",
|
25359
25509
|
"columnPositionChanged",
|
25360
25510
|
"rowPositionChanged",
|
25361
|
-
"beforeColumnBoundUpdate"
|
25511
|
+
"beforeColumnBoundUpdate",
|
25512
|
+
"beforeBatchOperation",
|
25513
|
+
"afterBatchOperation"
|
25362
25514
|
);
|
25363
25515
|
|
25364
25516
|
// For debugging in advanced optimization mode
|
@@ -25433,6 +25585,15 @@ Core_Core.SectionReference;
|
|
25433
25585
|
*/
|
25434
25586
|
Core_Core.MouseInfo;
|
25435
25587
|
|
25588
|
+
/** @typedef {Object} Core~BatchInfo
|
25589
|
+
* @private
|
25590
|
+
* @property {string=} reset //set columns
|
25591
|
+
* @property {string=} insertion //add cols
|
25592
|
+
* @property {string=} removal //remove cols
|
25593
|
+
* @property {string=} moving //reorder
|
25594
|
+
*/
|
25595
|
+
Core_Core.BatchInfo;
|
25596
|
+
|
25436
25597
|
/** @typedef {Core.MouseInfo|ElementWrapper|Element} Core~CellReference
|
25437
25598
|
* @description A section in core grid can be refered by the following object <br>
|
25438
25599
|
* `{Core.MouseInfo}` : Object with valid x, y coordinates and section index <br>
|
@@ -25687,6 +25848,10 @@ Core_Core.prototype._rowHeightTimerId = 0;
|
|
25687
25848
|
* @private
|
25688
25849
|
*/
|
25689
25850
|
Core_Core.prototype._groupDefs = null;
|
25851
|
+
/** @type {BatchInfo}
|
25852
|
+
* @private
|
25853
|
+
*/
|
25854
|
+
Core_Core.prototype._batches = null;
|
25690
25855
|
//#region Public Methods
|
25691
25856
|
|
25692
25857
|
/**
|
@@ -25694,7 +25859,7 @@ Core_Core.prototype._groupDefs = null;
|
|
25694
25859
|
* @return {string}
|
25695
25860
|
*/
|
25696
25861
|
Core_Core.getVersion = function () {
|
25697
|
-
return "5.1.
|
25862
|
+
return "5.1.50";
|
25698
25863
|
};
|
25699
25864
|
/** {@link ElementWrapper#dispose}
|
25700
25865
|
* @override
|
@@ -26633,6 +26798,10 @@ Core_Core.prototype.removeColumnAt = function (index) {
|
|
26633
26798
|
|
26634
26799
|
if (this._hasListener("columnRemoved")) {
|
26635
26800
|
var e = {};
|
26801
|
+
var batches = this._batches;
|
26802
|
+
if(batches){
|
26803
|
+
e["batches"] = batches;
|
26804
|
+
}
|
26636
26805
|
e["atTheMiddle"] = true;
|
26637
26806
|
e["colIndex"] = index;
|
26638
26807
|
e["columns"] = "deprecated";
|
@@ -26903,6 +27072,7 @@ Core_Core.prototype._moveColumn = function (fromCol, destCol) {
|
|
26903
27072
|
}
|
26904
27073
|
}
|
26905
27074
|
this._updateColumnBounds();
|
27075
|
+
this._updateColumnSeparators();
|
26906
27076
|
return true;
|
26907
27077
|
};
|
26908
27078
|
|
@@ -27233,6 +27403,7 @@ Core_Core.prototype.setDefaultRowHeight = function (val, opt_includeTitle) {
|
|
27233
27403
|
this._syncRowHeights();
|
27234
27404
|
this._rowHeightSync = true;
|
27235
27405
|
this.setRowScrollingStep(this._rowScrollingStep);
|
27406
|
+
this._updateColumnSeparators();
|
27236
27407
|
}
|
27237
27408
|
};
|
27238
27409
|
|
@@ -28067,6 +28238,7 @@ Core_Core.prototype.freezeColumn = function (frozenColIndex, numRightColumn) {
|
|
28067
28238
|
|
28068
28239
|
this._onColumnCountChanged(); // Activate horizontal scrollbar and column virtualization
|
28069
28240
|
this._updateScrollbarWidth(true, true);
|
28241
|
+
this._updateColumnSeparators();
|
28070
28242
|
};
|
28071
28243
|
|
28072
28244
|
/** @private
|
@@ -29308,6 +29480,21 @@ Core_Core.prototype._updateColumnBounds = function () {
|
|
29308
29480
|
section.updateColumnBounds(posAry, noBorderAry);
|
29309
29481
|
}
|
29310
29482
|
};
|
29483
|
+
/* @private
|
29484
|
+
*/
|
29485
|
+
Core_Core.prototype._updateColumnSeparators = function() {
|
29486
|
+
var sectCount = this._settings.length;
|
29487
|
+
if(!sectCount) {
|
29488
|
+
return;
|
29489
|
+
}
|
29490
|
+
|
29491
|
+
for(var i = 0; i < sectCount; i++) {
|
29492
|
+
var section = this._settings[i].getSection();
|
29493
|
+
if (section) {
|
29494
|
+
section.updateColumnSeparators();
|
29495
|
+
}
|
29496
|
+
}
|
29497
|
+
};
|
29311
29498
|
|
29312
29499
|
/** @public
|
29313
29500
|
* @param {number} startColIndex INCLUSIVE
|
@@ -29477,6 +29664,40 @@ Core_Core.prototype.getColumnGroupChildIds = function (groupId) {
|
|
29477
29664
|
}
|
29478
29665
|
return null;
|
29479
29666
|
};
|
29667
|
+
|
29668
|
+
/** @public
|
29669
|
+
* @param {string} batchType
|
29670
|
+
* @return {boolean}
|
29671
|
+
* @fires Core#beforeBatchOperation
|
29672
|
+
*/
|
29673
|
+
Core_Core.prototype.startBatch = function (batchType) {
|
29674
|
+
if(!batchType){
|
29675
|
+
return false;
|
29676
|
+
}
|
29677
|
+
if(!this._batches){
|
29678
|
+
this._batches = {};
|
29679
|
+
}
|
29680
|
+
this._batches[batchType] = batchType;
|
29681
|
+
this._dispatch("beforeBatchOperation", { batches: this._batches, batchType: batchType });
|
29682
|
+
return true;
|
29683
|
+
};
|
29684
|
+
/** @public
|
29685
|
+
* @param {string} batchType
|
29686
|
+
* @return {boolean}
|
29687
|
+
* @fires Core#afterBatchOperation
|
29688
|
+
*/
|
29689
|
+
Core_Core.prototype.stopBatch = function (batchType) {
|
29690
|
+
if(!batchType){
|
29691
|
+
return false;
|
29692
|
+
}
|
29693
|
+
this._dispatch("afterBatchOperation", { batches: this._batches, batchType: batchType });
|
29694
|
+
|
29695
|
+
delete this._batches[batchType];
|
29696
|
+
if((0,es6_Util/* isEmptyObject */.Qr)(this._batches)){
|
29697
|
+
this._batches = null;
|
29698
|
+
}
|
29699
|
+
return true;
|
29700
|
+
};
|
29480
29701
|
//#endregion Public Methods
|
29481
29702
|
|
29482
29703
|
//#region Private Methods
|
@@ -29720,6 +29941,10 @@ Core_Core.prototype._dispatchColumnAddedEvent = function (at, count, atTheMiddle
|
|
29720
29941
|
if (this._hasListener("columnAdded")) {
|
29721
29942
|
var e = {};
|
29722
29943
|
e["atTheMiddle"] = atTheMiddle;
|
29944
|
+
var batches = this._batches;
|
29945
|
+
if(batches){
|
29946
|
+
e["batches"] = batches;
|
29947
|
+
}
|
29723
29948
|
if(count === 1) {
|
29724
29949
|
e["colIndex"] = at;
|
29725
29950
|
e["context"] = ctx;
|
@@ -29871,6 +30096,10 @@ Core_Core.prototype._removeColumn = function (num) { // TODO: change the logic
|
|
29871
30096
|
|
29872
30097
|
if (this._hasListener("columnRemoved")) {
|
29873
30098
|
var e = {};
|
30099
|
+
var batches = this._batches;
|
30100
|
+
if(batches){
|
30101
|
+
e["batches"] = batches;
|
30102
|
+
}
|
29874
30103
|
for (var c = colCount; --c >= newCount; ) {
|
29875
30104
|
var colDef = removedCols[c - newCount];
|
29876
30105
|
e["colIndex"] = c;
|
@@ -30335,6 +30564,8 @@ Core_Core.prototype._onRowCountChanged = function (e) {
|
|
30335
30564
|
if(!forceUpdate) {
|
30336
30565
|
this._updateVScrollbar(); // Asynchronous
|
30337
30566
|
}
|
30567
|
+
|
30568
|
+
this._updateColumnSeparators();
|
30338
30569
|
if(prevRowCount < newRowCount) {
|
30339
30570
|
this._dispatch("rowAdded", e);
|
30340
30571
|
} else if(prevRowCount > newRowCount) {
|
@@ -30392,7 +30623,7 @@ Core_Core.prototype._onRowHeightChanged = function (e) {
|
|
30392
30623
|
minSectionIndex >= this._startVScrollbarIndex);
|
30393
30624
|
}
|
30394
30625
|
}
|
30395
|
-
|
30626
|
+
this._updateColumnSeparators();
|
30396
30627
|
this._dispatchRowPositionChanged();
|
30397
30628
|
};
|
30398
30629
|
/** @private
|
@@ -30457,6 +30688,7 @@ Core_Core.prototype._onColumnCountChanged = function () {
|
|
30457
30688
|
var pinnedRight = this._countPinnedRightColumns();
|
30458
30689
|
|
30459
30690
|
this._updateColumnBounds();
|
30691
|
+
this._updateColumnSeparators();
|
30460
30692
|
|
30461
30693
|
if (this._hScrollbarEnabled && pinnedLeft + pinnedRight < this.getColumnCount()) {
|
30462
30694
|
this._hscrollbar.enable();
|
@@ -30738,6 +30970,7 @@ Core_Core.prototype._syncLayoutToColumns = function (from, to, opt_forceDispatch
|
|
30738
30970
|
var paneChanged = forceUpdate || (from < this.getHScrollStartIndex()) || (to > this.getFirstPinnedRightIndex());
|
30739
30971
|
this._updateScrollbarWidth(paneChanged, true /* contentChanged */);
|
30740
30972
|
this._updateColumnBounds();
|
30973
|
+
this._updateColumnSeparators();
|
30741
30974
|
this._dispatchColumnPositionChanged();
|
30742
30975
|
|
30743
30976
|
if (dirty || opt_forceDispatching) {
|
@@ -30833,6 +31066,7 @@ Core_Core.prototype._updateLayout = function () {
|
|
30833
31066
|
var section = this._settings[s].getSection();
|
30834
31067
|
section.updateLayout(); // Notify section about forced recalculation of the layout
|
30835
31068
|
}
|
31069
|
+
this._updateColumnSeparators();
|
30836
31070
|
};
|
30837
31071
|
|
30838
31072
|
/** @private */
|
@@ -32395,6 +32629,9 @@ SortableTitlePlugin.prototype._sortDataView = function (opt_action) {
|
|
32395
32629
|
if (!this._dataSorting) { return; }
|
32396
32630
|
|
32397
32631
|
var sortCount = this._sortStates.length;
|
32632
|
+
if(this._userManagedLogic && sortCount > 1) { // The logic is managed by the user. There is no point in using multi-column sorting
|
32633
|
+
sortCount = 1;
|
32634
|
+
}
|
32398
32635
|
var orders = null;
|
32399
32636
|
var sortLogics = null;
|
32400
32637
|
var c_ref = null;
|
@@ -32410,6 +32647,9 @@ SortableTitlePlugin.prototype._sortDataView = function (opt_action) {
|
|
32410
32647
|
} else {
|
32411
32648
|
c_ref = this.getColumnSortingFields();
|
32412
32649
|
}
|
32650
|
+
if(this._userManagedLogic && c_ref.length > 1) {
|
32651
|
+
c_ref = c_ref.slice(0, 1);
|
32652
|
+
}
|
32413
32653
|
}
|
32414
32654
|
|
32415
32655
|
// Perform sorting even if there is no sort state
|