@syncfusion/ej2-treegrid 28.1.33 → 28.1.36

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 (96) hide show
  1. package/dist/ej2-treegrid.min.js +1 -10
  2. package/dist/ej2-treegrid.umd.min.js +1 -10
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +47 -10
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +47 -10
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +1 -10
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/global/index.d.ts +0 -9
  11. package/package.json +6 -7
  12. package/src/treegrid/base/treegrid.js +29 -2
  13. package/src/treegrid/renderer/virtual-tree-content-render.js +18 -8
  14. package/styles/bds-lite.css +27 -12
  15. package/styles/bds.css +27 -12
  16. package/styles/bootstrap-dark-lite.css +39 -16
  17. package/styles/bootstrap-dark.css +39 -16
  18. package/styles/bootstrap-lite.css +50 -15
  19. package/styles/bootstrap.css +50 -15
  20. package/styles/bootstrap4-lite.css +39 -16
  21. package/styles/bootstrap4.css +39 -16
  22. package/styles/bootstrap5-dark-lite.css +39 -16
  23. package/styles/bootstrap5-dark.css +39 -16
  24. package/styles/bootstrap5-lite.css +39 -16
  25. package/styles/bootstrap5.3-lite.css +39 -16
  26. package/styles/bootstrap5.3.css +39 -16
  27. package/styles/bootstrap5.css +39 -16
  28. package/styles/fabric-dark-lite.css +39 -16
  29. package/styles/fabric-dark.css +39 -16
  30. package/styles/fabric-lite.css +39 -16
  31. package/styles/fabric.css +39 -16
  32. package/styles/fluent-dark-lite.css +39 -16
  33. package/styles/fluent-dark.css +39 -16
  34. package/styles/fluent-lite.css +39 -16
  35. package/styles/fluent.css +39 -16
  36. package/styles/fluent2-lite.css +39 -16
  37. package/styles/fluent2.css +39 -16
  38. package/styles/highcontrast-light-lite.css +39 -16
  39. package/styles/highcontrast-light.css +39 -16
  40. package/styles/highcontrast-lite.css +39 -16
  41. package/styles/highcontrast.css +39 -16
  42. package/styles/material-dark-lite.css +39 -16
  43. package/styles/material-dark.css +39 -16
  44. package/styles/material-lite.css +39 -16
  45. package/styles/material.css +39 -16
  46. package/styles/material3-dark-lite.css +39 -16
  47. package/styles/material3-dark.css +39 -16
  48. package/styles/material3-lite.css +39 -16
  49. package/styles/material3.css +39 -16
  50. package/styles/tailwind-dark-lite.css +39 -16
  51. package/styles/tailwind-dark.css +39 -16
  52. package/styles/tailwind-lite.css +39 -16
  53. package/styles/tailwind.css +39 -16
  54. package/styles/tailwind3-lite.css +39 -16
  55. package/styles/tailwind3.css +39 -16
  56. package/styles/treegrid/_icons.scss +15 -5
  57. package/styles/treegrid/_layout.scss +33 -13
  58. package/styles/treegrid/bds.css +27 -12
  59. package/styles/treegrid/bootstrap-dark.css +39 -16
  60. package/styles/treegrid/bootstrap.css +50 -15
  61. package/styles/treegrid/bootstrap4.css +39 -16
  62. package/styles/treegrid/bootstrap5-dark.css +39 -16
  63. package/styles/treegrid/bootstrap5.3.css +39 -16
  64. package/styles/treegrid/bootstrap5.css +39 -16
  65. package/styles/treegrid/fabric-dark.css +39 -16
  66. package/styles/treegrid/fabric.css +39 -16
  67. package/styles/treegrid/fluent-dark.css +39 -16
  68. package/styles/treegrid/fluent.css +39 -16
  69. package/styles/treegrid/fluent2.css +39 -16
  70. package/styles/treegrid/highcontrast-light.css +39 -16
  71. package/styles/treegrid/highcontrast.css +39 -16
  72. package/styles/treegrid/icons/_bootstrap-dark.scss +15 -5
  73. package/styles/treegrid/icons/_bootstrap.scss +31 -4
  74. package/styles/treegrid/icons/_bootstrap4.scss +15 -5
  75. package/styles/treegrid/icons/_bootstrap5.3.scss +15 -5
  76. package/styles/treegrid/icons/_bootstrap5.scss +15 -5
  77. package/styles/treegrid/icons/_fabric-dark.scss +15 -5
  78. package/styles/treegrid/icons/_fabric.scss +15 -5
  79. package/styles/treegrid/icons/_fluent.scss +15 -5
  80. package/styles/treegrid/icons/_fluent2.scss +15 -5
  81. package/styles/treegrid/icons/_fusionnew.scss +8 -5
  82. package/styles/treegrid/icons/_highcontrast-light.scss +15 -5
  83. package/styles/treegrid/icons/_highcontrast.scss +15 -5
  84. package/styles/treegrid/icons/_material-dark.scss +15 -5
  85. package/styles/treegrid/icons/_material.scss +15 -5
  86. package/styles/treegrid/icons/_material3.scss +15 -5
  87. package/styles/treegrid/icons/_tailwind-dark.scss +15 -5
  88. package/styles/treegrid/icons/_tailwind.scss +15 -5
  89. package/styles/treegrid/icons/_tailwind3.scss +15 -5
  90. package/styles/treegrid/material-dark.css +39 -16
  91. package/styles/treegrid/material.css +39 -16
  92. package/styles/treegrid/material3-dark.css +39 -16
  93. package/styles/treegrid/material3.css +39 -16
  94. package/styles/treegrid/tailwind-dark.css +39 -16
  95. package/styles/treegrid/tailwind.css +39 -16
  96. package/styles/treegrid/tailwind3.css +39 -16
