@syncfusion/ej2-treegrid 28.1.35 → 28.1.37

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.
Files changed (98) hide show
  1. package/dist/ej2-treegrid.min.js +2 -2
  2. package/dist/ej2-treegrid.umd.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +54 -11
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +54 -11
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +2 -2
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +6 -7
  12. package/src/treegrid/base/treegrid.js +28 -1
  13. package/src/treegrid/renderer/virtual-row-model-generator.js +4 -5
  14. package/src/treegrid/renderer/virtual-tree-content-render.js +24 -7
  15. package/src/treegrid/utils.d.ts +1 -1
  16. package/styles/bds-lite.css +16 -12
  17. package/styles/bds.css +16 -12
  18. package/styles/bootstrap-dark-lite.css +23 -16
  19. package/styles/bootstrap-dark.css +23 -16
  20. package/styles/bootstrap-lite.css +34 -15
  21. package/styles/bootstrap.css +34 -15
  22. package/styles/bootstrap4-lite.css +23 -16
  23. package/styles/bootstrap4.css +23 -16
  24. package/styles/bootstrap5-dark-lite.css +23 -16
  25. package/styles/bootstrap5-dark.css +23 -16
  26. package/styles/bootstrap5-lite.css +23 -16
  27. package/styles/bootstrap5.3-lite.css +23 -16
  28. package/styles/bootstrap5.3.css +23 -16
  29. package/styles/bootstrap5.css +23 -16
  30. package/styles/fabric-dark-lite.css +23 -16
  31. package/styles/fabric-dark.css +23 -16
  32. package/styles/fabric-lite.css +23 -16
  33. package/styles/fabric.css +23 -16
  34. package/styles/fluent-dark-lite.css +23 -16
  35. package/styles/fluent-dark.css +23 -16
  36. package/styles/fluent-lite.css +23 -16
  37. package/styles/fluent.css +23 -16
  38. package/styles/fluent2-lite.css +23 -16
  39. package/styles/fluent2.css +23 -16
  40. package/styles/highcontrast-light-lite.css +23 -16
  41. package/styles/highcontrast-light.css +23 -16
  42. package/styles/highcontrast-lite.css +23 -16
  43. package/styles/highcontrast.css +23 -16
  44. package/styles/material-dark-lite.css +23 -16
  45. package/styles/material-dark.css +23 -16
  46. package/styles/material-lite.css +23 -16
  47. package/styles/material.css +23 -16
  48. package/styles/material3-dark-lite.css +23 -16
  49. package/styles/material3-dark.css +23 -16
  50. package/styles/material3-lite.css +23 -16
  51. package/styles/material3.css +23 -16
  52. package/styles/tailwind-dark-lite.css +23 -16
  53. package/styles/tailwind-dark.css +23 -16
  54. package/styles/tailwind-lite.css +23 -16
  55. package/styles/tailwind.css +23 -16
  56. package/styles/tailwind3-lite.css +23 -16
  57. package/styles/tailwind3.css +23 -16
  58. package/styles/treegrid/_icons.scss +8 -5
  59. package/styles/treegrid/_layout.scss +17 -13
  60. package/styles/treegrid/bds.css +16 -12
  61. package/styles/treegrid/bootstrap-dark.css +23 -16
  62. package/styles/treegrid/bootstrap.css +34 -15
  63. package/styles/treegrid/bootstrap4.css +23 -16
  64. package/styles/treegrid/bootstrap5-dark.css +23 -16
  65. package/styles/treegrid/bootstrap5.3.css +23 -16
  66. package/styles/treegrid/bootstrap5.css +23 -16
  67. package/styles/treegrid/fabric-dark.css +23 -16
  68. package/styles/treegrid/fabric.css +23 -16
  69. package/styles/treegrid/fluent-dark.css +23 -16
  70. package/styles/treegrid/fluent.css +23 -16
  71. package/styles/treegrid/fluent2.css +23 -16
  72. package/styles/treegrid/highcontrast-light.css +23 -16
  73. package/styles/treegrid/highcontrast.css +23 -16
  74. package/styles/treegrid/icons/_bootstrap-dark.scss +8 -5
  75. package/styles/treegrid/icons/_bootstrap.scss +24 -4
  76. package/styles/treegrid/icons/_bootstrap4.scss +8 -5
  77. package/styles/treegrid/icons/_bootstrap5.3.scss +8 -5
  78. package/styles/treegrid/icons/_bootstrap5.scss +8 -5
  79. package/styles/treegrid/icons/_fabric-dark.scss +8 -5
  80. package/styles/treegrid/icons/_fabric.scss +8 -5
  81. package/styles/treegrid/icons/_fluent.scss +8 -5
  82. package/styles/treegrid/icons/_fluent2.scss +8 -5
  83. package/styles/treegrid/icons/_fusionnew.scss +8 -5
  84. package/styles/treegrid/icons/_highcontrast-light.scss +8 -5
  85. package/styles/treegrid/icons/_highcontrast.scss +8 -5
  86. package/styles/treegrid/icons/_material-dark.scss +8 -5
  87. package/styles/treegrid/icons/_material.scss +8 -5
  88. package/styles/treegrid/icons/_material3.scss +8 -5
  89. package/styles/treegrid/icons/_tailwind-dark.scss +9 -6
  90. package/styles/treegrid/icons/_tailwind.scss +8 -5
  91. package/styles/treegrid/icons/_tailwind3.scss +8 -5
  92. package/styles/treegrid/material-dark.css +23 -16
  93. package/styles/treegrid/material.css +23 -16
  94. package/styles/treegrid/material3-dark.css +23 -16
  95. package/styles/treegrid/material3.css +23 -16
  96. package/styles/treegrid/tailwind-dark.css +23 -16
  97. package/styles/treegrid/tailwind.css +23 -16
  98. package/styles/treegrid/tailwind3.css +23 -16
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 28.1.35
3
+ * version : 28.1.37
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-treegrid@*",
3
- "_id": "@syncfusion/ej2-treegrid@28.1.33",
3
+ "_id": "@syncfusion/ej2-treegrid@28.1.35",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-pKNPTjhcdgALe90uah1G7EyMWdyQruUiOcjzpNuuyS9O+9hCcy57+hYeWiQJKSeZA05bZqy0Cxavw1bgggWJsw==",
5
+ "_integrity": "sha512-Q5c06EcQrvl+LNF3gMT44GSZ6AVf7FCJmkb48NVrSis0QAVzl9tukvge9li+rTPAr3jw6tARAylImqm8R61XMQ==",
6
6
  "_location": "/@syncfusion/ej2-treegrid",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,14 +18,13 @@
