@refinitiv-ui/efx-grid 6.0.91 → 6.0.92
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/column-dragging/es6/ColumnDragging.d.ts +1 -1
- package/lib/column-dragging/es6/ColumnDragging.js +144 -34
- package/lib/core/dist/core.js +2410 -2621
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/ColumnStats.js +14 -14
- package/lib/core/es6/data/DataCache.js +118 -118
- package/lib/core/es6/data/DataTable.d.ts +3 -1
- package/lib/core/es6/data/DataTable.js +208 -190
- package/lib/core/es6/data/DataView.d.ts +1 -1
- package/lib/core/es6/data/DataView.js +291 -291
- package/lib/core/es6/data/Segment.js +79 -79
- package/lib/core/es6/data/SegmentCollection.js +81 -81
- package/lib/core/es6/data/WrappedView.js +41 -41
- package/lib/core/es6/grid/Core.js +635 -635
- package/lib/core/es6/grid/ILayoutGrid.js +1 -1
- package/lib/core/es6/grid/LayoutGrid.js +183 -183
- package/lib/core/es6/grid/VirtualizedLayoutGrid.js +91 -91
- package/lib/core/es6/grid/components/Cell.js +29 -29
- package/lib/core/es6/grid/components/CellFloatingPanel.js +11 -11
- package/lib/core/es6/grid/components/CellSpan.js +7 -7
- package/lib/core/es6/grid/components/CellSpans.js +36 -34
- package/lib/core/es6/grid/components/Column.js +40 -40
- package/lib/core/es6/grid/components/ElementWrapper.js +17 -17
- package/lib/core/es6/grid/components/HScrollbar.js +31 -31
- package/lib/core/es6/grid/components/Scrollbar.js +77 -77
- package/lib/core/es6/grid/components/StretchedCells.js +49 -49
- package/lib/core/es6/grid/components/VScrollbar.js +11 -11
- package/lib/core/es6/grid/components/VirtualItems.js +3 -3
- package/lib/core/es6/grid/event/EventDispatcher.js +9 -9
- package/lib/core/es6/grid/event/EventListeners.js +4 -4
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +186 -186
- package/lib/core/es6/grid/util/Conflator.js +4 -4
- package/lib/core/es6/grid/util/Reverter.js +1 -1
- package/lib/core/es6/grid/util/SectionSettings.js +20 -20
- package/lib/core/es6/grid/util/SelectionList.js +23 -23
- package/lib/core/es6/grid/util/TrackLayout.js +74 -74
- package/lib/core/es6/grid/util/Virtualizer.js +15 -15
- package/lib/core/es6/grid/util/util.js +20 -20
- package/lib/core/es6/index.d.ts +0 -2
- package/lib/core/es6/index.js +0 -3
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +193 -70
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/Grid.js +46 -30
- package/lib/rt-grid/es6/RowDefinition.d.ts +2 -1
- package/lib/rt-grid/es6/RowDefinition.js +74 -16
- package/lib/tr-grid-cell-selection/es6/CellSelection.js +56 -1
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.d.ts +3 -1
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +29 -1
- package/lib/tr-grid-util/es6/CellPainter.js +94 -93
- package/lib/tr-grid-util/es6/Conflator.js +4 -4
- package/lib/tr-grid-util/es6/CoralItems.js +6 -6
- package/lib/tr-grid-util/es6/DateTime.js +39 -39
- package/lib/tr-grid-util/es6/Deferred.js +5 -5
- package/lib/tr-grid-util/es6/Delay.js +1 -1
- package/lib/tr-grid-util/es6/Dom.js +26 -26
- package/lib/tr-grid-util/es6/DragUI.js +17 -17
- package/lib/tr-grid-util/es6/ElementObserver.js +12 -12
- package/lib/tr-grid-util/es6/ElementWrapper.js +2 -2
- package/lib/tr-grid-util/es6/ElfDate.js +4 -4
- package/lib/tr-grid-util/es6/ElfUtil.js +37 -37
- package/lib/tr-grid-util/es6/EventDispatcher.js +12 -12
- package/lib/tr-grid-util/es6/ExpanderIcon.js +6 -6
- package/lib/tr-grid-util/es6/ExpressionParser.js +43 -43
- package/lib/tr-grid-util/es6/Ext.js +6 -6
- package/lib/tr-grid-util/es6/FieldFormatter.js +17 -17
- package/lib/tr-grid-util/es6/FilterBuilder.js +57 -57
- package/lib/tr-grid-util/es6/FilterOperators.d.ts +12 -1
- package/lib/tr-grid-util/es6/FilterOperators.js +13 -2
- package/lib/tr-grid-util/es6/GridPlugin.js +86 -86
- package/lib/tr-grid-util/es6/GroupDefinitions.js +90 -90
- package/lib/tr-grid-util/es6/Icon.js +4 -4
- package/lib/tr-grid-util/es6/MouseDownTrait.js +6 -6
- package/lib/tr-grid-util/es6/MultiTableManager.js +68 -68
- package/lib/tr-grid-util/es6/NumberFormatter.js +22 -22
- package/lib/tr-grid-util/es6/PercentBar.js +17 -17
- package/lib/tr-grid-util/es6/Perf.js +5 -5
- package/lib/tr-grid-util/es6/Popup.js +42 -42
- package/lib/tr-grid-util/es6/RangeBar.js +5 -5
- package/lib/tr-grid-util/es6/RequestQueue.js +5 -5
- package/lib/tr-grid-util/es6/RowPainter.js +23 -23
- package/lib/tr-grid-util/es6/SubTable.js +94 -94
- package/lib/tr-grid-util/es6/Table.js +51 -51
- package/lib/tr-grid-util/es6/TextHighlighter.js +49 -49
- package/lib/tr-grid-util/es6/TickCodes.js +2 -2
- package/lib/tr-grid-util/es6/Timer.js +2 -2
- package/lib/tr-grid-util/es6/TouchProxy.js +7 -7
- package/lib/tr-grid-util/es6/Util.js +50 -50
- package/lib/tr-grid-util/es6/formula/ADCService.js +2 -2
- package/lib/tr-grid-util/es6/formula/ADCSubscription.js +19 -19
- package/lib/tr-grid-util/es6/formula/AdFinService.js +2 -2
- package/lib/tr-grid-util/es6/formula/AdFinSubscription.js +19 -19
- package/lib/tr-grid-util/es6/formula/Engine.js +56 -56
- package/lib/tr-grid-util/es6/formula/Formula.js +62 -62
- package/lib/tr-grid-util/es6/formula/IntervalSubscription.js +3 -3
- package/lib/tr-grid-util/es6/formula/Realtime.js +15 -15
- package/lib/tr-grid-util/es6/formula/RealtimeService.js +15 -15
- package/lib/tr-grid-util/es6/formula/TSIService.js +2 -2
- package/lib/tr-grid-util/es6/formula/TSISubscription.js +104 -104
- package/lib/tr-grid-util/es6/formula/VariableToken.js +20 -20
- package/lib/tr-grid-util/es6/formula/functions/AdFin.js +10 -10
- package/lib/tr-grid-util/es6/formula/functions/Excel.js +1 -1
- package/lib/tr-grid-util/es6/formula/functions/Info.js +2 -2
- package/lib/tr-grid-util/es6/formula/functions/Internal.js +5 -5
- package/lib/tr-grid-util/es6/formula/functions/Logic.js +5 -5
- package/lib/tr-grid-util/es6/formula/functions/Math.js +46 -46
- package/lib/tr-grid-util/es6/formula/functions/Statistics.js +27 -27
- package/lib/tr-grid-util/es6/formula/functions/Text.js +19 -19
- package/lib/tr-grid-util/es6/index.js +1 -1
- package/lib/tr-grid-util/es6/jet/Adc.js +36 -36
- package/lib/tr-grid-util/es6/jet/CollectionDict.js +11 -11
- package/lib/tr-grid-util/es6/jet/DataGenerator.js +95 -95
- package/lib/tr-grid-util/es6/jet/DataSet.js +1 -1
- package/lib/tr-grid-util/es6/jet/MockArchive.js +5 -5
- package/lib/tr-grid-util/es6/jet/MockJET.js +1 -1
- package/lib/tr-grid-util/es6/jet/MockQuotes.js +13 -13
- package/lib/tr-grid-util/es6/jet/MockQuotes2.js +100 -100
- package/lib/tr-grid-util/es6/jet/MockRTK.js +4 -4
- package/lib/tr-grid-util/es6/jet/MockUtil.js +2 -2
- package/lib/tr-grid-util/es6/jet/index.js +1 -1
- package/lib/tr-grid-util/es6/jet/mockDataAPI.js +15 -15
- package/lib/tr-grid-util/es6/locale/translation-de.js +1 -1
- package/lib/tr-grid-util/es6/locale/translation-en.js +1 -1
- package/lib/tr-grid-util/es6/locale/translation-ja.js +1 -1
- package/lib/tr-grid-util/es6/locale/translation-zh-hant.js +1 -1
- package/lib/tr-grid-util/es6/locale/translation-zh.js +1 -1
- package/lib/tr-grid-util/es6/locale/translation.js +1 -1
- package/lib/types/es6/ColumnDragging.d.ts +1 -1
- package/lib/types/es6/ColumnGrouping.d.ts +3 -1
- package/lib/types/es6/Core/data/DataTable.d.ts +4 -0
- package/lib/types/es6/Core/data/DataView.d.ts +2 -0
- package/lib/types/es6/Core/data/SegmentCollection.d.ts +2 -0
- package/lib/types/es6/Core/index.d.ts +0 -2
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +2 -1
- package/lib/versions.json +4 -4
- package/package.json +1 -1
- package/lib/core/es6/grid/util/ElementFrameWork.d.ts +0 -18
- package/lib/core/es6/grid/util/ElementFrameWork.js +0 -227
- package/lib/core/es6/grid/util/HttpRequest.d.ts +0 -53
- package/lib/core/es6/grid/util/HttpRequest.js +0 -371
- package/lib/core/es6/grid/util/PercentBar.d.ts +0 -43
- package/lib/core/es6/grid/util/PercentBar.js +0 -390
- package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +0 -41
- package/lib/core/es6/grid/util/PercentBarRenderer.js +0 -316
- package/lib/core/es6/grid/util/RangeBar.d.ts +0 -25
- package/lib/core/es6/grid/util/RangeBar.js +0 -255
- package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +0 -18
- package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +0 -53
- package/lib/types/es6/Core/grid/util/PercentBar.d.ts +0 -43
- package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +0 -41
- package/lib/types/es6/Core/grid/util/RangeBar.d.ts +0 -25
@@ -36,8 +36,8 @@ import HScrollbar from "./components/HScrollbar.js";
|
|
36
36
|
* @param {Object=} options
|
37
37
|
* @extends {ElementWrapper}
|
38
38
|
*/
|
39
|
-
|
40
|
-
|
39
|
+
let LayoutGrid = function (options) {
|
40
|
+
let _t = this;
|
41
41
|
|
42
42
|
_t._onMouseMove = _t._onMouseMove.bind(_t);
|
43
43
|
_t._onMouseOut = _t._onMouseOut.bind(_t);
|
@@ -290,7 +290,7 @@ LayoutGrid.prototype.dispose = function () {
|
|
290
290
|
|
291
291
|
this._ctxRows.dispose();
|
292
292
|
this._stretchedCells.dispose();
|
293
|
-
for (
|
293
|
+
for (let i = this._columns.length; --i >= 0; ) {
|
294
294
|
this._columns[i].dispose();
|
295
295
|
}
|
296
296
|
|
@@ -327,7 +327,7 @@ LayoutGrid.prototype.setWidth = function (px) {
|
|
327
327
|
return false;
|
328
328
|
}
|
329
329
|
|
330
|
-
|
330
|
+
let changes = this._trackX.setTrackSize(px - this._rightSpaceSize); // WARNING: Perform scalling instead of setting width directly
|
331
331
|
|
332
332
|
if (changes == null) {
|
333
333
|
return false;
|
@@ -359,7 +359,7 @@ LayoutGrid.prototype.setHeight = function (px) {
|
|
359
359
|
return false;
|
360
360
|
}
|
361
361
|
|
362
|
-
|
362
|
+
let changes = this._trackY.setTrackSize(px); // WARNING: Perform scalling instead of setting height directly
|
363
363
|
|
364
364
|
if (changes == null) {
|
365
365
|
return true;
|
@@ -403,24 +403,24 @@ LayoutGrid.prototype.hitTest = function (x, y, opt_omitSpan) {
|
|
403
403
|
return null;
|
404
404
|
}
|
405
405
|
|
406
|
-
|
406
|
+
let hitX = this._trackX.hitTest(x);
|
407
407
|
|
408
408
|
if (hitX < 0) {
|
409
409
|
return null;
|
410
410
|
}
|
411
411
|
|
412
|
-
|
412
|
+
let hitY = this._trackY.hitTest(y);
|
413
413
|
|
414
414
|
if (hitY < 0) {
|
415
415
|
return null;
|
416
416
|
}
|
417
417
|
|
418
|
-
|
418
|
+
let result = {};
|
419
419
|
result["colIndex"] = hitX;
|
420
420
|
result["rowIndex"] = hitY;
|
421
421
|
|
422
422
|
if (opt_omitSpan !== true) {
|
423
|
-
|
423
|
+
let cellSpan = this._cellSpans.getOccupyingSpan(hitX, hitY);
|
424
424
|
|
425
425
|
if (cellSpan) {
|
426
426
|
result["colIndex"] = cellSpan.indexX;
|
@@ -495,12 +495,12 @@ LayoutGrid.prototype.getDefaultRowHeight = function () {
|
|
495
495
|
* @inheritDoc
|
496
496
|
*/
|
497
497
|
LayoutGrid.prototype.setDefaultRowHeight = function (val) {
|
498
|
-
|
498
|
+
let defaultH = this._trackY.getDefaultLaneSize();
|
499
499
|
|
500
500
|
if (defaultH !== val) {
|
501
501
|
this._trackY.setDefaultLaneSize(val);
|
502
502
|
|
503
|
-
for (
|
503
|
+
for (let i = 0; i < this._colCount; ++i) {
|
504
504
|
this._columns[i].setHeight(val);
|
505
505
|
}
|
506
506
|
|
@@ -577,7 +577,7 @@ LayoutGrid.prototype.setRowHeight = function (rowIndex, val) {
|
|
577
577
|
return false;
|
578
578
|
}
|
579
579
|
|
580
|
-
|
580
|
+
let dirty = this._trackY.setLaneSize(rowIndex, val);
|
581
581
|
|
582
582
|
this._syncLayoutToRows(rowIndex, rowIndex + 1); // Update UI. WARNING: Very slow
|
583
583
|
|
@@ -599,10 +599,10 @@ LayoutGrid.prototype.setRowHeight = function (rowIndex, val) {
|
|
599
599
|
* @returns {boolean}
|
600
600
|
*/
|
601
601
|
LayoutGrid.prototype._updateRowHeights = function (track, start) {
|
602
|
-
|
602
|
+
let dirty = 0;
|
603
603
|
|
604
|
-
for (
|
605
|
-
|
604
|
+
for (let i = 0; i < this._rowCount; ++i) {
|
605
|
+
let val = track.getLaneSize(start);
|
606
606
|
|
607
607
|
dirty |= this._trackY.setLaneSize(i, val);
|
608
608
|
++start;
|
@@ -726,11 +726,11 @@ LayoutGrid.prototype.getCellTop = function (indexY) {
|
|
726
726
|
* @inheritDoc
|
727
727
|
*/
|
728
728
|
LayoutGrid.prototype.getCellWidth = function (indexX, indexY) {
|
729
|
-
|
729
|
+
let cellSpan = this._cellSpans.getOccupyingSpan(indexX, indexY);
|
730
730
|
|
731
731
|
if (cellSpan) {
|
732
|
-
|
733
|
-
|
732
|
+
let spanStart = this._trackX.getLaneStart(cellSpan.indexX);
|
733
|
+
let spanEnd = this._trackX.getLaneEnd(cellSpan.indexX + cellSpan.colSpan - 1);
|
734
734
|
|
735
735
|
return spanEnd - spanStart;
|
736
736
|
}
|
@@ -743,11 +743,11 @@ LayoutGrid.prototype.getCellWidth = function (indexX, indexY) {
|
|
743
743
|
* @inheritDoc
|
744
744
|
*/
|
745
745
|
LayoutGrid.prototype.getCellHeight = function (indexX, indexY) {
|
746
|
-
|
746
|
+
let cellSpan = this._cellSpans.getOccupyingSpan(indexX, indexY);
|
747
747
|
|
748
748
|
if (cellSpan) {
|
749
|
-
|
750
|
-
|
749
|
+
let spanStart = this._trackY.getLaneStart(cellSpan.indexY);
|
750
|
+
let spanEnd = this._trackY.getLaneEnd(cellSpan.indexY + cellSpan.rowSpan - 1);
|
751
751
|
|
752
752
|
return spanEnd - spanStart;
|
753
753
|
}
|
@@ -776,7 +776,7 @@ LayoutGrid.prototype.getCellRowSpan = function (indexX, indexY) {
|
|
776
776
|
* @inheritDoc
|
777
777
|
*/
|
778
778
|
LayoutGrid.prototype.setCellRowSpan = function (indexX, indexY, spanVal) {
|
779
|
-
|
779
|
+
let cellSpan = this._cellSpans.setRowSpan(indexX, indexY, spanVal);
|
780
780
|
|
781
781
|
this._updateCellSpanSize(indexX, indexY, cellSpan);
|
782
782
|
|
@@ -795,7 +795,7 @@ LayoutGrid.prototype.setCellRowSpan = function (indexX, indexY, spanVal) {
|
|
795
795
|
return cellSpan.retVal !== 0;
|
796
796
|
}
|
797
797
|
|
798
|
-
|
798
|
+
let cell = this._getCell(indexX, indexY);
|
799
799
|
|
800
800
|
if (cell && cell._rowSpan > 1) {
|
801
801
|
this._updateCellSpanClass(indexX, indexY, cell._colSpan, cell._rowSpan, false);
|
@@ -817,7 +817,7 @@ LayoutGrid.prototype.getCellColSpan = function (indexX, indexY) {
|
|
817
817
|
* @inheritDoc
|
818
818
|
*/
|
819
819
|
LayoutGrid.prototype.setCellColSpan = function (indexX, indexY, spanVal) {
|
820
|
-
|
820
|
+
let cellSpan = this._cellSpans.setColSpan(indexX, indexY, spanVal);
|
821
821
|
|
822
822
|
this._updateCellSpanSize(indexX, indexY, cellSpan);
|
823
823
|
|
@@ -836,7 +836,7 @@ LayoutGrid.prototype.setCellColSpan = function (indexX, indexY, spanVal) {
|
|
836
836
|
return cellSpan.retVal !== 0;
|
837
837
|
}
|
838
838
|
|
839
|
-
|
839
|
+
let cell = this._getCell(indexX, indexY);
|
840
840
|
|
841
841
|
if (cell && cell._colSpan > 1) {
|
842
842
|
this._updateCellSpanClass(indexX, indexY, cell._colSpan, cell._rowSpan, false);
|
@@ -850,14 +850,14 @@ LayoutGrid.prototype.setCellColSpan = function (indexX, indexY, spanVal) {
|
|
850
850
|
* @inheritDoc
|
851
851
|
*/
|
852
852
|
LayoutGrid.prototype.clearCellSpans = function () {
|
853
|
-
|
853
|
+
let cellSpans = this._cellSpans.clearAllSpans();
|
854
854
|
|
855
855
|
if (cellSpans == null) {
|
856
856
|
return false;
|
857
857
|
}
|
858
858
|
|
859
|
-
for (
|
860
|
-
|
859
|
+
for (let i = cellSpans.length; --i >= 0; ) {
|
860
|
+
let cellSpan = cellSpans[i];
|
861
861
|
|
862
862
|
this._updateCellSpan(cellSpan.indexX, cellSpan.indexY, cellSpan, false);
|
863
863
|
}
|
@@ -870,14 +870,14 @@ LayoutGrid.prototype.clearCellSpans = function () {
|
|
870
870
|
* @inheritDoc
|
871
871
|
*/
|
872
872
|
LayoutGrid.prototype.clearColumnSpans = function (indexX) {
|
873
|
-
|
873
|
+
let cellSpans = this._cellSpans.removeSpanByColIndex(indexX);
|
874
874
|
|
875
875
|
if (cellSpans == null) {
|
876
876
|
return false;
|
877
877
|
}
|
878
878
|
|
879
|
-
for (
|
880
|
-
|
879
|
+
for (let i = cellSpans.length; --i >= 0; ) {
|
880
|
+
let cellSpan = cellSpans[i];
|
881
881
|
|
882
882
|
this._updateCellSpan(cellSpan.indexX, cellSpan.indexY, cellSpan, false);
|
883
883
|
}
|
@@ -941,8 +941,8 @@ LayoutGrid.prototype.setRowScalability = function (indexY, val) {
|
|
941
941
|
*/
|
942
942
|
LayoutGrid.prototype.getCell = function (indexX, indexY, opt_includeSpan) {
|
943
943
|
if (opt_includeSpan && this._cellSpans.hasSpan()) {
|
944
|
-
|
945
|
-
|
944
|
+
let colSpan = this._cellSpans.getColSpan(indexX, indexY);
|
945
|
+
let rowSpan = this._cellSpans.getRowSpan(indexX, indexY);
|
946
946
|
|
947
947
|
if (colSpan < 0) {
|
948
948
|
indexX += colSpan;
|
@@ -961,7 +961,7 @@ LayoutGrid.prototype.getCell = function (indexX, indexY, opt_includeSpan) {
|
|
961
961
|
* @inheritDoc
|
962
962
|
*/
|
963
963
|
LayoutGrid.prototype.getCellContent = function (indexX, indexY) {
|
964
|
-
|
964
|
+
let cell = this.getCell(indexX, indexY);
|
965
965
|
|
966
966
|
if (cell !== null) {
|
967
967
|
return cell.getContent();
|
@@ -975,7 +975,7 @@ LayoutGrid.prototype.getCellContent = function (indexX, indexY) {
|
|
975
975
|
* @inheritDoc
|
976
976
|
*/
|
977
977
|
LayoutGrid.prototype.setCellContent = function (indexX, indexY, data) {
|
978
|
-
|
978
|
+
let cell = this.getCell(indexX, indexY);
|
979
979
|
|
980
980
|
if (cell == null) {
|
981
981
|
window.console.log("Error: Accessing nonexistent cell in Grid's Table");
|
@@ -1007,13 +1007,13 @@ LayoutGrid.prototype.setColumnCount = function (val) {
|
|
1007
1007
|
return;
|
1008
1008
|
}
|
1009
1009
|
|
1010
|
-
|
1010
|
+
let oldColCount = this._colCount;
|
1011
1011
|
|
1012
1012
|
this._trackX.setLaneCount(val); // Need to be set before syncing layout
|
1013
1013
|
this._colCount = this._trackX.getLaneCount();
|
1014
1014
|
|
1015
|
-
|
1016
|
-
|
1015
|
+
let i = 0;
|
1016
|
+
let column = null;
|
1017
1017
|
|
1018
1018
|
if (oldColCount > val) {
|
1019
1019
|
for (i = oldColCount; --i >= val; ) {
|
@@ -1070,8 +1070,8 @@ LayoutGrid.prototype.setRowCount = function (val, noBinding) {
|
|
1070
1070
|
return;
|
1071
1071
|
}
|
1072
1072
|
|
1073
|
-
|
1074
|
-
|
1073
|
+
let c;
|
1074
|
+
let oldRowCount = this._rowCount;
|
1075
1075
|
|
1076
1076
|
this._trackY.setLaneCount(val); // Need to be set before syncing layout
|
1077
1077
|
this._rowCount = this._trackY.getLaneCount();
|
@@ -1100,7 +1100,7 @@ LayoutGrid.prototype.setRowCount = function (val, noBinding) {
|
|
1100
1100
|
|
1101
1101
|
// Clear selection of the removed rows
|
1102
1102
|
if (val > 0) {
|
1103
|
-
for (
|
1103
|
+
for (let i = val; i < oldRowCount; ++i) {
|
1104
1104
|
this._selectionList.deselect(i); // No UI change
|
1105
1105
|
}
|
1106
1106
|
} else {
|
@@ -1110,7 +1110,7 @@ LayoutGrid.prototype.setRowCount = function (val, noBinding) {
|
|
1110
1110
|
this._syncLayoutToRows(oldRowCount, val);
|
1111
1111
|
}
|
1112
1112
|
|
1113
|
-
|
1113
|
+
let e = {};
|
1114
1114
|
|
1115
1115
|
e["prevCount"] = oldRowCount;
|
1116
1116
|
e["rowCount"] = this._rowCount;
|
@@ -1176,7 +1176,7 @@ LayoutGrid.prototype.setBorders = function (lft, top, rgt, btm) {
|
|
1176
1176
|
* @inheritDoc
|
1177
1177
|
*/
|
1178
1178
|
LayoutGrid.prototype.getColumnStyle = function (colIndex, styleName) {
|
1179
|
-
|
1179
|
+
let column = this._columns[colIndex];
|
1180
1180
|
|
1181
1181
|
if (column) {
|
1182
1182
|
return column.getStyle(styleName);
|
@@ -1190,7 +1190,7 @@ LayoutGrid.prototype.getColumnStyle = function (colIndex, styleName) {
|
|
1190
1190
|
* @inheritDoc
|
1191
1191
|
*/
|
1192
1192
|
LayoutGrid.prototype.setColumnStyle = function (colIndex, styleName, value) {
|
1193
|
-
|
1193
|
+
let column = this._columns[colIndex];
|
1194
1194
|
if (column) {
|
1195
1195
|
column.setStyle(styleName, value);
|
1196
1196
|
}
|
@@ -1201,7 +1201,7 @@ LayoutGrid.prototype.setColumnStyle = function (colIndex, styleName, value) {
|
|
1201
1201
|
* @inheritDoc
|
1202
1202
|
*/
|
1203
1203
|
LayoutGrid.prototype.enableColumnClass = function (colIndex, className, enabled) {
|
1204
|
-
|
1204
|
+
let column = this._columns[colIndex];
|
1205
1205
|
|
1206
1206
|
if (column) {
|
1207
1207
|
column.enableClass(className, enabled);
|
@@ -1213,7 +1213,7 @@ LayoutGrid.prototype.enableColumnClass = function (colIndex, className, enabled)
|
|
1213
1213
|
* @inheritDoc
|
1214
1214
|
*/
|
1215
1215
|
LayoutGrid.prototype.hasColumnClass = function (colIndex, className) {
|
1216
|
-
|
1216
|
+
let column = this._columns[colIndex];
|
1217
1217
|
|
1218
1218
|
return (column) ? column.hasClass(className) : false;
|
1219
1219
|
};
|
@@ -1224,7 +1224,7 @@ LayoutGrid.prototype.hasColumnClass = function (colIndex, className) {
|
|
1224
1224
|
*/
|
1225
1225
|
LayoutGrid.prototype.enableRowClass = function (rowIndex, className, enabled) {
|
1226
1226
|
if (rowIndex >= 0 && rowIndex < this._rowCount) {
|
1227
|
-
for (
|
1227
|
+
for (let c = 0; c < this._colCount; ++c) {
|
1228
1228
|
this._columns[c].getCell(rowIndex).enableClass(className, enabled);
|
1229
1229
|
}
|
1230
1230
|
}
|
@@ -1240,7 +1240,7 @@ LayoutGrid.prototype.setRowStyle = function (rowIndex, styleName, value, enabled
|
|
1240
1240
|
value = "";
|
1241
1241
|
}
|
1242
1242
|
|
1243
|
-
for (
|
1243
|
+
for (let c = 0; c < this._colCount; ++c) {
|
1244
1244
|
this._columns[c].getCell(rowIndex).setStyle(styleName, value);
|
1245
1245
|
}
|
1246
1246
|
}
|
@@ -1267,13 +1267,13 @@ LayoutGrid.prototype.getContentWidth = function () {
|
|
1267
1267
|
* @inheritDoc
|
1268
1268
|
*/
|
1269
1269
|
LayoutGrid.prototype.getContentHeight = function () {
|
1270
|
-
|
1270
|
+
let layoutSize = this._trackY.getTrackSize();
|
1271
1271
|
|
1272
1272
|
if (layoutSize <= 0) { // All of the cell has default size of zero
|
1273
1273
|
if (this._colCount * this.getVisibleRowCount() > 0) {
|
1274
|
-
|
1275
|
-
|
1276
|
-
|
1274
|
+
let column = this._columns[0];
|
1275
|
+
let bottomCell = column.getCell(this._rowCount - 1);
|
1276
|
+
let bottom = bottomCell.getTop() + bottomCell.getHeight();
|
1277
1277
|
|
1278
1278
|
return bottom - column.getCell(0).getTop();
|
1279
1279
|
}
|
@@ -1291,9 +1291,9 @@ LayoutGrid.prototype.getCellsByRowIndex = function (rowIndex) {
|
|
1291
1291
|
return null;
|
1292
1292
|
}
|
1293
1293
|
|
1294
|
-
|
1294
|
+
let ary = new Array(this._colCount);
|
1295
1295
|
|
1296
|
-
for (
|
1296
|
+
for (let c = 0; c < this._colCount; ++c) {
|
1297
1297
|
ary[c] = this._columns[c].getCell(rowIndex);
|
1298
1298
|
}
|
1299
1299
|
|
@@ -1383,24 +1383,24 @@ LayoutGrid.prototype.setRowHighlight = function (rowIndex) {
|
|
1383
1383
|
return;
|
1384
1384
|
}
|
1385
1385
|
|
1386
|
-
|
1386
|
+
let prevIndex = this._rowHighlightIndex;
|
1387
1387
|
|
1388
1388
|
this._rowHighlightIndex = rowIndex;
|
1389
1389
|
|
1390
|
-
for (
|
1390
|
+
for (let i = this._highlightedCells.length; --i >= 0;) {
|
1391
1391
|
this._highlightedCells[i].removeClass("highlighted-row"); // This will guarantee that there is no left over highlighted cell
|
1392
1392
|
}
|
1393
1393
|
|
1394
1394
|
if (rowIndex >= 0 && rowIndex < this._rowCount) {
|
1395
1395
|
this._highlightedCells.length = this._colCount;
|
1396
1396
|
|
1397
|
-
for (
|
1398
|
-
|
1397
|
+
for (let c = this._colCount; --c >= 0;) {
|
1398
|
+
let cell = this._columns[c].getCell(rowIndex);
|
1399
1399
|
|
1400
1400
|
this._highlightedCells[c] = cell;
|
1401
1401
|
cell.addClass("highlighted-row");
|
1402
1402
|
}
|
1403
|
-
|
1403
|
+
let stretchEl = this.getStretchedCell(rowIndex); // check stretched cell
|
1404
1404
|
if(stretchEl) {
|
1405
1405
|
this._highlightedCells.push(stretchEl);
|
1406
1406
|
stretchEl.addClass("highlighted-row");
|
@@ -1410,7 +1410,7 @@ LayoutGrid.prototype.setRowHighlight = function (rowIndex) {
|
|
1410
1410
|
}
|
1411
1411
|
|
1412
1412
|
if (this._hasListener("rowHighlighted")) {
|
1413
|
-
|
1413
|
+
let e = {};
|
1414
1414
|
|
1415
1415
|
e["prevRowIndex"] = prevIndex;
|
1416
1416
|
e["rowIndex"] = rowIndex;
|
@@ -1488,7 +1488,7 @@ LayoutGrid.prototype.selectRowRange = function (rowIndex, len) {
|
|
1488
1488
|
|
1489
1489
|
this._selectionList.selectRange(rowIndex, len);
|
1490
1490
|
|
1491
|
-
for (
|
1491
|
+
for (let r = 0; r < len; ++r) {
|
1492
1492
|
this._addSelectionUI(r + rowIndex);
|
1493
1493
|
}
|
1494
1494
|
};
|
@@ -1498,14 +1498,14 @@ LayoutGrid.prototype.selectRowRange = function (rowIndex, len) {
|
|
1498
1498
|
* @inheritDoc
|
1499
1499
|
*/
|
1500
1500
|
LayoutGrid.prototype.clearSelectedRows = function () {
|
1501
|
-
|
1501
|
+
let count = this._selectionList.getSelectionCount();
|
1502
1502
|
|
1503
1503
|
if (count) {
|
1504
|
-
|
1504
|
+
let sels = this._selectionList.getAllSelections(); // Slow
|
1505
1505
|
|
1506
1506
|
this._selectionList.clearAllSelections();
|
1507
1507
|
|
1508
|
-
for (
|
1508
|
+
for (let i = 0; i < count; ++i) {
|
1509
1509
|
this._removeSelectionUI(sels[i]);
|
1510
1510
|
}
|
1511
1511
|
|
@@ -1551,12 +1551,12 @@ LayoutGrid.prototype.setRowAnchor = function (at) {
|
|
1551
1551
|
* @inheritDoc
|
1552
1552
|
*/
|
1553
1553
|
LayoutGrid.prototype.activateColumn = function (colIndex, opt_bool) {
|
1554
|
-
|
1554
|
+
let column = this._columns[colIndex];
|
1555
1555
|
|
1556
1556
|
if (column) {
|
1557
|
-
|
1557
|
+
let dirty = column.activate(opt_bool);
|
1558
1558
|
if (opt_bool && dirty && this._rightSpace) {
|
1559
|
-
|
1559
|
+
let pn = this._rightSpace.parentNode;
|
1560
1560
|
if (pn) {
|
1561
1561
|
pn.appendChild(this._rightSpace);
|
1562
1562
|
}
|
@@ -1578,7 +1578,7 @@ LayoutGrid.prototype.activateRows = function () {
|
|
1578
1578
|
LayoutGrid.prototype.moveRowsToTop = function (numRows) {
|
1579
1579
|
this._ctxRows.moveItemsToTop(numRows);
|
1580
1580
|
this._stretchedCells.moveCellsToTop(numRows);
|
1581
|
-
for (
|
1581
|
+
for (let c = 0; c < this._colCount; ++c) {
|
1582
1582
|
this._columns[c].moveCellsToTop(numRows);
|
1583
1583
|
}
|
1584
1584
|
};
|
@@ -1658,14 +1658,14 @@ LayoutGrid.prototype.insertColumn = function (index, opt_json) {
|
|
1658
1658
|
index = this._colCount;
|
1659
1659
|
}
|
1660
1660
|
|
1661
|
-
|
1662
|
-
|
1661
|
+
let atTheMiddle = index < this._colCount;
|
1662
|
+
let cellSpans = this._cellSpans.getAllSpans();
|
1663
1663
|
|
1664
1664
|
this._updateCellSpans(cellSpans, false); // Clear all styling
|
1665
1665
|
this._trackX.insertLane(index, opt_json);
|
1666
1666
|
this._colCount = this._trackX.getLaneCount();
|
1667
1667
|
|
1668
|
-
|
1668
|
+
let column = this._newColumn(index);
|
1669
1669
|
|
1670
1670
|
this._updateColumnIndices();
|
1671
1671
|
|
@@ -1679,13 +1679,13 @@ LayoutGrid.prototype.insertColumn = function (index, opt_json) {
|
|
1679
1679
|
// this._syncLayoutToColumns(index); // Core grid will guarantee updating width to each section
|
1680
1680
|
|
1681
1681
|
// Select the newly added cell, if there is a row selection
|
1682
|
-
|
1682
|
+
let count = this._selectionList.getSelectionCount();
|
1683
1683
|
|
1684
1684
|
if (count) {
|
1685
|
-
|
1685
|
+
let sels = this._selectionList.getAllSelections(); // Slow
|
1686
1686
|
|
1687
|
-
for (
|
1688
|
-
|
1687
|
+
for (let i = sels.length; --i >= 0;) {
|
1688
|
+
let cell = column.getCell(sels[i]);
|
1689
1689
|
|
1690
1690
|
if (cell) {
|
1691
1691
|
cell.addClass("selected-row");
|
@@ -1705,18 +1705,18 @@ LayoutGrid.prototype.insertColumn = function (index, opt_json) {
|
|
1705
1705
|
* @inheritDoc
|
1706
1706
|
*/
|
1707
1707
|
LayoutGrid.prototype.removeColumnAt = function (index) {
|
1708
|
-
|
1708
|
+
let definition = this._trackX.removeLaneAt(index);
|
1709
1709
|
|
1710
1710
|
if (definition == null) {
|
1711
1711
|
return null;
|
1712
1712
|
}
|
1713
1713
|
|
1714
|
-
|
1714
|
+
let cellSpans = this._cellSpans.getAllSpans();
|
1715
1715
|
|
1716
1716
|
this._updateCellSpans(cellSpans, false); // Clear all styling
|
1717
1717
|
this._colCount = this._trackX.getLaneCount();
|
1718
1718
|
|
1719
|
-
|
1719
|
+
let column = this._columns.splice(index, 1)[0];
|
1720
1720
|
|
1721
1721
|
column.dispose();
|
1722
1722
|
definition["control"] = column;
|
@@ -1758,18 +1758,18 @@ LayoutGrid.prototype.moveColumn = function (from, to) {
|
|
1758
1758
|
return;
|
1759
1759
|
}
|
1760
1760
|
|
1761
|
-
|
1761
|
+
let cellSpans = this._cellSpans.getAllSpans();
|
1762
1762
|
|
1763
1763
|
this._updateCellSpans(cellSpans, false); // Clear all styling
|
1764
1764
|
this._trackX.moveLane(from, to);
|
1765
1765
|
|
1766
|
-
|
1766
|
+
let movedColumn = this._columns[from];
|
1767
1767
|
|
1768
1768
|
Util.moveArrayItem(this._columns, from, to);
|
1769
1769
|
|
1770
1770
|
if(movedColumn.getElement().offsetParent) {
|
1771
|
-
|
1772
|
-
|
1771
|
+
let siblingIndex = to + 1;
|
1772
|
+
let nextSibling = this._columns[siblingIndex] || null;
|
1773
1773
|
while (nextSibling && !nextSibling.getElement().offsetParent) {
|
1774
1774
|
nextSibling = this._columns[++siblingIndex];
|
1775
1775
|
}
|
@@ -1779,7 +1779,7 @@ LayoutGrid.prototype.moveColumn = function (from, to) {
|
|
1779
1779
|
this._updateColumnIndices();
|
1780
1780
|
this._updateCellSpans(cellSpans, true); // Restore all styling
|
1781
1781
|
|
1782
|
-
|
1782
|
+
let minIndex = (from < to) ? from : to;
|
1783
1783
|
|
1784
1784
|
this._syncLayoutToColumns(minIndex);
|
1785
1785
|
};
|
@@ -1812,9 +1812,9 @@ LayoutGrid.prototype.getColumnIndex = function (colElem) {
|
|
1812
1812
|
if(colElem["stretched"]) {
|
1813
1813
|
return this._stretchedCells.getColumnIndex(colElem);
|
1814
1814
|
}
|
1815
|
-
|
1815
|
+
let len = this._columns.length;
|
1816
1816
|
|
1817
|
-
for (
|
1817
|
+
for (let i = 0; i < len; ++i) {
|
1818
1818
|
if (this._columns[i].getElement() === colElem) {
|
1819
1819
|
return i;
|
1820
1820
|
}
|
@@ -1835,7 +1835,7 @@ LayoutGrid.prototype.getCellIndex = function (colIndex, cellElem) {
|
|
1835
1835
|
return this._stretchedCells.getRowIndex(cellElem);
|
1836
1836
|
}
|
1837
1837
|
|
1838
|
-
|
1838
|
+
let column = this._columns[colIndex];
|
1839
1839
|
if(column) {
|
1840
1840
|
return column.getCellIndex(cellElem);
|
1841
1841
|
}
|
@@ -1893,7 +1893,7 @@ LayoutGrid.prototype.updateLayout = function () {
|
|
1893
1893
|
* @inheritDoc
|
1894
1894
|
*/
|
1895
1895
|
LayoutGrid.prototype.stretchCell = function (cellRef, rowIndex, opt_stretching, onlyToTheRight) {
|
1896
|
-
|
1896
|
+
let colIndex = -1;
|
1897
1897
|
if (typeof cellRef === "number") {
|
1898
1898
|
colIndex = cellRef;
|
1899
1899
|
if(rowIndex == null) {
|
@@ -1913,11 +1913,11 @@ LayoutGrid.prototype.stretchCell = function (cellRef, rowIndex, opt_stretching,
|
|
1913
1913
|
return null;
|
1914
1914
|
}
|
1915
1915
|
|
1916
|
-
|
1917
|
-
|
1916
|
+
let stretching = (opt_stretching !== false);
|
1917
|
+
let cell = null;
|
1918
1918
|
|
1919
1919
|
if (stretching) {
|
1920
|
-
|
1920
|
+
let coverLayer = this._coverLayer;
|
1921
1921
|
if(!coverLayer) {
|
1922
1922
|
coverLayer = this._coverLayer = document.createElement("div");
|
1923
1923
|
coverLayer.className = "cover-layer";
|
@@ -1931,7 +1931,7 @@ LayoutGrid.prototype.stretchCell = function (cellRef, rowIndex, opt_stretching,
|
|
1931
1931
|
cell = this._stretchedCells.unstretchCell(rowIndex);
|
1932
1932
|
}
|
1933
1933
|
if(cell) {
|
1934
|
-
|
1934
|
+
let selected = this._selectionList.getSelection(rowIndex);
|
1935
1935
|
cell.enableClass("selected-row", selected); // It's can enable class without get stretch cell again.
|
1936
1936
|
}
|
1937
1937
|
return cell;
|
@@ -1979,7 +1979,7 @@ LayoutGrid.prototype.getStretchedCells = function () { // TODO: Deprecate this m
|
|
1979
1979
|
* @inheritDoc */
|
1980
1980
|
LayoutGrid.prototype.updateStretchedCells = function () {
|
1981
1981
|
this._updateLayers();
|
1982
|
-
|
1982
|
+
let childCount = this._coverLayer ? this._coverLayer.children.length : 0; // TODO: Currently assume only stretched cells exists
|
1983
1983
|
if (childCount <= 0) {
|
1984
1984
|
return false;
|
1985
1985
|
}
|
@@ -1998,11 +1998,11 @@ LayoutGrid.prototype._calculateViewSize = function (forceRecal) {
|
|
1998
1998
|
return this._stretchedCells.getStretchSize();
|
1999
1999
|
}
|
2000
2000
|
|
2001
|
-
|
2002
|
-
|
2001
|
+
let ctx = this._ctx;
|
2002
|
+
let stretchSize = forceRecal ? 0 : this._stretchedCells.getStretchSize();
|
2003
2003
|
if(!stretchSize && ctx) {
|
2004
2004
|
if(ctx["getWidth"]) {
|
2005
|
-
|
2005
|
+
let contentWidth = this.getContentWidth();
|
2006
2006
|
stretchSize = ctx["getWidth"]();
|
2007
2007
|
if(stretchSize) { // Grid may not be in the document
|
2008
2008
|
if(contentWidth < stretchSize) { // If view width is larger than actual content
|
@@ -2025,7 +2025,7 @@ LayoutGrid.prototype._calculateViewSize = function (forceRecal) {
|
|
2025
2025
|
* @param {boolean} enabled
|
2026
2026
|
*/
|
2027
2027
|
LayoutGrid.prototype._enableStretchCellClass = function (rowIndex, className, enabled ) {
|
2028
|
-
|
2028
|
+
let stretchEl = this.getStretchedCell(rowIndex); // check stretched cell
|
2029
2029
|
if(stretchEl) {
|
2030
2030
|
stretchEl.enableClass(className, enabled);
|
2031
2031
|
}
|
@@ -2092,7 +2092,7 @@ LayoutGrid.prototype.getRowLayout = function () {
|
|
2092
2092
|
LayoutGrid.prototype.reserveRightSpace = function (size) {
|
2093
2093
|
if (size && size > 0) {
|
2094
2094
|
if (!this._rightSpace) {
|
2095
|
-
|
2095
|
+
let rs = this._rightSpace = document.createElement("div");
|
2096
2096
|
rs.className = "tr-reserved-space";
|
2097
2097
|
rs.style.height = this.getContentHeight() + "px";
|
2098
2098
|
|
@@ -2106,7 +2106,7 @@ LayoutGrid.prototype.reserveRightSpace = function (size) {
|
|
2106
2106
|
|
2107
2107
|
this._updateCssWidth();
|
2108
2108
|
} else if (this._rightSpace) {
|
2109
|
-
|
2109
|
+
let pn = this._rightSpace.parentNode;
|
2110
2110
|
|
2111
2111
|
if (pn) {
|
2112
2112
|
pn.removeChild(this._rightSpace);
|
@@ -2125,17 +2125,17 @@ LayoutGrid.prototype.reserveRightSpace = function (size) {
|
|
2125
2125
|
* @ignore
|
2126
2126
|
*/
|
2127
2127
|
LayoutGrid.prototype._updateRightSpaceStyle = function() {
|
2128
|
-
|
2128
|
+
let rs = this._rightSpace;
|
2129
2129
|
if(!rs) {
|
2130
2130
|
return;
|
2131
2131
|
}
|
2132
|
-
|
2133
|
-
|
2132
|
+
let isScrollbarActive = false;
|
2133
|
+
let pinnedRgtCount = 0;
|
2134
2134
|
if(this._hscrollbar) {
|
2135
2135
|
isScrollbarActive = this._hscrollbar.isActive();
|
2136
2136
|
pinnedRgtCount = this._hscrollbar.getPinnedRightColumnCount();
|
2137
2137
|
}
|
2138
|
-
|
2138
|
+
let absolutePos = isScrollbarActive && !pinnedRgtCount; // if true, the right space element will be positioned absolutely
|
2139
2139
|
|
2140
2140
|
if (absolutePos) {
|
2141
2141
|
rs.style.top = this._trackY.getLaneStart(this._activeRow) + "px";
|
@@ -2153,7 +2153,7 @@ LayoutGrid.prototype._updateRightSpaceStyle = function() {
|
|
2153
2153
|
*/
|
2154
2154
|
LayoutGrid.prototype._updateLayers = function() {
|
2155
2155
|
if(this._rightSpace) {
|
2156
|
-
|
2156
|
+
let pn = this._rightSpace.parentNode; // rightSpace can be located in two places: layout grid and pane slider
|
2157
2157
|
if(pn) {
|
2158
2158
|
pn.appendChild(this._rightSpace);
|
2159
2159
|
} else {
|
@@ -2181,7 +2181,7 @@ LayoutGrid.prototype.getReservedSpace = function () {
|
|
2181
2181
|
* @inheritDoc
|
2182
2182
|
*/
|
2183
2183
|
LayoutGrid.prototype.getComputedStyle = function () {
|
2184
|
-
|
2184
|
+
let elem = this._element;
|
2185
2185
|
|
2186
2186
|
return elem.offsetParent ? getComputedStyle(elem) : null;
|
2187
2187
|
};
|
@@ -2191,7 +2191,7 @@ LayoutGrid.prototype.getComputedStyle = function () {
|
|
2191
2191
|
* @inheritDoc
|
2192
2192
|
*/
|
2193
2193
|
LayoutGrid.prototype.isColumnActive = function (colIndex) {
|
2194
|
-
|
2194
|
+
let column = this._columns[colIndex];
|
2195
2195
|
|
2196
2196
|
return column ? column.isActive() : false;
|
2197
2197
|
};
|
@@ -2205,11 +2205,11 @@ LayoutGrid.prototype.setRowAttributes = function (rowIndex, func) {
|
|
2205
2205
|
return;
|
2206
2206
|
}
|
2207
2207
|
|
2208
|
-
for (
|
2209
|
-
|
2210
|
-
for (
|
2211
|
-
|
2212
|
-
|
2208
|
+
for (let c = 0; c < this._colCount; ++c) {
|
2209
|
+
let result = func(c);
|
2210
|
+
for (let i = result.length; --i >= 0;) {
|
2211
|
+
let entry = result[i];
|
2212
|
+
let cell = this._columns[c].getCell(rowIndex);
|
2213
2213
|
|
2214
2214
|
if (!cell) {
|
2215
2215
|
continue;
|
@@ -2241,7 +2241,7 @@ LayoutGrid.prototype.selectColumn = function (colIndex, selected) {
|
|
2241
2241
|
if(selected) {
|
2242
2242
|
this._colSelDirty = true;
|
2243
2243
|
|
2244
|
-
|
2244
|
+
let boundLayer = this._boundLayer;
|
2245
2245
|
if(!boundLayer) {
|
2246
2246
|
this._initBoundLayer();
|
2247
2247
|
this._updateLayers();
|
@@ -2261,7 +2261,7 @@ LayoutGrid.prototype.isSelectedColumn = function (colIndex) {
|
|
2261
2261
|
* @param {boolean=} selected
|
2262
2262
|
*/
|
2263
2263
|
LayoutGrid.prototype.selectCell = function (colIndex, rowIndex, selected) {
|
2264
|
-
|
2264
|
+
let cell = this._getCell(colIndex, rowIndex);
|
2265
2265
|
if(cell) {
|
2266
2266
|
cell.enableClass("selection", selected);
|
2267
2267
|
}
|
@@ -2288,21 +2288,21 @@ LayoutGrid.prototype.getHorizontalLayout = function () {
|
|
2288
2288
|
* @param {!Array.<boolean>} outNoBorders
|
2289
2289
|
*/
|
2290
2290
|
LayoutGrid.prototype.calculateColumnBounds = function (lftIdx, rgtIdx, outPositions, outNoBorders) {
|
2291
|
-
|
2292
|
-
|
2293
|
-
|
2294
|
-
|
2295
|
-
|
2291
|
+
let lftPx = 0;
|
2292
|
+
let rgtPx = 0;
|
2293
|
+
let noLftBorder = false;
|
2294
|
+
let noRgtBorder = false;
|
2295
|
+
let pinnedRgtIdx = this._trackX.getLaneCount();
|
2296
2296
|
if(lftIdx >= 0) {
|
2297
2297
|
lftPx = this._trackX.getLaneStart(lftIdx);
|
2298
2298
|
rgtPx = this._trackX.getLaneEnd(rgtIdx);
|
2299
2299
|
}
|
2300
2300
|
if(lftPx < rgtPx) {
|
2301
|
-
|
2302
|
-
|
2303
|
-
|
2304
|
-
|
2305
|
-
|
2301
|
+
let lftView = 0;
|
2302
|
+
let rgtView, rgtLimit;
|
2303
|
+
let scrollLeft = 0;
|
2304
|
+
let pinnedLftCount = 0;
|
2305
|
+
let pinnedRgtCount = 0;
|
2306
2306
|
if(this._hscrollbar) {
|
2307
2307
|
scrollLeft = this._hscrollbar.getScrollLeft();
|
2308
2308
|
pinnedLftCount = this._hscrollbar.getPinnedLeftColumnCount();
|
@@ -2357,8 +2357,8 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
|
|
2357
2357
|
return;
|
2358
2358
|
}
|
2359
2359
|
|
2360
|
-
|
2361
|
-
|
2360
|
+
let cbs = this._colBounds;
|
2361
|
+
let cbc = this._colBoundCache;
|
2362
2362
|
if(!cbs) {
|
2363
2363
|
cbs = this._colBounds = [];
|
2364
2364
|
}
|
@@ -2366,13 +2366,13 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
|
|
2366
2366
|
cbc = this._colBoundCache = [];
|
2367
2367
|
}
|
2368
2368
|
|
2369
|
-
|
2370
|
-
|
2371
|
-
|
2372
|
-
|
2369
|
+
let rangeCount = posAry.length;
|
2370
|
+
let i;
|
2371
|
+
let pn = null; // parentNode
|
2372
|
+
let columnBound = null;
|
2373
2373
|
|
2374
2374
|
// Remove unused bounds from document
|
2375
|
-
|
2375
|
+
let activeCount = cbs.length;
|
2376
2376
|
for(i = rangeCount; i < activeCount; ++i) {
|
2377
2377
|
columnBound = cbs[i];
|
2378
2378
|
pn = columnBound.parentNode;
|
@@ -2388,10 +2388,10 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
|
|
2388
2388
|
}
|
2389
2389
|
|
2390
2390
|
for(i = 0; i < rangeCount; ++i) {
|
2391
|
-
|
2392
|
-
|
2393
|
-
|
2394
|
-
|
2391
|
+
let positions = posAry[i];
|
2392
|
+
let noBorders = noBorderAry[i];
|
2393
|
+
let lftPx = /** @type{number} */(positions[0]);
|
2394
|
+
let rgtPx = /** @type{number} */(positions[1]);
|
2395
2395
|
|
2396
2396
|
columnBound = cbc[i];
|
2397
2397
|
if(!columnBound) {
|
@@ -2418,20 +2418,20 @@ LayoutGrid.prototype.updateColumnBounds = function (posAry, noBorderAry, topPx)
|
|
2418
2418
|
/** @public
|
2419
2419
|
*/
|
2420
2420
|
LayoutGrid.prototype.updateColumnSeparators = function () {
|
2421
|
-
|
2422
|
-
|
2421
|
+
let pinnedLeftCount = this._hscrollbar.getPinnedLeftColumnCount();
|
2422
|
+
let pinnedRightCount = this._hscrollbar.getPinnedRightColumnCount();
|
2423
2423
|
if ((pinnedLeftCount || pinnedRightCount) && !this._boundLayer) {
|
2424
2424
|
this._initBoundLayer();
|
2425
2425
|
}
|
2426
2426
|
|
2427
|
-
|
2427
|
+
let isScrollbarActive = false;
|
2428
2428
|
if(this._hscrollbar) {
|
2429
2429
|
isScrollbarActive = this._hscrollbar.isActive();
|
2430
2430
|
}
|
2431
2431
|
|
2432
|
-
|
2432
|
+
let boundLayer = this._boundLayer;
|
2433
2433
|
|
2434
|
-
|
2434
|
+
let colSeparator = this._leftColumnSeparator;
|
2435
2435
|
if (isScrollbarActive && pinnedLeftCount) {
|
2436
2436
|
if (!colSeparator) {
|
2437
2437
|
colSeparator = this._leftColumnSeparator = this._createColumnSeparator();
|
@@ -2444,7 +2444,7 @@ LayoutGrid.prototype.updateColumnSeparators = function () {
|
|
2444
2444
|
}
|
2445
2445
|
}
|
2446
2446
|
|
2447
|
-
|
2447
|
+
let rightPos = this._trackX.getLaneStart(pinnedLeftCount);
|
2448
2448
|
colSeparator.style.left = (rightPos - 1) + "px";
|
2449
2449
|
colSeparator.style.height = this._trackY.getTrackSize() + "px";
|
2450
2450
|
} else {
|
@@ -2466,9 +2466,9 @@ LayoutGrid.prototype.updateColumnSeparators = function () {
|
|
2466
2466
|
boundLayer.appendChild(colSeparator);
|
2467
2467
|
}
|
2468
2468
|
}
|
2469
|
-
|
2470
|
-
|
2471
|
-
|
2469
|
+
let colCount = this.getColumnCount();
|
2470
|
+
let colWidth = this._trackX.getLaneEnd(colCount - 1) - this._trackX.getLaneStart(colCount - pinnedRightCount);
|
2471
|
+
let viewSize = this._getViewSize();
|
2472
2472
|
|
2473
2473
|
colSeparator.style.left = (viewSize - colWidth - this._rightSpaceSize) + "px";
|
2474
2474
|
colSeparator.style.height = this._trackY.getTrackSize() + "px";
|
@@ -2482,7 +2482,7 @@ LayoutGrid.prototype.updateColumnSeparators = function () {
|
|
2482
2482
|
* @return {Element}
|
2483
2483
|
*/
|
2484
2484
|
LayoutGrid.prototype._createColumnSeparator = function() {
|
2485
|
-
|
2485
|
+
let colSeparator = document.createElement("div");
|
2486
2486
|
colSeparator.classList.add("column-separator");
|
2487
2487
|
return colSeparator;
|
2488
2488
|
};
|
@@ -2491,7 +2491,7 @@ LayoutGrid.prototype._createColumnSeparator = function() {
|
|
2491
2491
|
* @return {Element}
|
2492
2492
|
*/
|
2493
2493
|
LayoutGrid.prototype._initBoundLayer = function () {
|
2494
|
-
|
2494
|
+
let boundLayer = this._boundLayer;
|
2495
2495
|
if(!boundLayer) {
|
2496
2496
|
boundLayer = this._boundLayer = document.createElement("div");
|
2497
2497
|
boundLayer.className = "cover-layer";
|
@@ -2507,7 +2507,7 @@ LayoutGrid.prototype._initBoundLayer = function () {
|
|
2507
2507
|
* @return {Cell}
|
2508
2508
|
*/
|
2509
2509
|
LayoutGrid.prototype._getCell = function (indexX, indexY) {
|
2510
|
-
|
2510
|
+
let column = this._columns[indexX];
|
2511
2511
|
|
2512
2512
|
return (column) ? column.getCell(indexY) : null;
|
2513
2513
|
};
|
@@ -2521,10 +2521,10 @@ LayoutGrid.prototype._insertCells = function (from, to) {
|
|
2521
2521
|
this._activeRow = from;
|
2522
2522
|
this._activeRowEnd = to;
|
2523
2523
|
|
2524
|
-
|
2524
|
+
let top = this._trackY.getLaneStart(from);
|
2525
2525
|
|
2526
|
-
for (
|
2527
|
-
|
2526
|
+
for (let c = 0; c < this._colCount; ++c) {
|
2527
|
+
let column = this._columns[c];
|
2528
2528
|
|
2529
2529
|
if (!column.hasCollapsedCells()) {
|
2530
2530
|
column.setTop(top);
|
@@ -2538,7 +2538,7 @@ LayoutGrid.prototype._insertCells = function (from, to) {
|
|
2538
2538
|
}
|
2539
2539
|
|
2540
2540
|
if (to > this._availableRowCount) {
|
2541
|
-
|
2541
|
+
let e = {};
|
2542
2542
|
|
2543
2543
|
e["prevRowIndex"] = this._availableRowCount;
|
2544
2544
|
e["rowIndex"] = to;
|
@@ -2554,14 +2554,14 @@ LayoutGrid.prototype._insertCells = function (from, to) {
|
|
2554
2554
|
* @return {!ElementWrapper}
|
2555
2555
|
*/
|
2556
2556
|
LayoutGrid.prototype._newColumn = function (indexX) {
|
2557
|
-
|
2557
|
+
let column = new Column(this._virOwner || this);
|
2558
2558
|
|
2559
2559
|
column.setHeight(this._trackY.getDefaultLaneSize());
|
2560
2560
|
column.setCellCount(this._rowCount);
|
2561
2561
|
column.setTop(this._trackY.getLaneStart(this._activeRow));
|
2562
2562
|
column.activateCells(this._activeRow, this._activeRowEnd);
|
2563
2563
|
|
2564
|
-
for (
|
2564
|
+
for (let r = 0; r < this._rowCount; ++r) {
|
2565
2565
|
if (!this._trackY.isAtDefaultSize(r)) {
|
2566
2566
|
column.getCell(r).setHeight(this._trackY.getLaneSize(r));
|
2567
2567
|
}
|
@@ -2574,7 +2574,7 @@ LayoutGrid.prototype._newColumn = function (indexX) {
|
|
2574
2574
|
} else {
|
2575
2575
|
this._columns.splice(indexX, 0, column);
|
2576
2576
|
|
2577
|
-
|
2577
|
+
let nextColumn = this._columns[indexX + 1];
|
2578
2578
|
|
2579
2579
|
column.insertBefore(nextColumn);
|
2580
2580
|
}
|
@@ -2602,7 +2602,7 @@ LayoutGrid.prototype._updateViewHeight = function () {
|
|
2602
2602
|
return;
|
2603
2603
|
}
|
2604
2604
|
|
2605
|
-
|
2605
|
+
let contentHeight = this.getContentHeight();
|
2606
2606
|
|
2607
2607
|
this._element.style.height = contentHeight + "px"; // View is kept in sync with content size
|
2608
2608
|
|
@@ -2614,8 +2614,8 @@ LayoutGrid.prototype._updateViewHeight = function () {
|
|
2614
2614
|
/** @private
|
2615
2615
|
*/
|
2616
2616
|
LayoutGrid.prototype._updateColumnIndices = function () {
|
2617
|
-
|
2618
|
-
|
2617
|
+
let columnCount = this._columns.length;
|
2618
|
+
let first = this._columns[0];
|
2619
2619
|
|
2620
2620
|
if (first !== this._firstColumn) {
|
2621
2621
|
if (this._firstColumn) {
|
@@ -2629,7 +2629,7 @@ LayoutGrid.prototype._updateColumnIndices = function () {
|
|
2629
2629
|
}
|
2630
2630
|
}
|
2631
2631
|
|
2632
|
-
|
2632
|
+
let last = this._columns[columnCount - 1];
|
2633
2633
|
|
2634
2634
|
if (last !== this._lastColumn) {
|
2635
2635
|
if (this._lastColumn) {
|
@@ -2641,10 +2641,10 @@ LayoutGrid.prototype._updateColumnIndices = function () {
|
|
2641
2641
|
if (this._lastColumn) { this._lastColumn.addClass("last"); }
|
2642
2642
|
}
|
2643
2643
|
|
2644
|
-
|
2644
|
+
let sibling = null;
|
2645
2645
|
|
2646
|
-
for (
|
2647
|
-
|
2646
|
+
for (let i = this._columns.length; --i >= 0;) {
|
2647
|
+
let column = this._columns[i];
|
2648
2648
|
|
2649
2649
|
column.setNextSibling(sibling);
|
2650
2650
|
sibling = column;
|
@@ -2669,8 +2669,8 @@ LayoutGrid.prototype._syncLayoutToColumns = function (from) {
|
|
2669
2669
|
return false;
|
2670
2670
|
}
|
2671
2671
|
|
2672
|
-
for (
|
2673
|
-
|
2672
|
+
for (let c = from; c < this._colCount; ++c) {
|
2673
|
+
let column = this._columns[c];
|
2674
2674
|
|
2675
2675
|
column.setLeft(this._trackX.getLaneStart(c));
|
2676
2676
|
column.setWidth(this._trackX.getLaneSize(c));
|
@@ -2691,10 +2691,10 @@ LayoutGrid.prototype._syncLayoutToRows = function (indexY, toY) {
|
|
2691
2691
|
return;
|
2692
2692
|
}
|
2693
2693
|
|
2694
|
-
for (
|
2695
|
-
|
2694
|
+
for (let r = indexY; r < toY; ++r) {
|
2695
|
+
let height = (this._trackY.isAtDefaultSize(r)) ? -1 : this._trackY.getLaneSize(r);
|
2696
2696
|
|
2697
|
-
for (
|
2697
|
+
for (let c = 0; c < this._colCount; ++c) {
|
2698
2698
|
this._columns[c].getCell(r).setHeight(height);
|
2699
2699
|
}
|
2700
2700
|
}
|
@@ -2722,7 +2722,7 @@ LayoutGrid.prototype._dispatchRowHeightChangedEvent = function (from, to) {
|
|
2722
2722
|
return;
|
2723
2723
|
}
|
2724
2724
|
|
2725
|
-
|
2725
|
+
let e = {};
|
2726
2726
|
|
2727
2727
|
e["rowIndex"] = from;
|
2728
2728
|
e["changeLength"] = to - from;
|
@@ -2736,7 +2736,7 @@ LayoutGrid.prototype._dispatchRowHeightChangedEvent = function (from, to) {
|
|
2736
2736
|
* @param {CellSpan} cellSpan
|
2737
2737
|
*/
|
2738
2738
|
LayoutGrid.prototype._updateCellSpanSize = function (indexX, indexY, cellSpan) {
|
2739
|
-
|
2739
|
+
let cell = this._getCell(indexX, indexY);
|
2740
2740
|
|
2741
2741
|
if (cell == null) {
|
2742
2742
|
return;
|
@@ -2752,7 +2752,7 @@ LayoutGrid.prototype._updateCellSpanSize = function (indexX, indexY, cellSpan) {
|
|
2752
2752
|
if (cellSpan && cellSpan.rowSpan > 1) {
|
2753
2753
|
cell.setHeight(this.getCellHeight(indexX, indexY)); /////
|
2754
2754
|
} else {
|
2755
|
-
|
2755
|
+
let height = this._trackY.isAtDefaultSize(indexY) ? -1 : this._trackY.getLaneSize(indexY);
|
2756
2756
|
|
2757
2757
|
cell.setHeight(height);
|
2758
2758
|
}
|
@@ -2765,8 +2765,8 @@ LayoutGrid.prototype._updateCellSpanSize = function (indexX, indexY, cellSpan) {
|
|
2765
2765
|
LayoutGrid.prototype._updateCellSpanLayout = function (cellSpans) {
|
2766
2766
|
if (cellSpans == null) { return; }
|
2767
2767
|
|
2768
|
-
for (
|
2769
|
-
|
2768
|
+
for (let i = cellSpans.length; --i >= 0; ) {
|
2769
|
+
let cellSpan = cellSpans[i];
|
2770
2770
|
|
2771
2771
|
this._updateCellSpanSize(cellSpan.indexX, cellSpan.indexY, cellSpan);
|
2772
2772
|
}
|
@@ -2793,9 +2793,9 @@ LayoutGrid.prototype._updateCellSpan = function (indexX, indexY, cellSpan, addin
|
|
2793
2793
|
* @param {boolean} adding
|
2794
2794
|
*/
|
2795
2795
|
LayoutGrid.prototype._updateCellSpanClass = function (indexX, indexY, colSpan, rowSpan, adding) {
|
2796
|
-
|
2796
|
+
let column;
|
2797
2797
|
|
2798
|
-
for (
|
2798
|
+
for (let c = 0; c < colSpan; ++c) {
|
2799
2799
|
column = this._columns[indexX + c];
|
2800
2800
|
|
2801
2801
|
if (!column) {
|
@@ -2805,7 +2805,7 @@ LayoutGrid.prototype._updateCellSpanClass = function (indexX, indexY, colSpan, r
|
|
2805
2805
|
column.collapseCells(indexY, rowSpan, adding, (c === 0), (c > 0));
|
2806
2806
|
}
|
2807
2807
|
|
2808
|
-
|
2808
|
+
let cell = this._getCell(indexX, indexY);
|
2809
2809
|
|
2810
2810
|
if (cell) {
|
2811
2811
|
cell._colSpan = (adding) ? colSpan : 1;
|
@@ -2821,8 +2821,8 @@ LayoutGrid.prototype._updateCellSpanClass = function (indexX, indexY, colSpan, r
|
|
2821
2821
|
LayoutGrid.prototype._updateCellSpans = function (cellSpans, adding) {
|
2822
2822
|
if (cellSpans == null) { return; }
|
2823
2823
|
|
2824
|
-
for (
|
2825
|
-
|
2824
|
+
for (let i = cellSpans.length; --i >= 0; ) {
|
2825
|
+
let cellSpan = cellSpans[i];
|
2826
2826
|
|
2827
2827
|
this._updateCellSpan(cellSpan.indexX, cellSpan.indexY, cellSpan, adding);
|
2828
2828
|
}
|
@@ -2833,15 +2833,15 @@ LayoutGrid.prototype._updateCellSpans = function (cellSpans, adding) {
|
|
2833
2833
|
* @param {Object} e
|
2834
2834
|
*/
|
2835
2835
|
LayoutGrid.prototype._onMouseMove = function (e) {
|
2836
|
-
|
2836
|
+
let target = e["target"];
|
2837
2837
|
|
2838
|
-
|
2839
|
-
|
2838
|
+
let cellElement = Util.closestElement(target, "cell");
|
2839
|
+
let colIndex = this._stretchedCells.getColumnIndex(cellElement);
|
2840
2840
|
if(colIndex < 0) { // Not found colIndex in stretching cell, then get from normal row
|
2841
|
-
|
2841
|
+
let colElement = Util.closestElement(target, "column");
|
2842
2842
|
colIndex = this.getColumnIndex(colElement);
|
2843
2843
|
}
|
2844
|
-
|
2844
|
+
let rowIndex = this.getCellIndex(colIndex, cellElement);
|
2845
2845
|
|
2846
2846
|
this.setRowHighlight(rowIndex);
|
2847
2847
|
};
|
@@ -2851,10 +2851,10 @@ LayoutGrid.prototype._onMouseMove = function (e) {
|
|
2851
2851
|
* @param {Object} e
|
2852
2852
|
*/
|
2853
2853
|
LayoutGrid.prototype._onMouseOut = function (e) {
|
2854
|
-
|
2854
|
+
let rel = e.relatedTarget;
|
2855
2855
|
|
2856
2856
|
if (rel) {
|
2857
|
-
|
2857
|
+
let thisElem = this._element;
|
2858
2858
|
|
2859
2859
|
while (rel.parentNode !== null) {
|
2860
2860
|
rel = rel.parentNode;
|
@@ -2873,7 +2873,7 @@ LayoutGrid.prototype._onMouseOut = function (e) {
|
|
2873
2873
|
* @param {number} rowIndex
|
2874
2874
|
*/
|
2875
2875
|
LayoutGrid.prototype._updateSelectionUI = function (rowIndex) { // Update UI of the specified row index
|
2876
|
-
|
2876
|
+
let selected = this._selectionList.getSelection(rowIndex);
|
2877
2877
|
this._enableStretchCellClass(rowIndex, "selected-row", selected);
|
2878
2878
|
this.enableRowClass(rowIndex, "selected-row", selected);
|
2879
2879
|
};
|
@@ -2901,7 +2901,7 @@ LayoutGrid.prototype._removeSelectionUI = function (rowIndex) {
|
|
2901
2901
|
*/
|
2902
2902
|
LayoutGrid.prototype._onEnterDocument = function () {
|
2903
2903
|
if (!this._initialized && this.getParent()) {
|
2904
|
-
for (
|
2904
|
+
for (let c = 0; c < this._colCount; ++c) {
|
2905
2905
|
this._columns[c].enableAutoStyleUpdating();
|
2906
2906
|
}
|
2907
2907
|
|