@@ -1,12 +1,3 @@
1
- /*!
2
- * filename: index.d.ts
3
- * version : 28.1.33
4
- * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
- * Use of this code is subject to the terms of our license.
6
- * A copy of the current license can be obtained at any time by e-mailing
7
- * licensing@syncfusion.com. Any infringement will be prosecuted under
8
- * applicable laws.
9
- */
10
1
  import * as _treegrid from '@syncfusion/ej2-treegrid';
11
2
 
12
3
  export declare namespace ej {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-treegrid@*",
3
- "_id": "@syncfusion/ej2-treegrid@20.12.1",
3
+ "_id": "@syncfusion/ej2-treegrid@28.1.35",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-KuMGwYg2ZSNKoZwF2X8qdYvm9pIVGZV4byzVF/NBbkRBUolsR00VM0Te+qZpPd1aeYzYtLeloywSY4AET2zrzA==",
5
+ "_integrity": "sha512-BLl7cK2TBNXXyvx3yir9noNUxx5WFfv8ITEQcsZSlWCNCqEJOGw3ln8fBObRDdi1puWjhpPQFJvGjQ7F/dN/0A==",
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-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.12.1.tgz",
28
- "_shasum": "7d69a4b448497f60c93177b3a215f11ad0fb7bea",
26
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-28.1.35.tgz",
27
+ "_shasum": "4b3f4413ac07e18a6c6bc65439522e693a99c386",
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.33",
40
+ "@syncfusion/ej2-grids": "~28.1.36",
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.33",
78
+ "version": "28.1.36",
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'
@@ -793,7 +795,7 @@ var TreeGrid = /** @class */ (function (_super) {
793
795
  this.grid.rowDropSettings.targetID += '_gridcontrol';
794
796
  }
795
797
  this.addListener();
796
- var gridContainer = createElement('div', { id: this.element.id + '_gridcontrol' });
798
+ var gridContainer = createElement('div', { id: this.element.id + '_gridcontrol', className: 'e-treelistgrid' });
797
799
  addClass([this.element], 'e-treegrid');
798
800
  if (!isNullOrUndefined(this.height) && typeof (this.height) === 'string' && this.height.indexOf('%') !== -1) {
799
801
  this.element.style.height = this.height;
@@ -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) {
@@ -218,13 +218,13 @@ 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) {
225
225
  this["" + initialRowTop] = this.parent.getRowByIndex(0).getBoundingClientRect().top - gridTop;
226
226
  }
227
- else {
227
+ else if (this.parent.selectedRowIndex === -1) {
228
228
  this["" + initialRowTop] = this.content.getBoundingClientRect().top -
229
229
  this.parent.getRowByIndex(0).getBoundingClientRect().height;
230
230
  }
@@ -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;
@@ -423,7 +423,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
423
423
  - this.parent.pageSettings.pageSize;
424
424
  index = (index > 0) ? index : 0;
425
425
  if (!isNullOrUndefined(this["" + selectedRowIndex]) && this["" + selectedRowIndex] !== -1 && index !== this["" + selectedRowIndex] &&
426
- ((this.parent.rowHeight * this.parent.pageSettings.pageSize) < content.scrollTop)) {
426
+ ((this.parent.rowHeight * this.parent.pageSettings.pageSize) < content.scrollTop) && !this.parent.allowRowDragAndDrop) {
427
427
  index = this["" + selectedRowIndex];
428
428
  }
429
429
  this.startIndex = index;
@@ -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
  }
@@ -455,6 +456,9 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
455
456
  (this.endIndex - this.parent.pageSettings.pageSize) * (this.parent.rowHeight ?
456
457
  this.parent.rowHeight : this.parent.getRowHeight()) : 0;
457
458
  }
459
+ else if (this.startIndex === this["" + selectedRowIndex]) {
460
+ this.translateY = scrollArgs.offset.top;
461
+ }
458
462
  else {
459
463
  this.translateY = (scrollArgs.offset.top - (outBuffer * rowHeight) > 0) ?
460
464
  scrollArgs.offset.top - (outBuffer * rowHeight) + rowHeight : 0;
@@ -474,7 +478,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
474
478
  var nextSetResIndex = ~~(content.scrollTop / rowHeight);
475
479
  var isLastBlock = (this["" + selectedRowIndex] + this.parent.pageSettings.pageSize) < this.totalRecords ? false : true;
476
480
  if (!isNullOrUndefined(this["" + selectedRowIndex]) && this["" + selectedRowIndex] !== -1 &&
477
- nextSetResIndex !== this["" + selectedRowIndex] && !isLastBlock) {
481
+ nextSetResIndex !== this["" + selectedRowIndex] && !isLastBlock && !this.parent.allowRowDragAndDrop) {
478
482
  nextSetResIndex = this["" + selectedRowIndex];
479
483
  }
480
484
  var lastIndex = nextSetResIndex + this.parent.pageSettings.pageSize;
@@ -489,7 +493,8 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
489
493
  this.startIndex = lastIndex - (this.parent.pageSettings.pageSize / 2);
490
494
  }
491
495
  if (currentViewData.length && this.startIndex > currentViewData[0]["" + indexValue] &&
492
- ((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) {
493
498
  this.startIndex = currentViewData[0]["" + indexValue] + (this.parent.pageSettings.pageSize / 2);
494
499
  }
495
500
  if (this.parent.root.isSelfReference) {
@@ -501,7 +506,12 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
501
506
  }
502
507
  else {
503
508
  if (this.totalRecords === this.endIndex) {
504
- this.translateY = (this.totalRecords * rowHeight) - ((this.endIndex - this.startIndex) * rowHeight);
509
+ if (isLastBlock) {
510
+ this.translateY = (this.totalRecords * rowHeight) - (this.parent.pageSettings.pageSize * rowHeight);
511
+ }
512
+ else {
513
+ this.translateY = (this.totalRecords * rowHeight) - ((this.endIndex - this.startIndex) * rowHeight);
514
+ }
505
515
  }
506
516
  else {
507
517
  if (this.parent.getFrozenColumns() > 0) {
@@ -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,4 +690,29 @@
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
+
707
+ .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
708
+ content: "";
709
+ }
710
+ .e-treelistgrid.e-print-grid-layout .e-treecolumn-container .e-icons:not(.e-frame) {
711
+ display: inline-block;
712
+ }
713
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand {
714
+ -webkit-transform: rotate(90deg);
715
+ transform: rotate(90deg);
716
+ }
717
+
703
718
  /* stylelint-disable-line no-empty-source */
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,31 @@
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
+
707
+ .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
708
+ content: "";
709
+ }
710
+ .e-treelistgrid.e-print-grid-layout .e-treecolumn-container .e-icons:not(.e-frame) {
711
+ display: inline-block;
712
+ }
713
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand {
714
+ -webkit-transform: rotate(90deg);
715
+ transform: rotate(90deg);
716
+ }
717
+
703
718
  /* stylelint-disable-line no-empty-source */
704
719
  .e-bigger .e-treegrid .e-grid .e-treegridexpand,
705
720
  .e-bigger .e-treegrid .e-grid .e-treegridcollapse {
@@ -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,10 +120,23 @@
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
+
130
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
131
+ .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
132
+ content: "\e22f";
133
+ }
134
+
127
135
  .e-treegrid .e-icons.e-none::before {
128
136
  content: "";
129
137
  }
130
- .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) {
131
140
  border-left: 1px solid #0070f0;
132
141
  }
133
142
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -212,17 +221,6 @@
212
221
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
213
222
  line-height: 21px;
214
223
  }
215
- .e-treegrid .e-treegridexpand,
216
- .e-treegrid .e-treegridcollapse {
217
- color: #f0f0f0;
218
- cursor: pointer;
219
- font-size: 10px;
220
- height: 16px;
221
- padding: 0;
222
- text-align: center;
223
- vertical-align: text-bottom;
224
- width: 16px;
225
- }
226
224
  .e-treegrid .e-treecell {
227
225
  display: table-cell;
228
226
  line-height: normal;
@@ -453,4 +451,29 @@
453
451
  border-bottom-color: #0070f0;
454
452
  }
455
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
+
468
+ .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
469
+ content: "";
470
+ }
471
+ .e-treelistgrid.e-print-grid-layout .e-treecolumn-container .e-icons:not(.e-frame) {
472
+ display: inline-block;
473
+ }
474
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand {
475
+ -webkit-transform: rotate(90deg);
476
+ transform: rotate(90deg);
477
+ }
478
+
456
479
  /* stylelint-disable-line no-empty-source */
@@ -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,10 +120,23 @@
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
+
130
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
131
+ .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
132
+ content: "\e22f";
133
+ }
134
+
127
135
  .e-treegrid .e-icons.e-none::before {
128
136
  content: "";
129
137
  }