18
18
  },
19
19
  "_requiredBy": [
20
20
  "/",
21
- "/@syncfusion/ej2",
22
21
  "/@syncfusion/ej2-angular-treegrid",
23
22
  "/@syncfusion/ej2-gantt",
24
23
  "/@syncfusion/ej2-react-treegrid",
25
24
  "/@syncfusion/ej2-vue-treegrid"
26
25
  ],
27
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-28.1.33.tgz",
28
- "_shasum": "204c0174a1a8d076426213031dc3d9d5457509f0",
26
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-28.1.35.tgz",
27
+ "_shasum": "a7c0525faceee9d3be1788eb4bdd9b1802e61668",
29
28
  "_spec": "@syncfusion/ej2-treegrid@*",
30
29
  "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
31
30
  "author": {
@@ -38,7 +37,7 @@
38
37
  "dependencies": {
39
38
  "@syncfusion/ej2-base": "~28.1.33",
40
39
  "@syncfusion/ej2-data": "~28.1.33",
41
- "@syncfusion/ej2-grids": "~28.1.35",
40
+ "@syncfusion/ej2-grids": "~28.1.37",
42
41
  "@syncfusion/ej2-popups": "~28.1.33"
43
42
  },
44
43
  "deprecated": false,
@@ -76,6 +75,6 @@
76
75
  "url": "git+https://github.com/syncfusion/ej2-treegrid.git"
77
76
  },
78
77
  "typings": "index.d.ts",
79
- "version": "28.1.35",
78
+ "version": "28.1.37",
80
79
  "sideEffects": false
81
80
  }
