@syncfusion/ej2-treegrid 32.2.7 → 33.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ej2-treegrid.min.js +2 -2
- package/dist/ej2-treegrid.umd.min.js +2 -2
- package/dist/ej2-treegrid.umd.min.js.map +1 -1
- package/dist/es6/ej2-treegrid.es2015.js +230 -77
- package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
- package/dist/es6/ej2-treegrid.es5.js +234 -78
- package/dist/es6/ej2-treegrid.es5.js.map +1 -1
- package/dist/global/ej2-treegrid.min.js +2 -2
- package/dist/global/ej2-treegrid.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +5 -5
- package/src/treegrid/actions/excel-export.js +35 -5
- package/src/treegrid/actions/pdf-export.js +1 -1
- package/src/treegrid/actions/rowdragdrop.js +8 -2
- package/src/treegrid/base/data.js +2 -33
- package/src/treegrid/base/treegrid-model.d.ts +1 -1
- package/src/treegrid/base/treegrid.d.ts +34 -0
- package/src/treegrid/base/treegrid.js +124 -9
- package/src/treegrid/renderer/virtual-tree-content-render.d.ts +4 -5
- package/src/treegrid/renderer/virtual-tree-content-render.js +65 -29
- package/styles/fluent2.css +1 -0
- package/styles/material3-dark-lite.css +2 -2
- package/styles/material3-dark.css +2 -2
- package/styles/material3-lite.css +2 -2
- package/styles/material3.css +2 -2
- package/styles/treegrid/_bigger.scss +3 -0
- package/styles/treegrid/fluent2.css +1 -0
- package/styles/treegrid/icons/_material3.scss +2 -2
- package/styles/treegrid/material3-dark.css +2 -2
- package/styles/treegrid/material3.css +2 -2
|
@@ -188,7 +188,11 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
188
188
|
&& this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || !isCountRequired(this.parent)) {
|
|
189
189
|
this.parent["" + action]('data-ready', this.onDataReady, this);
|
|
190
190
|
this.parent["" + action]('refresh-virtual-block', this.refreshContentRows, this);
|
|
191
|
+
this.parent.on(events.destroy, this.destroy, this);
|
|
191
192
|
this.fn = function () {
|
|
193
|
+
if (_this.parent.root.enableSeamlessScrolling) {
|
|
194
|
+
window.addEventListener('resize', _this.updateScrollbar.bind(_this));
|
|
195
|
+
}
|
|
192
196
|
_this.observers.observes(function (scrollArgs) { return _this.scrollListeners(scrollArgs); }, _this.onEnteredAction(), _this.parent);
|
|
193
197
|
var gObj = _this.parent;
|
|
194
198
|
if (gObj.root.enablePersistence && gObj.root.scrollPosition) {
|
|
@@ -238,6 +242,10 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
238
242
|
var virtualCellFocus = 'virtualCellFocus';
|
|
239
243
|
_super.prototype["" + virtualCellFocus].call(this, e);
|
|
240
244
|
};
|
|
245
|
+
VirtualTreeContentRenderer.prototype.updateScrollbar = function () {
|
|
246
|
+
var updateScrollbarOnResize = 'updateScrollbarOnResize';
|
|
247
|
+
_super.prototype["" + updateScrollbarOnResize].call(this);
|
|
248
|
+
};
|
|
241
249
|
/**
|
|
242
250
|
* Handles the data ready event for the virtual tree grid content renderer.
|
|
243
251
|
*
|
|
@@ -278,9 +286,6 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
278
286
|
_super.prototype.renderTable.call(this);
|
|
279
287
|
if (!(this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
|
|
280
288
|
&& this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || !isCountRequired(this.parent)) {
|
|
281
|
-
if (this.observers) {
|
|
282
|
-
this.observers.disconnect();
|
|
283
|
-
}
|
|
284
289
|
getValue('observer', this).options.debounceEvent = false;
|
|
285
290
|
this.observers = new TreeInterSectionObserver(getValue('observer', this).element, getValue('observer', this).options);
|
|
286
291
|
this.contents = this.getPanel().firstChild;
|
|
@@ -361,7 +366,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
361
366
|
}
|
|
362
367
|
var treeGridParent = this.parent.clipboardModule['treeGridParent'];
|
|
363
368
|
if (isNullOrUndefined(treeGridParent.editModule) ||
|
|
364
|
-
isNullOrUndefined(treeGridParent.editModule['addRowIndex']) || args.selectedIndex !==
|
|
369
|
+
isNullOrUndefined(treeGridParent.editModule['addRowIndex']) || args.selectedIndex !== -1) {
|
|
365
370
|
if (!isNullOrUndefined(treeGridParent.grid.sortModule) && treeGridParent.grid.sortModule['sortedColumns'].length > 0) {
|
|
366
371
|
var sortedData = treeGridParent.dataModule['sortedData'];
|
|
367
372
|
if (!isNullOrUndefined(sortedData) && sortedData.length > 0) {
|
|
@@ -661,16 +666,28 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
661
666
|
var maxLeft = _this.vgenerator.cOffsets[idx - 1];
|
|
662
667
|
x = x > maxLeft ? maxLeft : x; //TODO: This fix horizontal scrollbar jumping issue in column virtualization.
|
|
663
668
|
}
|
|
664
|
-
var
|
|
669
|
+
var isRowScrollAction = _this.prevInfo && _this.prevInfo.page === 1 &&
|
|
670
|
+
(direction !== _this.prevInfo.direction || direction !== _this.prevInfo.direction);
|
|
671
|
+
var translateY = _this.getTranslateY(e.top, height, xAxis && top_1 === e.top ? _this.prevInfo : undefined, isRowScrollAction ? false : true);
|
|
665
672
|
if (!_this.parent.isFrozenGrid() || _this.parent.enableVirtualMaskRow) {
|
|
666
673
|
if (_this.parent.enableVirtualMaskRow) {
|
|
667
674
|
var upScroll = (e.top - _this.translateY) < 0;
|
|
668
|
-
|
|
669
|
-
_this.virtualEle.adjustTable(x,
|
|
675
|
+
translateY = (Math.round(_this.translateY) > translateY && !upScroll) ? Math.round(_this.translateY) : translateY;
|
|
676
|
+
_this.virtualEle.adjustTable(x, translateY);
|
|
670
677
|
}
|
|
671
678
|
else {
|
|
672
679
|
_this.virtualEle.adjustTable(x, _this.translateY);
|
|
673
680
|
}
|
|
681
|
+
var wrapperBottom = _this.virtualEle.wrapper.getBoundingClientRect().bottom;
|
|
682
|
+
var contentBottom = _this.virtualEle.content.getBoundingClientRect().bottom;
|
|
683
|
+
if (direction === 'up' && _this.prevInfo.page === Math.ceil(_this.getTotalBlocks() / 2) &&
|
|
684
|
+
Math.round(wrapperBottom) < Math.round(contentBottom)) {
|
|
685
|
+
var bottomGap = Math.round(contentBottom) - Math.round(wrapperBottom);
|
|
686
|
+
var adjustedTranslateY = Math.min(translateY + bottomGap, _this.offsets[_this['maxBlock']]);
|
|
687
|
+
if (adjustedTranslateY !== translateY) {
|
|
688
|
+
_this.virtualEle.adjustTable(x, adjustedTranslateY);
|
|
689
|
+
}
|
|
690
|
+
}
|
|
674
691
|
if (_this.parent.enableColumnVirtualization) {
|
|
675
692
|
_this.header.virtualEle.adjustTable(x, 0);
|
|
676
693
|
if (_this.parent.isFrozenGrid()) {
|
|
@@ -787,6 +804,9 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
787
804
|
(this.parent.pageSettings.pageSize / 2) && (this.endIndex - nextSetResIndex) < (this.parent.pageSettings.pageSize / 2)) {
|
|
788
805
|
this.startIndex = lastIndex - (this.parent.pageSettings.pageSize / 2);
|
|
789
806
|
}
|
|
807
|
+
if (this.totalRecords < this.parent.pageSettings.pageSize) {
|
|
808
|
+
this.startIndex = 0;
|
|
809
|
+
}
|
|
790
810
|
if (scrollArgs.offset.top > (rowHeight * this.totalRecords)) {
|
|
791
811
|
this.translateY = this.getTranslateY(scrollArgs.offset.top, content.getBoundingClientRect().height);
|
|
792
812
|
}
|
|
@@ -996,10 +1016,17 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
|
|
|
996
1016
|
this.parent.off('refresh-virtual-editform-cells', this.refreshCell);
|
|
997
1017
|
this.parent.off('virtaul-cell-focus', this.cellFocus);
|
|
998
1018
|
this.parent.off('virtual-scroll-edit', this.restoreEditState);
|
|
999
|
-
|
|
1000
|
-
|
|
1019
|
+
this.parent.off(events.destroy, this.destroy);
|
|
1020
|
+
if (this.parent.root.enableSeamlessScrolling) {
|
|
1021
|
+
window.removeEventListener('resize', this.updateScrollbar);
|
|
1001
1022
|
}
|
|
1002
1023
|
};
|
|
1024
|
+
VirtualTreeContentRenderer.prototype.destroy = function () {
|
|
1025
|
+
if (this.parent.isDestroyed) {
|
|
1026
|
+
return;
|
|
1027
|
+
}
|
|
1028
|
+
this.removeEventListener();
|
|
1029
|
+
};
|
|
1003
1030
|
return VirtualTreeContentRenderer;
|
|
1004
1031
|
}(VirtualContentRenderer));
|
|
1005
1032
|
export { VirtualTreeContentRenderer };
|
|
@@ -1013,6 +1040,9 @@ var TreeInterSectionObserver = /** @class */ (function (_super) {
|
|
|
1013
1040
|
_this.timer = 0;
|
|
1014
1041
|
return _this;
|
|
1015
1042
|
}
|
|
1043
|
+
TreeInterSectionObserver.prototype.onWheelEvent = function () {
|
|
1044
|
+
this.isWheeling = true;
|
|
1045
|
+
};
|
|
1016
1046
|
/**
|
|
1017
1047
|
* Sets up observers to monitor scroll events on a given container
|
|
1018
1048
|
* and its movable companion within a virtual grid setup.
|
|
@@ -1025,28 +1055,28 @@ var TreeInterSectionObserver = /** @class */ (function (_super) {
|
|
|
1025
1055
|
TreeInterSectionObserver.prototype.observes = function (callback, onEnterCallback, instance) {
|
|
1026
1056
|
var containerRect = 'containerRect';
|
|
1027
1057
|
_super.prototype["" + containerRect] = getValue('options', this).container.getBoundingClientRect();
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
_super.prototype["" + movableContainerRect] = getValue('options', this).movableContainer.getBoundingClientRect();
|
|
1034
|
-
this.movableContainerEl = getValue('options', this).movableContainer;
|
|
1035
|
-
this.movableScrollHandler = this.virtualScrollHandlers(callback, onEnterCallback, instance);
|
|
1036
|
-
EventHandler.add(this.movableContainerEl, 'scroll', this.movableScrollHandler, this);
|
|
1058
|
+
var options = getValue('options', this);
|
|
1059
|
+
EventHandler.add(options.container, 'wheel', this.onWheelEvent, this);
|
|
1060
|
+
if (!isNullOrUndefined(options.horizontalScrollbar)) {
|
|
1061
|
+
EventHandler.add(options.horizontalScrollbar, 'wheel', this.onWheelEvent, this);
|
|
1062
|
+
EventHandler.add(options.horizontalScrollbar, 'scroll', this.onVirtualContentScrolling(), this);
|
|
1037
1063
|
}
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
EventHandler.remove(this.containerEl, 'scroll', this.containerScrollHandler);
|
|
1042
|
-
this.containerScrollHandler = null;
|
|
1043
|
-
}
|
|
1044
|
-
if (this.movableContainerEl && this.movableScrollHandler) {
|
|
1045
|
-
EventHandler.remove(this.movableContainerEl, 'scroll', this.movableScrollHandler);
|
|
1046
|
-
this.movableScrollHandler = null;
|
|
1064
|
+
if (!isNullOrUndefined(options.verticalScrollbar)) {
|
|
1065
|
+
EventHandler.add(options.verticalScrollbar, 'wheel', this.onWheelEvent, this);
|
|
1066
|
+
EventHandler.add(options.verticalScrollbar, 'scroll', this.onVirtualContentScrolling(), this);
|
|
1047
1067
|
}
|
|
1048
|
-
this.
|
|
1049
|
-
|
|
1068
|
+
EventHandler.add(options.container, 'scroll', this.virtualScrollHandlers(callback, onEnterCallback, instance), this);
|
|
1069
|
+
};
|
|
1070
|
+
TreeInterSectionObserver.prototype.onVirtualContentScrolling = function () {
|
|
1071
|
+
var _this = this;
|
|
1072
|
+
return function (e) {
|
|
1073
|
+
if (e.target.classList.contains('e-virtual-vertical-scrollbar')) {
|
|
1074
|
+
getValue('options', _this).container.scrollTop = e.target.scrollTop;
|
|
1075
|
+
}
|
|
1076
|
+
if (e.target.classList.contains('e-virtual-horizontal-scrollbar')) {
|
|
1077
|
+
getValue('options', _this).container.scrollLeft = e.target.scrollLeft;
|
|
1078
|
+
}
|
|
1079
|
+
};
|
|
1050
1080
|
};
|
|
1051
1081
|
/**
|
|
1052
1082
|
* Clears the last known position.
|
|
@@ -1092,6 +1122,12 @@ var TreeInterSectionObserver = /** @class */ (function (_super) {
|
|
|
1092
1122
|
direction = _this["" + options].prevLeft === left ? direction : _this["" + options].prevLeft < left ? 'right' : 'left';
|
|
1093
1123
|
_this["" + options].prevTop = top;
|
|
1094
1124
|
_this["" + options].prevLeft = left;
|
|
1125
|
+
if (!isNullOrUndefined(_this["" + options].verticalScrollbar)) {
|
|
1126
|
+
_this["" + options].verticalScrollbar.scrollTop = _this["" + options].container.scrollTop;
|
|
1127
|
+
}
|
|
1128
|
+
if (!isNullOrUndefined(_this["" + options].horizontalScrollbar)) {
|
|
1129
|
+
_this["" + options].horizontalScrollbar.scrollLeft = _this["" + options].container.scrollLeft;
|
|
1130
|
+
}
|
|
1095
1131
|
var current = _this.sentinelInfo["" + direction];
|
|
1096
1132
|
var delta = 0;
|
|
1097
1133
|
_this.newPos = top;
|
package/styles/fluent2.css
CHANGED
|
@@ -311,11 +311,11 @@
|
|
|
311
311
|
/* stylelint-disable */
|
|
312
312
|
.e-treegrid .e-indent::before,
|
|
313
313
|
.e-grid-menu .e-indent::before {
|
|
314
|
-
content: "\
|
|
314
|
+
content: "\e810";
|
|
315
315
|
}
|
|
316
316
|
.e-treegrid .e-outdent::before,
|
|
317
317
|
.e-grid-menu .e-outdent::before {
|
|
318
|
-
content: "\
|
|
318
|
+
content: "\e72a";
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
.e-treegrid .e-toolbar-item .e-expand::before {
|
|
@@ -311,11 +311,11 @@
|
|
|
311
311
|
/* stylelint-disable */
|
|
312
312
|
.e-treegrid .e-indent::before,
|
|
313
313
|
.e-grid-menu .e-indent::before {
|
|
314
|
-
content: "\
|
|
314
|
+
content: "\e810";
|
|
315
315
|
}
|
|
316
316
|
.e-treegrid .e-outdent::before,
|
|
317
317
|
.e-grid-menu .e-outdent::before {
|
|
318
|
-
content: "\
|
|
318
|
+
content: "\e72a";
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
.e-treegrid .e-toolbar-item .e-expand::before {
|
|
@@ -313,11 +313,11 @@
|
|
|
313
313
|
/* stylelint-disable */
|
|
314
314
|
.e-treegrid .e-indent::before,
|
|
315
315
|
.e-grid-menu .e-indent::before {
|
|
316
|
-
content: "\
|
|
316
|
+
content: "\e810";
|
|
317
317
|
}
|
|
318
318
|
.e-treegrid .e-outdent::before,
|
|
319
319
|
.e-grid-menu .e-outdent::before {
|
|
320
|
-
content: "\
|
|
320
|
+
content: "\e72a";
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
.e-treegrid .e-toolbar-item .e-expand::before {
|
package/styles/material3.css
CHANGED
|
@@ -313,11 +313,11 @@
|
|
|
313
313
|
/* stylelint-disable */
|
|
314
314
|
.e-treegrid .e-indent::before,
|
|
315
315
|
.e-grid-menu .e-indent::before {
|
|
316
|
-
content: "\
|
|
316
|
+
content: "\e810";
|
|
317
317
|
}
|
|
318
318
|
.e-treegrid .e-outdent::before,
|
|
319
319
|
.e-grid-menu .e-outdent::before {
|
|
320
|
-
content: "\
|
|
320
|
+
content: "\e72a";
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
.e-treegrid .e-toolbar-item .e-expand::before {
|
|
@@ -311,11 +311,11 @@
|
|
|
311
311
|
/* stylelint-disable */
|
|
312
312
|
.e-treegrid .e-indent::before,
|
|
313
313
|
.e-grid-menu .e-indent::before {
|
|
314
|
-
content: "\
|
|
314
|
+
content: "\e810";
|
|
315
315
|
}
|
|
316
316
|
.e-treegrid .e-outdent::before,
|
|
317
317
|
.e-grid-menu .e-outdent::before {
|
|
318
|
-
content: "\
|
|
318
|
+
content: "\e72a";
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
.e-treegrid .e-toolbar-item .e-expand::before {
|
|
@@ -313,11 +313,11 @@
|
|
|
313
313
|
/* stylelint-disable */
|
|
314
314
|
.e-treegrid .e-indent::before,
|
|
315
315
|
.e-grid-menu .e-indent::before {
|
|
316
|
-
content: "\
|
|
316
|
+
content: "\e810";
|
|
317
317
|
}
|
|
318
318
|
.e-treegrid .e-outdent::before,
|
|
319
319
|
.e-grid-menu .e-outdent::before {
|
|
320
|
-
content: "\
|
|
320
|
+
content: "\e72a";
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
.e-treegrid .e-toolbar-item .e-expand::before {
|