130
- .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) {
131
140
  border-left: 1px solid #0070f0;
132
141
  }
133
142
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -212,17 +221,6 @@
212
221
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
213
222
  line-height: 21px;
214
223
  }
215
- .e-treegrid .e-treegridexpand,
216
- .e-treegrid .e-treegridcollapse {
217
- color: #f0f0f0;
218
- cursor: pointer;
219
- font-size: 10px;
220
- height: 16px;
221
- padding: 0;
222
- text-align: center;
223
- vertical-align: text-bottom;
224
- width: 16px;
225
- }
226
224
  .e-treegrid .e-treecell {
227
225
  display: table-cell;
228
226
  line-height: normal;
@@ -453,6 +451,31 @@
453
451
  border-bottom-color: #0070f0;
454
452
  }
455
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
+
468
+ .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
469
+ content: "";
470
+ }
471
+ .e-treelistgrid.e-print-grid-layout .e-treecolumn-container .e-icons:not(.e-frame) {
472
+ display: inline-block;
473
+ }
474
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand {
475
+ -webkit-transform: rotate(90deg);
476
+ transform: rotate(90deg);
477
+ }
478
+
456
479
  /* stylelint-disable-line no-empty-source */
457
480
  .e-bigger .e-treegrid .e-grid .e-treegridexpand,