@@ -620,8 +620,10 @@ var TreeGrid = /** @class */ (function (_super) {
620
620
  var freezePresent = this.injectedModules.filter(function (e) {
621
621
  return e.prototype.getModuleName() === 'freeze';
622
622
  });
623
+ var hasFreezeProp = Array.isArray(this.columns) &&
624
+ this.columns.some(function (col) { return !!col.freeze; });
623
625
  if ((this.frozenColumns || this.frozenRows || this.getFrozenColumns() ||
624
- this.grid.getFrozenLeftColumnsCount() || this.grid.getFrozenRightColumnsCount()) && freezePresent.length > 0) {
626
+ hasFreezeProp) && freezePresent.length > 0) {
625
627
  modules.push({
626
628
  member: 'freeze', args: [this],
627
629
  name: 'Freeze'
@@ -3025,6 +3027,7 @@ var TreeGrid = /** @class */ (function (_super) {
3025
3027
  };
3026
3028
  // Internal method to handle the rows expand
3027
3029
  TreeGrid.prototype.expandRows = function (row, record, parentRec) {
3030
+ var initialTotalRecordsCount = this.grid.totalDataRecordsCount;
3028
3031
  this.expandCollapse('expand', row, record);
3029
3032
  var children = 'Children';
3030
3033
  if (!(isRemoteData(this) && !isOffline(this)) && (!isCountRequired(this) || !isNullOrUndefined(record["" + children]))) {
@@ -3045,6 +3048,18 @@ var TreeGrid = /** @class */ (function (_super) {
3045
3048
  this.trigger(events.expanded, expandArgs);
3046
3049
  }
3047
3050
  }
3051
+ if (this.enableVirtualization) {
3052
+ var index = this.grid.currentViewData.indexOf(record);
3053
+ var expandedRow = isNullOrUndefined(row) ? this.getRows()[parseInt(index.toString(), 10)] : row;
3054
+ if (!isNullOrUndefined(expandedRow)) {
3055
+ var rowIndex = +expandedRow.getAttribute('data-rowindex');
3056
+ var outBuffer = this.grid.pageSettings.pageSize - Math.ceil(this.grid.pageSettings.pageSize / 2);
3057
+ var lastBlockIdx = initialTotalRecordsCount - outBuffer;
3058
+ if (rowIndex > lastBlockIdx) {
3059
+ this.grid.getContent().firstElementChild.scrollTop = rowIndex * this.grid.getRowHeight();
3060
+ }
3061
+ }
3062
+ }
3048
3063
  };
3049
3064
  TreeGrid.prototype.expandCollapseAllChildren = function (record, action, key, level) {
3050
3065
  if ((!isNullOrUndefined(key) && record[this.getPrimaryKeyFieldNames()[0]] !== key) ||
@@ -3160,6 +3175,18 @@ var TreeGrid = /** @class */ (function (_super) {
3160
3175
  this.grid.getContent().firstElementChild.scrollBy(0, this.grid.getRowHeight());
3161
3176
  }
3162
3177
  }
3178
+ if (this.enableVirtualization) {
3179
+ var index = this.grid.currentViewData.indexOf(record);
3180
+ var collapsedRow = isNullOrUndefined(row) ? this.getRows()[parseInt(index.toString(), 10)] : row;
3181
+ if (!isNullOrUndefined(collapsedRow)) {
3182
+ var rowIndex = +collapsedRow.getAttribute('data-rowindex');
3183
+ var outBuffer = this.grid.pageSettings.pageSize - Math.ceil(this.grid.pageSettings.pageSize / 2);
3184
+ var lastBlockIdx = this.grid.totalDataRecordsCount - outBuffer;
3185
+ if (rowIndex > lastBlockIdx) {
3186
+ this.grid.getContent().firstElementChild.scrollBy(0, (rowIndex - lastBlockIdx) * this.grid.getRowHeight());
3187
+ }
3188
+ }
3189
+ }
3163
3190
  }
3164
3191
  };
3165
3192
  TreeGrid.prototype.updateExpandStateMapping = function (record, state) {
@@ -15,7 +15,7 @@ import { VirtualRowModelGenerator } from '@syncfusion/ej2-grids';
15
15
  import * as events from '../base/constant';
16
16
  import { isNullOrUndefined } from '@syncfusion/ej2-base';
17
17
  import { DataManager } from '@syncfusion/ej2-data';
18
- import { isCountRequired } from '../utils';
18
+ import { isCountRequired, isRemoteData } from '../utils';
19
19
  /**
20
20
  * RowModelGenerator is used to generate grid data rows.
21
21
  *
@@ -50,8 +50,7 @@ var TreeVirtualRowModelGenerator = /** @class */ (function (_super) {
50
50
  if (!isNullOrUndefined(notifyArgs.virtualInfo)) {
51
51
  if (notifyArgs.virtualInfo.direction !== 'right' && notifyArgs.virtualInfo.direction !== 'left') {
52
52
  if (!((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
53
- && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent))
54
- || notifyArgs.virtualInfo.blockIndexes.length === 1) {
53
+ && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || isRemoteData(this.parent))) {
55
54
  notifyArgs.virtualInfo.blockIndexes = info.blockIndexes;
56
55
  }
57
56
  }
@@ -60,7 +59,7 @@ var TreeVirtualRowModelGenerator = /** @class */ (function (_super) {
60
59
  }
61
60
  }
62
61
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
63
- && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent)) {
62
+ && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || isRemoteData(this.parent)) {
64
63
  return _super.prototype.generateRows.call(this, data, notifyArgs);
65
64
  }
66
65
  else {
@@ -81,7 +80,7 @@ var TreeVirtualRowModelGenerator = /** @class */ (function (_super) {
81
80
  var clear = ['paging', 'refresh', 'sorting', 'filtering', 'searching', 'reorder',
82
81
  'save', 'delete'].some(function (value) { return action === value; });
83
82
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
84
- && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent)) {
83
+ && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || isRemoteData(this.parent)) {
85
84
  var model = 'model';
86
85
  var currentPage = this["" + model].currentPage;
87
86
  if (clear) {
@@ -19,7 +19,7 @@ import { TreeVirtualRowModelGenerator } from '../renderer/virtual-row-model-gene
19
19
  import * as events from '../base/constant';
20
20
  import { isNullOrUndefined, EventHandler, getValue, setValue, Browser, debounce } from '@syncfusion/ej2-base';
21
21
  import { DataManager } from '@syncfusion/ej2-data';
22
- import { isCountRequired } from '../utils';
22
+ import { isCountRequired, isRemoteData } from '../utils';
23
23
  var VirtualTreeContentRenderer = /** @class */ (function (_super) {
24
24
  __extends(VirtualTreeContentRenderer, _super);
25
25
  function VirtualTreeContentRenderer(parent, locator) {
@@ -218,7 +218,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
218
218
  VirtualTreeContentRenderer.prototype.dataBoundEvent = function () {
219
219
  var dataBoundEve = 'dataBound';
220
220
  var initialRowTop = 'initialRowTop';
221
- if (this.parent.getRows().length && !isNullOrUndefined(this.parent.getRowByIndex(0)) && !this["" + initialRowTop]) {
221
+ if (!isNullOrUndefined(this.parent.getRows()) && this.parent.getRows().length && !isNullOrUndefined(this.parent.getRowByIndex(0)) && !this["" + initialRowTop]) {
222
222
  var rowTop = this.parent.getRowByIndex(0).getBoundingClientRect().top;
223
223
  var gridTop = this.parent.element.getBoundingClientRect().top;
224
224
  if (rowTop > 0) {
@@ -410,7 +410,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
410
410
  content = this.parent.getContent().querySelector('.e-content');
411
411
  }
412
412
  var scrollHeight = outBuffer * rowHeight;
413
- var upScroll = (scrollArgs.offset.top - this.translateY) < 0;
413
+ var upScroll = (scrollArgs.offset.top - this.translateY) < 0 && this.activeKey !== 'downArrow';
414
414
  var downScroll = Math.ceil(scrollArgs.offset.top - this.translateY) + rowHeight >= scrollHeight;
415
415
  var selectedRowIndex = 'selectedRowIndex';
416
416
  var currentViewData = this.parent.currentViewData;
@@ -435,7 +435,8 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
435
435
  this.startIndex = (this.startIndex - remains) < 0 ? 0 : (this.startIndex - remains);
436
436
  }
437
437
  if (currentViewData.length && (currentViewData[0]["" + indexValue] >= this.parent.pageSettings.pageSize / 2) &&
438
- ((currentViewData[0]["" + indexValue] - this.startIndex) < (this.parent.pageSettings.pageSize / 2)) && this.parent.selectionModule.isRowSelected) {
438
+ ((currentViewData[0]["" + indexValue] - this.startIndex) < (this.parent.pageSettings.pageSize / 2)) &&
439
+ this.parent.selectionModule && this.parent.selectionModule.isRowSelected) {
439
440
  this.startIndex = currentViewData[0]["" + indexValue] - (this.parent.pageSettings.pageSize / 2);
440
441
  this.endIndex = this.startIndex + this.parent.pageSettings.pageSize;
441
442
  }
@@ -492,7 +493,8 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
492
493
  this.startIndex = lastIndex - (this.parent.pageSettings.pageSize / 2);
493
494
  }
494
495
  if (currentViewData.length && this.startIndex > currentViewData[0]["" + indexValue] &&
495
- ((this.startIndex - currentViewData[0]["" + indexValue]) < (this.parent.pageSettings.pageSize / 2)) && this.parent.selectionModule.isRowSelected) {
496
+ ((this.startIndex - currentViewData[0]["" + indexValue]) < (this.parent.pageSettings.pageSize / 2)) &&
497
+ this.parent.selectionModule && this.parent.selectionModule.isRowSelected) {
496
498
  this.startIndex = currentViewData[0]["" + indexValue] + (this.parent.pageSettings.pageSize / 2);
497
499
  }
498
500
  if (this.parent.root.isSelfReference) {
@@ -521,12 +523,27 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
521
523
  }
522
524
  }
523
525
  }
524
- if (((downScroll && (scrollArgs.offset.top < (rowHeight * this.totalRecords)))
526
+ if (isRemoteData(this.parent) || ((downScroll && (scrollArgs.offset.top < (rowHeight * this.totalRecords)))
525
527
  || (upScroll)) || (scrollArgs.direction === 'right' || scrollArgs.direction === 'left') ||
526
528
  ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
527
529
  && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') && (downScroll || upScroll) || isCountRequired(this.parent))) {
528
530
  var viewInfo = this.currentInfo = getValue('getInfoFromView', this).apply(this, [scrollArgs.direction, info, scrollArgs.offset]);
529
531
  this.previousInfo = viewInfo;
532
+ if (this.prevInfo && ((info.axis === 'Y' && this.prevInfo.blockIndexes.toString() === viewInfo.blockIndexes.toString())
533
+ || ((info.axis === 'X' && this.prevInfo.columnIndexes.toString() === viewInfo.columnIndexes.toString())
534
+ || (this.parent.isFrozenGrid() && this.parent.getVisibleFrozenLeftCount() >= viewInfo.columnIndexes[0]
535
+ && this.prevInfo.columnIndexes.toString().includes(viewInfo.columnIndexes.toString()))))) {
536
+ this.parent.removeMaskRow();
537
+ this.parent.notify('removeGanttShimmer', { requestType: 'hideShimmer' });
538
+ if (Browser.isIE) {
539
+ this.parent.hideSpinner();
540
+ }
541
+ this.requestType = this.requestType === 'virtualscroll' ? this['empty'] : this.requestType;
542
+ if (info.axis === 'Y') {
543
+ this['restoreEdit']();
544
+ }
545
+ return;
546
+ }
530
547
  this.parent.setColumnIndexesInView(this.parent.enableColumnVirtualization ? viewInfo.columnIndexes : []);
531
548
  var page = viewInfo.loadNext && !viewInfo.loadSelf ? viewInfo.nextInfo.page : viewInfo.page;
532
549
  this.parent.setProperties({ pageSettings: { currentPage: page } }, true);
@@ -553,7 +570,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
553
570
  };
554
571
  VirtualTreeContentRenderer.prototype.appendContent = function (target, newChild, e) {
555
572
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
556
- && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent)) {
573
+ && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || isRemoteData(this.parent)) {
557
574
  if (getValue('isExpandCollapse', e)) {
558
575
  this.isRemoteExpand = true;
559
576
  }
@@ -5,7 +5,7 @@ import { ITreeData } from './base/interface';
5
5
  * @param {TreeGrid} parent - Tree Grid instance
6
6
  * @returns {boolean} - Specifies whether remote data binding
7
7
  */
8
- export declare function isRemoteData(parent: TreeGrid): boolean;
8
+ export declare function isRemoteData(parent: TreeGrid | IGrid): boolean;
9
9
  /**
10
10
  * @param {TreeGrid | IGrid} parent - Tree Grid or Grid instance
11
11
  * @returns {boolean} - Returns whether custom binding
@@ -374,7 +374,8 @@
374
374
  .e-treegrid .e-icons.e-none::before {
375
375
  content: "";
376
376
  }
377
- .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom) {
377
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom, .e-droptop),
378
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowcell.e-childborder:first-child:not(.e-dropbottom, .e-droptop) {
378
379
  border-left: 2px solid var(--color-sf-brand-primary);
379
380
  }
380
381
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -459,17 +460,6 @@
459
460
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
460
461
  line-height: 21px;
461
462
  }
462
- .e-treegrid .e-treegridexpand,
463
- .e-treegrid .e-treegridcollapse {
464
- color: var(--color-sf-fg-secondary);
465
- cursor: pointer;
466
- font-size: 18px;
467
- height: 18px;
468
- padding: 0;
469
- text-align: center;
470
- vertical-align: text-bottom;
471
- width: 16px;
472
- }
473
463
  .e-treegrid .e-treecell {
474
464
  display: table-cell;
475
465
  line-height: normal;
@@ -700,6 +690,20 @@
700
690
  border-bottom-color: var(--color-sf-brand-primary);
701
691
  }
702
692
 
693
+ .e-treegrid .e-treegridexpand,
694
+ .e-treegrid .e-treegridcollapse,
695
+ .e-grid .e-treegridexpand,
696
+ .e-grid .e-treegridcollapse {
697
+ color: var(--color-sf-fg-secondary);
698
+ cursor: pointer;
699
+ font-size: 18px;
700
+ height: 18px;
701
+ padding: 0;
702
+ text-align: center;
703
+ vertical-align: text-bottom;
704
+ width: 16px;
705
+ }
706
+
703
707
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
704
708
  content: "";
705
709
  }
package/styles/bds.css CHANGED
@@ -374,7 +374,8 @@
374
374
  .e-treegrid .e-icons.e-none::before {
375
375
  content: "";
376
376
  }
377
- .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom) {
377
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom, .e-droptop),
378
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowcell.e-childborder:first-child:not(.e-dropbottom, .e-droptop) {
378
379
  border-left: 2px solid var(--color-sf-brand-primary);
379
380
  }
380
381
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -459,17 +460,6 @@
459
460
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
460
461
  line-height: 21px;
461
462
  }
462
- .e-treegrid .e-treegridexpand,
463
- .e-treegrid .e-treegridcollapse {
464
- color: var(--color-sf-fg-secondary);
465
- cursor: pointer;
466
- font-size: 18px;
467
- height: 18px;
468
- padding: 0;
469
- text-align: center;
470
- vertical-align: text-bottom;
471
- width: 16px;
472
- }
473
463
  .e-treegrid .e-treecell {
474
464
  display: table-cell;
475
465
  line-height: normal;
@@ -700,6 +690,20 @@
700
690
  border-bottom-color: var(--color-sf-brand-primary);
701
691
  }
702
692
 
693
+ .e-treegrid .e-treegridexpand,
694
+ .e-treegrid .e-treegridcollapse,
695
+ .e-grid .e-treegridexpand,
696
+ .e-grid .e-treegridcollapse {
697
+ color: var(--color-sf-fg-secondary);
698
+ cursor: pointer;
699
+ font-size: 18px;
700
+ height: 18px;
701
+ padding: 0;
702
+ text-align: center;
703
+ vertical-align: text-bottom;
704
+ width: 16px;
705
+ }
706
+
703
707
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
704
708
  content: "";
705
709
  }
@@ -107,10 +107,6 @@
107
107
  content: "\e35d";
108
108
  }
109
109
 
110
- .e-treegrid .e-treegridexpand::before,
111
- .e-treegrid .e-treegridcollapse::before {
112
- content: "\e22f";
113
- }
114
110
  .e-treegrid .e-toolbar-item .e-expand::before {
115
111
  content: "\e558";
116
112
  }
@@ -124,6 +120,13 @@
124
120
  content: "\e35d";
125
121
  }
126
122
 
123
+ .e-treegrid .e-treegridexpand::before,
124
+ .e-treegrid .e-treegridcollapse::before,
125
+ .e-grid .e-treegridexpand::before,
126
+ .e-grid .e-treegridcollapse::before {
127
+ content: "\e22f";
128
+ }
129
+
127
130
  .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
128
131
  .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
129
132
  content: "\e22f";
@@ -132,7 +135,8 @@
132
135
  .e-treegrid .e-icons.e-none::before {
133
136
  content: "";
134
137
  }
135
- .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom) {
138
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom, .e-droptop),
139
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowcell.e-childborder:first-child:not(.e-dropbottom, .e-droptop) {
136
140
  border-left: 1px solid #0070f0;
137
141
  }
138
142
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -217,17 +221,6 @@
217
221
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
218
222
  line-height: 21px;
219
223
  }
220
- .e-treegrid .e-treegridexpand,
221
- .e-treegrid .e-treegridcollapse {
222
- color: #f0f0f0;
223
- cursor: pointer;
224
- font-size: 10px;
225
- height: 16px;
226
- padding: 0;
227
- text-align: center;
228
- vertical-align: text-bottom;
229
- width: 16px;
230
- }
231
224
  .e-treegrid .e-treecell {
232
225
  display: table-cell;
233
226
  line-height: normal;
@@ -458,6 +451,20 @@
458
451
  border-bottom-color: #0070f0;
459
452
  }
460
453
 
454
+ .e-treegrid .e-treegridexpand,
455
+ .e-treegrid .e-treegridcollapse,
456
+ .e-grid .e-treegridexpand,
457
+ .e-grid .e-treegridcollapse {
458
+ color: #f0f0f0;
459
+ cursor: pointer;
460
+ font-size: 10px;
461
+ height: 16px;
462
+ padding: 0;
463
+ text-align: center;
464
+ vertical-align: text-bottom;
465
+ width: 16px;
466
+ }
467
+
461
468
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
462
469
  content: "";
463
470
  }
@@ -107,10 +107,6 @@
107
107
  content: "\e35d";
108
108
  }
109
109
 
110
- .e-treegrid .e-treegridexpand::before,
111
- .e-treegrid .e-treegridcollapse::before {
112
- content: "\e22f";
113
- }
114
110
  .e-treegrid .e-toolbar-item .e-expand::before {
115
111
  content: "\e558";
116
112
  }
@@ -124,6 +120,13 @@
124
120
  content: "\e35d";
125
121
  }
126
122
 
123
+ .e-treegrid .e-treegridexpand::before,
124
+ .e-treegrid .e-treegridcollapse::before,
125
+ .e-grid .e-treegridexpand::before,
126
+ .e-grid .e-treegridcollapse::before {
127
+ content: "\e22f";
128
+ }
129
+
127
130
  .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
128
131
  .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
129
132
  content: "\e22f";
@@ -132,7 +135,8 @@
132
135
  .e-treegrid .e-icons.e-none::before {
133
136
  content: "";
134
137
  }
135
- .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom) {
138
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom, .e-droptop),
139
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowcell.e-childborder:first-child:not(.e-dropbottom, .e-droptop) {
136
140
  border-left: 1px solid #0070f0;
137
141
  }
138
142
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -217,17 +221,6 @@
217
221
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
218
222
  line-height: 21px;
219
223
  }
220
- .e-treegrid .e-treegridexpand,
221
- .e-treegrid .e-treegridcollapse {
222
- color: #f0f0f0;
223
- cursor: pointer;
224
- font-size: 10px;
225
- height: 16px;
226
- padding: 0;
227
- text-align: center;
228
- vertical-align: text-bottom;
229
- width: 16px;
230
- }
231
224
  .e-treegrid .e-treecell {
232
225
  display: table-cell;
233
226
  line-height: normal;
@@ -458,6 +451,20 @@
458
451
  border-bottom-color: #0070f0;
459
452
  }
460
453
 
454
+ .e-treegrid .e-treegridexpand,
455
+ .e-treegrid .e-treegridcollapse,
456
+ .e-grid .e-treegridexpand,
457
+ .e-grid .e-treegridcollapse {
458
+ color: #f0f0f0;
459
+ cursor: pointer;
460
+ font-size: 10px;
461
+ height: 16px;
462
+ padding: 0;
463
+ text-align: center;
464
+ vertical-align: text-bottom;
465
+ width: 16px;
466
+ }
467
+
461
468
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
462
469
  content: "";
463
470
  }
@@ -107,9 +107,17 @@
107
107
  content: "\e35d";
108
108
  }
109
109
 
110
- .e-treegrid .e-treegridexpand::before,
111
- .e-treegrid .e-treegridcollapse::before {
112
- content: "\e22f";
110
+ .e-treegrid .e-toolbar-item .e-expand::before {
111
+ content: "\e558";
112
+ }
113
+ .e-treegrid .e-toolbar-item .e-collapse::before {
114
+ content: "\e557";
115
+ }
116
+ .e-treegrid .e-toolbar-item .e-indent::before {
117
+ content: "\e33f";
118
+ }
119
+ .e-treegrid .e-toolbar-item .e-outdent::before {
120
+ content: "\e35d";
113
121
  }
114
122
  .e-treegrid .e-toolbar-item .e-expand::before {
115
123
  content: "\e558";
@@ -124,6 +132,13 @@
124
132
  content: "\e35d";
125
133
  }
126
134
 
135
+ .e-treegrid .e-treegridexpand::before,
136
+ .e-treegrid .e-treegridcollapse::before,
137
+ .e-grid .e-treegridexpand::before,
138
+ .e-grid .e-treegridcollapse::before {
139
+ content: "\e22f";
140
+ }
141
+
127
142
  .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
128
143
  .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
129
144
  content: "\e22f";
@@ -132,7 +147,8 @@
132
147
  .e-treegrid .e-icons.e-none::before {
133
148
  content: "";
134
149
  }
135
- .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom) {
150
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom, .e-droptop),
151
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowcell.e-childborder:first-child:not(.e-dropbottom, .e-droptop) {
136
152
  border-left: 1px solid #317ab9;
137
153
  }
138
154
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -220,17 +236,6 @@
220
236
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
221
237
  line-height: 21px;
222
238
  }
223
- .e-treegrid .e-treegridexpand,
224
- .e-treegrid .e-treegridcollapse {
225
- color: #333;
226
- cursor: pointer;
227
- font-size: 10px;
228
- height: 16px;
229
- padding: 0;
230
- text-align: center;
231
- vertical-align: text-bottom;
232
- width: 16px;
233
- }
234
239
  .e-treegrid .e-treecell {
235
240
  display: table-cell;
236
241
  line-height: normal;
@@ -461,6 +466,20 @@
461
466
  border-bottom-color: #317ab9;
462
467
  }
463
468
 
469
+ .e-treegrid .e-treegridexpand,
470
+ .e-treegrid .e-treegridcollapse,
471
+ .e-grid .e-treegridexpand,
472
+ .e-grid .e-treegridcollapse {
473
+ color: #333;
474
+ cursor: pointer;
475
+ font-size: 10px;
476
+ height: 16px;
477
+ padding: 0;
478
+ text-align: center;
479
+ vertical-align: text-bottom;
480
+ width: 16px;
481
+ }
482
+
464
483
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
465
484
  content: "";
466
485
  }
@@ -107,9 +107,17 @@
107
107
  content: "\e35d";
108
108
  }
109
109
 
110
- .e-treegrid .e-treegridexpand::before,
111
- .e-treegrid .e-treegridcollapse::before {
112
- content: "\e22f";
110
+ .e-treegrid .e-toolbar-item .e-expand::before {
111
+ content: "\e558";
112
+ }
113
+ .e-treegrid .e-toolbar-item .e-collapse::before {
114
+ content: "\e557";
115
+ }
116
+ .e-treegrid .e-toolbar-item .e-indent::before {
117
+ content: "\e33f";
118
+ }
119
+ .e-treegrid .e-toolbar-item .e-outdent::before {
120
+ content: "\e35d";
113
121
  }
114
122
  .e-treegrid .e-toolbar-item .e-expand::before {
115
123
  content: "\e558";
@@ -124,6 +132,13 @@
124
132
  content: "\e35d";
125
133
  }
126
134
 
135
+ .e-treegrid .e-treegridexpand::before,
136
+ .e-treegrid .e-treegridcollapse::before,
137
+ .e-grid .e-treegridexpand::before,
138
+ .e-grid .e-treegridcollapse::before {
139
+ content: "\e22f";
140
+ }
141
+
127
142
  .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
128
143
  .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
129
144
  content: "\e22f";
@@ -132,7 +147,8 @@
132
147
  .e-treegrid .e-icons.e-none::before {
133
148
  content: "";
134
149
  }
135
- .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom) {
150
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowdragdrop.e-childborder:first-child:not(.e-dropbottom, .e-droptop),
151
+ .e-treegrid .e-grid.e-default.e-draggable:not(.e-rtl) tr td.e-rowcell.e-childborder:first-child:not(.e-dropbottom, .e-droptop) {
136
152
  border-left: 1px solid #317ab9;
137
153
  }
138
154
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -220,17 +236,6 @@
220
236
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
221
237
  line-height: 21px;
222
238
  }
223
- .e-treegrid .e-treegridexpand,
224
- .e-treegrid .e-treegridcollapse {
225
- color: #333;
226
- cursor: pointer;
227
- font-size: 10px;
228
- height: 16px;
229
- padding: 0;
230
- text-align: center;
231
- vertical-align: text-bottom;
232
- width: 16px;
233
- }
234
239
  .e-treegrid .e-treecell {
235
240
  display: table-cell;
236
241
  line-height: normal;
@@ -461,6 +466,20 @@
461
466
  border-bottom-color: #317ab9;
462
467
  }
463
468
 
469
+ .e-treegrid .e-treegridexpand,
470
+ .e-treegrid .e-treegridcollapse,
471
+ .e-grid .e-treegridexpand,
472
+ .e-grid .e-treegridcollapse {
473
+ color: #333;
474
+ cursor: pointer;
475
+ font-size: 10px;
476
+ height: 16px;
477
+ padding: 0;
478
+ text-align: center;
479
+ vertical-align: text-bottom;
480
+ width: 16px;
481
+ }
482
+
464
483
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
465
484
  content: "";
466
485
  }