458
481
  .e-bigger .e-treegrid .e-grid .e-treegridcollapse {
@@ -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,10 +132,23 @@
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
+
142
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
143
+ .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
144
+ content: "\e22f";
145
+ }
146
+
127
147
  .e-treegrid .e-icons.e-none::before {
128
148
  content: "";
129
149
  }
130
- .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) {
131
152
  border-left: 1px solid #317ab9;
132
153
  }
133
154
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -215,17 +236,6 @@
215
236
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
216
237
  line-height: 21px;
217
238
  }
218
- .e-treegrid .e-treegridexpand,
219
- .e-treegrid .e-treegridcollapse {
220
- color: #333;
221
- cursor: pointer;
222
- font-size: 10px;
223
- height: 16px;
224
- padding: 0;
225
- text-align: center;
226
- vertical-align: text-bottom;
227
- width: 16px;
228
- }
229
239
  .e-treegrid .e-treecell {
230
240
  display: table-cell;
231
241
  line-height: normal;
@@ -456,4 +466,29 @@
456
466
  border-bottom-color: #317ab9;
457
467
  }
458
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
+
483
+ .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
484
+ content: "";
485
+ }
486
+ .e-treelistgrid.e-print-grid-layout .e-treecolumn-container .e-icons:not(.e-frame) {
487
+ display: inline-block;
488
+ }
489
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand {
490
+ -webkit-transform: rotate(90deg);
491
+ transform: rotate(90deg);
492
+ }
493
+
459
494
  /* stylelint-disable-line no-empty-source */
@@ -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,10 +132,23 @@
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
+
142
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand::before,
143
+ .e-treelistgrid.e-print-grid-layout .e-treegridcollapse::before {
144
+ content: "\e22f";
145
+ }
146
+
127
147
  .e-treegrid .e-icons.e-none::before {
128
148
  content: "";
129
149
  }
130
- .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) {
131
152
  border-left: 1px solid #317ab9;
132
153
  }
133
154
  .e-treegrid .e-grid:not(.e-grid-min-height) .e-gridcontent tr.e-row.e-summaryrow .e-rowcell:empty {
@@ -215,17 +236,6 @@
215
236
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
216
237
  line-height: 21px;
217
238
  }
218
- .e-treegrid .e-treegridexpand,
219
- .e-treegrid .e-treegridcollapse {
220
- color: #333;
221
- cursor: pointer;
222
- font-size: 10px;
223
- height: 16px;
224
- padding: 0;
225
- text-align: center;
226
- vertical-align: text-bottom;
227
- width: 16px;
228
- }
229
239
  .e-treegrid .e-treecell {
230
240
  display: table-cell;
231
241
  line-height: normal;
@@ -456,6 +466,31 @@
456
466
  border-bottom-color: #317ab9;
457
467
  }
458
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
+
483
+ .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
484
+ content: "";
485
+ }
486
+ .e-treelistgrid.e-print-grid-layout .e-treecolumn-container .e-icons:not(.e-frame) {
487
+ display: inline-block;
488
+ }
489
+ .e-treelistgrid.e-print-grid-layout .e-treegridexpand {
490
+ -webkit-transform: rotate(90deg);
491
+ transform: rotate(90deg);
492
+ }
493
+
459
494
  /* stylelint-disable-line no-empty-source */
460
495
  .e-bigger .e-treegrid .e-grid .e-treegridexpand,
461
496
  .e-bigger .e-treegrid .e-grid .e-treegridcollapse {