@syncfusion/ej2-treegrid 28.1.36 → 28.1.39

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 (82) hide show
  1. package/README.md +1 -1
  2. package/dist/ej2-treegrid.min.js +10 -1
  3. package/dist/ej2-treegrid.umd.min.js +10 -1
  4. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-treegrid.es2015.js +35 -35
  6. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es5.js +35 -35
  8. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  9. package/dist/global/ej2-treegrid.min.js +10 -1
  10. package/dist/global/ej2-treegrid.min.js.map +1 -1
  11. package/dist/global/index.d.ts +9 -0
  12. package/package.json +8 -7
  13. package/src/treegrid/actions/virtual-scroll.js +13 -5
  14. package/src/treegrid/base/data.js +1 -0
  15. package/src/treegrid/base/treegrid.js +1 -24
  16. package/src/treegrid/renderer/virtual-row-model-generator.js +4 -5
  17. package/src/treegrid/renderer/virtual-tree-content-render.js +18 -3
  18. package/src/treegrid/utils.d.ts +1 -1
  19. package/styles/bds-lite.css +11 -14
  20. package/styles/bds.css +11 -14
  21. package/styles/bootstrap-dark-lite.css +11 -14
  22. package/styles/bootstrap-dark.css +11 -14
  23. package/styles/bootstrap-lite.css +11 -14
  24. package/styles/bootstrap.css +11 -14
  25. package/styles/bootstrap4-lite.css +11 -14
  26. package/styles/bootstrap4.css +11 -14
  27. package/styles/bootstrap5-dark-lite.css +11 -14
  28. package/styles/bootstrap5-dark.css +11 -14
  29. package/styles/bootstrap5-lite.css +11 -14
  30. package/styles/bootstrap5.3-lite.css +11 -14
  31. package/styles/bootstrap5.3.css +11 -14
  32. package/styles/bootstrap5.css +11 -14
  33. package/styles/fabric-dark-lite.css +11 -14
  34. package/styles/fabric-dark.css +11 -14
  35. package/styles/fabric-lite.css +11 -14
  36. package/styles/fabric.css +11 -14
  37. package/styles/fluent-dark-lite.css +11 -14
  38. package/styles/fluent-dark.css +11 -14
  39. package/styles/fluent-lite.css +11 -14
  40. package/styles/fluent.css +11 -14
  41. package/styles/fluent2-lite.css +11 -14
  42. package/styles/fluent2.css +11 -14
  43. package/styles/highcontrast-light-lite.css +11 -14
  44. package/styles/highcontrast-light.css +11 -14
  45. package/styles/highcontrast-lite.css +11 -14
  46. package/styles/highcontrast.css +11 -14
  47. package/styles/material-dark-lite.css +11 -14
  48. package/styles/material-dark.css +11 -14
  49. package/styles/material-lite.css +11 -14
  50. package/styles/material.css +11 -14
  51. package/styles/material3-dark-lite.css +11 -14
  52. package/styles/material3-dark.css +11 -14
  53. package/styles/material3-lite.css +11 -14
  54. package/styles/material3.css +11 -14
  55. package/styles/tailwind-dark-lite.css +11 -14
  56. package/styles/tailwind-dark.css +11 -14
  57. package/styles/tailwind-lite.css +11 -14
  58. package/styles/tailwind.css +11 -14
  59. package/styles/tailwind3-lite.css +11 -14
  60. package/styles/tailwind3.css +11 -14
  61. package/styles/treegrid/_layout.scss +13 -15
  62. package/styles/treegrid/bds.css +11 -14
  63. package/styles/treegrid/bootstrap-dark.css +11 -14
  64. package/styles/treegrid/bootstrap.css +11 -14
  65. package/styles/treegrid/bootstrap4.css +11 -14
  66. package/styles/treegrid/bootstrap5-dark.css +11 -14
  67. package/styles/treegrid/bootstrap5.3.css +11 -14
  68. package/styles/treegrid/bootstrap5.css +11 -14
  69. package/styles/treegrid/fabric-dark.css +11 -14
  70. package/styles/treegrid/fabric.css +11 -14
  71. package/styles/treegrid/fluent-dark.css +11 -14
  72. package/styles/treegrid/fluent.css +11 -14
  73. package/styles/treegrid/fluent2.css +11 -14
  74. package/styles/treegrid/highcontrast-light.css +11 -14
  75. package/styles/treegrid/highcontrast.css +11 -14
  76. package/styles/treegrid/material-dark.css +11 -14
  77. package/styles/treegrid/material.css +11 -14
  78. package/styles/treegrid/material3-dark.css +11 -14
  79. package/styles/treegrid/material3.css +11 -14
  80. package/styles/treegrid/tailwind-dark.css +11 -14
  81. package/styles/treegrid/tailwind.css +11 -14
  82. package/styles/treegrid/tailwind3.css +11 -14
@@ -1,3 +1,12 @@
1
+ /*!
2
+ * filename: index.d.ts
3
+ * version : 28.1.39
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
+ */
1
10
  import * as _treegrid from '@syncfusion/ej2-treegrid';
2
11
 
3
12
  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@28.1.35",
3
+ "_id": "@syncfusion/ej2-treegrid@28.1.37",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-BLl7cK2TBNXXyvx3yir9noNUxx5WFfv8ITEQcsZSlWCNCqEJOGw3ln8fBObRDdi1puWjhpPQFJvGjQ7F/dN/0A==",
5
+ "_integrity": "sha512-ySpUDpaabk8geF3hDV1U5qCI68d0hz8go/gqc6NuNYhzPI9Pjgr9CETwdZeo51DcMVgOq62u/37RaxvttrCRtw==",
6
6
  "_location": "/@syncfusion/ej2-treegrid",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,13 +18,14 @@
18
18
  },
19
19
  "_requiredBy": [
20
20
  "/",
21
+ "/@syncfusion/ej2",
21
22
  "/@syncfusion/ej2-angular-treegrid",
22
23
  "/@syncfusion/ej2-gantt",
23
24
  "/@syncfusion/ej2-react-treegrid",
24
25
  "/@syncfusion/ej2-vue-treegrid"
25
26
  ],
26
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-28.1.35.tgz",
27
- "_shasum": "4b3f4413ac07e18a6c6bc65439522e693a99c386",
27
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-28.1.37.tgz",
28
+ "_shasum": "1feae0e79e8908e04e1083a44c98458c649c98ec",
28
29
  "_spec": "@syncfusion/ej2-treegrid@*",
29
30
  "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
30
31
  "author": {
@@ -37,8 +38,8 @@
37
38
  "dependencies": {
38
39
  "@syncfusion/ej2-base": "~28.1.33",
39
40
  "@syncfusion/ej2-data": "~28.1.33",
40
- "@syncfusion/ej2-grids": "~28.1.36",
41
- "@syncfusion/ej2-popups": "~28.1.33"
41
+ "@syncfusion/ej2-grids": "~28.1.38",
42
+ "@syncfusion/ej2-popups": "~28.1.39"
42
43
  },
43
44
  "deprecated": false,
44
45
  "description": "Essential JS 2 TreeGrid Component",
@@ -75,6 +76,6 @@
75
76
  "url": "git+https://github.com/syncfusion/ej2-treegrid.git"
76
77
  },
77
78
  "typings": "index.d.ts",
78
- "version": "28.1.36",
79
+ "version": "28.1.39",
79
80
  "sideEffects": false
80
81
  }
@@ -159,14 +159,22 @@ var VirtualScroll = /** @class */ (function () {
159
159
  endIndex = startIndex + this.parent.grid.pageSettings.pageSize;
160
160
  }
161
161
  if (!isNullOrUndefined(this.expandCollapseRec)) {
162
- var resourceCount = this.parent.getRows();
162
+ var resourceCount = this.parent.grid.pageSettings.pageSize;
163
163
  var sIndex = visualData.indexOf(this.expandCollapseRec);
164
- var tempdata = visualData.slice(sIndex, sIndex + resourceCount.length);
165
- if (tempdata.length < resourceCount.length && sIndex >= 0 && startIndex !== 0) {
166
- sIndex = visualData.length - resourceCount.length;
164
+ var tempdata = visualData.slice(sIndex, sIndex + resourceCount);
165
+ if (tempdata.length < resourceCount && sIndex >= 0 && startIndex !== 0) {
166
+ sIndex = visualData.length - resourceCount;
167
167
  sIndex = sIndex > 0 ? sIndex : 0;
168
- startIndex = sIndex;
169
168
  endIndex = visualData.length;
169
+ if (endIndex - startIndex < resourceCount) {
170
+ var newRowsCount = sIndex - startIndex;
171
+ startIndex = sIndex;
172
+ if (visualData.indexOf(this.expandCollapseRec) > visualData.length - resourceCount / 2) {
173
+ var newTranslateY = translateY + (newRowsCount * this.parent.grid.getRowHeight());
174
+ this.parent.grid.contentModule['translateY'] = newTranslateY;
175
+ this.parent.grid.contentModule.virtualEle.adjustTable(0, newTranslateY);
176
+ }
177
+ }
170
178
  }
171
179
  else if (getValue('isCollapseAll', this.parent)) {
172
180
  startIndex = 0;
@@ -338,6 +338,7 @@ var DataManipulation = /** @class */ (function () {
338
338
  this.parent.grid.detailRowModule.expand(expandingTd);
339
339
  }
340
340
  }
341
+ this.parent.grid.pageSettings.totalRecordsCount += rowDetails.rows.length;
341
342
  }
342
343
  else {
343
344
  this.fetchRemoteChildData({ action: rowDetails["" + name], record: rowDetails.record, rows: rowDetails.rows, parentRow: rowDetails.parentRow });
@@ -3048,18 +3048,6 @@ var TreeGrid = /** @class */ (function (_super) {
3048
3048
  this.trigger(events.expanded, expandArgs);
3049
3049
  }
3050
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
- }
3063
3051
  };
3064
3052
  TreeGrid.prototype.expandCollapseAllChildren = function (record, action, key, level) {
3065
3053
  if ((!isNullOrUndefined(key) && record[this.getPrimaryKeyFieldNames()[0]] !== key) ||
@@ -3175,18 +3163,6 @@ var TreeGrid = /** @class */ (function (_super) {
3175
3163
  this.grid.getContent().firstElementChild.scrollBy(0, this.grid.getRowHeight());
3176
3164
  }
3177
3165
  }
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
- }
3190
3166
  }
3191
3167
  };
3192
3168
  TreeGrid.prototype.updateExpandStateMapping = function (record, state) {
@@ -3861,6 +3837,7 @@ var TreeGrid = /** @class */ (function (_super) {
3861
3837
  }
3862
3838
  }
3863
3839
  }
3840
+ this.grid.pageSettings.totalRecordsCount -= rows.length;
3864
3841
  };
3865
3842
  /**
3866
3843
  * Method to sanitize html element
@@ -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) {
@@ -523,12 +523,27 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
523
523
  }
524
524
  }
525
525
  }
526
- if (((downScroll && (scrollArgs.offset.top < (rowHeight * this.totalRecords)))
526
+ if (isRemoteData(this.parent) || ((downScroll && (scrollArgs.offset.top < (rowHeight * this.totalRecords)))
527
527
  || (upScroll)) || (scrollArgs.direction === 'right' || scrollArgs.direction === 'left') ||
528
528
  ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
529
529
  && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') && (downScroll || upScroll) || isCountRequired(this.parent))) {
530
530
  var viewInfo = this.currentInfo = getValue('getInfoFromView', this).apply(this, [scrollArgs.direction, info, scrollArgs.offset]);
531
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
+ }
532
547
  this.parent.setColumnIndexesInView(this.parent.enableColumnVirtualization ? viewInfo.columnIndexes : []);
533
548
  var page = viewInfo.loadNext && !viewInfo.loadSelf ? viewInfo.nextInfo.page : viewInfo.page;
534
549
  this.parent.setProperties({ pageSettings: { currentPage: page } }, true);
@@ -555,7 +570,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
555
570
  };
556
571
  VirtualTreeContentRenderer.prototype.appendContent = function (target, newChild, e) {
557
572
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
558
- && !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)) {
559
574
  if (getValue('isExpandCollapse', e)) {
560
575
  this.isRemoteExpand = true;
561
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
@@ -460,6 +460,17 @@
460
460
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
461
461
  line-height: 21px;
462
462
  }
463
+ .e-treegrid .e-treegridexpand,
464
+ .e-treegrid .e-treegridcollapse {
465
+ color: var(--color-sf-fg-secondary);
466
+ cursor: pointer;
467
+ font-size: 18px;
468
+ height: 18px;
469
+ padding: 0;
470
+ text-align: center;
471
+ vertical-align: text-bottom;
472
+ width: 16px;
473
+ }
463
474
  .e-treegrid .e-treecell {
464
475
  display: table-cell;
465
476
  line-height: normal;
@@ -690,20 +701,6 @@
690
701
  border-bottom-color: var(--color-sf-brand-primary);
691
702
  }
692
703
 
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
704
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
708
705
  content: "";
709
706
  }
package/styles/bds.css CHANGED
@@ -460,6 +460,17 @@
460
460
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
461
461
  line-height: 21px;
462
462
  }
463
+ .e-treegrid .e-treegridexpand,
464
+ .e-treegrid .e-treegridcollapse {
465
+ color: var(--color-sf-fg-secondary);
466
+ cursor: pointer;
467
+ font-size: 18px;
468
+ height: 18px;
469
+ padding: 0;
470
+ text-align: center;
471
+ vertical-align: text-bottom;
472
+ width: 16px;
473
+ }
463
474
  .e-treegrid .e-treecell {
464
475
  display: table-cell;
465
476
  line-height: normal;
@@ -690,20 +701,6 @@
690
701
  border-bottom-color: var(--color-sf-brand-primary);
691
702
  }
692
703
 
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
704
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
708
705
  content: "";
709
706
  }
@@ -221,6 +221,17 @@
221
221
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
222
222
  line-height: 21px;
223
223
  }
224
+ .e-treegrid .e-treegridexpand,
225
+ .e-treegrid .e-treegridcollapse {
226
+ color: #f0f0f0;
227
+ cursor: pointer;
228
+ font-size: 10px;
229
+ height: 16px;
230
+ padding: 0;
231
+ text-align: center;
232
+ vertical-align: text-bottom;
233
+ width: 16px;
234
+ }
224
235
  .e-treegrid .e-treecell {
225
236
  display: table-cell;
226
237
  line-height: normal;
@@ -451,20 +462,6 @@
451
462
  border-bottom-color: #0070f0;
452
463
  }
453
464
 
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
465
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
469
466
  content: "";
470
467
  }
@@ -221,6 +221,17 @@
221
221
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
222
222
  line-height: 21px;
223
223
  }
224
+ .e-treegrid .e-treegridexpand,
225
+ .e-treegrid .e-treegridcollapse {
226
+ color: #f0f0f0;
227
+ cursor: pointer;
228
+ font-size: 10px;
229
+ height: 16px;
230
+ padding: 0;
231
+ text-align: center;
232
+ vertical-align: text-bottom;
233
+ width: 16px;
234
+ }
224
235
  .e-treegrid .e-treecell {
225
236
  display: table-cell;
226
237
  line-height: normal;
@@ -451,20 +462,6 @@
451
462
  border-bottom-color: #0070f0;
452
463
  }
453
464
 
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
465
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
469
466
  content: "";
470
467
  }
@@ -236,6 +236,17 @@
236
236
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
237
237
  line-height: 21px;
238
238
  }
239
+ .e-treegrid .e-treegridexpand,
240
+ .e-treegrid .e-treegridcollapse {
241
+ color: #333;
242
+ cursor: pointer;
243
+ font-size: 10px;
244
+ height: 16px;
245
+ padding: 0;
246
+ text-align: center;
247
+ vertical-align: text-bottom;
248
+ width: 16px;
249
+ }
239
250
  .e-treegrid .e-treecell {
240
251
  display: table-cell;
241
252
  line-height: normal;
@@ -466,20 +477,6 @@
466
477
  border-bottom-color: #317ab9;
467
478
  }
468
479
 
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
480
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
484
481
  content: "";
485
482
  }
@@ -236,6 +236,17 @@
236
236
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
237
237
  line-height: 21px;
238
238
  }
239
+ .e-treegrid .e-treegridexpand,
240
+ .e-treegrid .e-treegridcollapse {
241
+ color: #333;
242
+ cursor: pointer;
243
+ font-size: 10px;
244
+ height: 16px;
245
+ padding: 0;
246
+ text-align: center;
247
+ vertical-align: text-bottom;
248
+ width: 16px;
249
+ }
239
250
  .e-treegrid .e-treecell {
240
251
  display: table-cell;
241
252
  line-height: normal;
@@ -466,20 +477,6 @@
466
477
  border-bottom-color: #317ab9;
467
478
  }
468
479
 
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
480
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
484
481
  content: "";
485
482
  }
@@ -257,6 +257,17 @@
257
257
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
258
258
  line-height: 21px;
259
259
  }
260
+ .e-treegrid .e-treegridexpand,
261
+ .e-treegrid .e-treegridcollapse {
262
+ color: #495057;
263
+ cursor: pointer;
264
+ font-size: 10px;
265
+ height: 16px;
266
+ padding: 0;
267
+ text-align: center;
268
+ vertical-align: text-bottom;
269
+ width: 16px;
270
+ }
260
271
  .e-treegrid .e-treecell {
261
272
  display: table-cell;
262
273
  line-height: normal;
@@ -487,20 +498,6 @@
487
498
  border-bottom-color: #e3165b;
488
499
  }
489
500
 
490
- .e-treegrid .e-treegridexpand,
491
- .e-treegrid .e-treegridcollapse,
492
- .e-grid .e-treegridexpand,
493
- .e-grid .e-treegridcollapse {
494
- color: #495057;
495
- cursor: pointer;
496
- font-size: 10px;
497
- height: 16px;
498
- padding: 0;
499
- text-align: center;
500
- vertical-align: text-bottom;
501
- width: 16px;
502
- }
503
-
504
501
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
505
502
  content: "";
506
503
  }
@@ -257,6 +257,17 @@
257
257
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
258
258
  line-height: 21px;
259
259
  }
260
+ .e-treegrid .e-treegridexpand,
261
+ .e-treegrid .e-treegridcollapse {
262
+ color: #495057;
263
+ cursor: pointer;
264
+ font-size: 10px;
265
+ height: 16px;
266
+ padding: 0;
267
+ text-align: center;
268
+ vertical-align: text-bottom;
269
+ width: 16px;
270
+ }
260
271
  .e-treegrid .e-treecell {
261
272
  display: table-cell;
262
273
  line-height: normal;
@@ -487,20 +498,6 @@
487
498
  border-bottom-color: #e3165b;
488
499
  }
489
500
 
490
- .e-treegrid .e-treegridexpand,
491
- .e-treegrid .e-treegridcollapse,
492
- .e-grid .e-treegridexpand,
493
- .e-grid .e-treegridcollapse {
494
- color: #495057;
495
- cursor: pointer;
496
- font-size: 10px;
497
- height: 16px;
498
- padding: 0;
499
- text-align: center;
500
- vertical-align: text-bottom;
501
- width: 16px;
502
- }
503
-
504
501
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
505
502
  content: "";
506
503
  }
@@ -260,6 +260,17 @@
260
260
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
261
261
  line-height: 21px;
262
262
  }
263
+ .e-treegrid .e-treegridexpand,
264
+ .e-treegrid .e-treegridcollapse {
265
+ color: #adb5bd;
266
+ cursor: pointer;
267
+ font-size: 18px;
268
+ height: 18px;
269
+ padding: 0;
270
+ text-align: center;
271
+ vertical-align: text-bottom;
272
+ width: 16px;
273
+ }
263
274
  .e-treegrid .e-treecell {
264
275
  display: table-cell;
265
276
  line-height: 19px;
@@ -490,20 +501,6 @@
490
501
  border-bottom-color: #0d6efd;
491
502
  }
492
503
 
493
- .e-treegrid .e-treegridexpand,
494
- .e-treegrid .e-treegridcollapse,
495
- .e-grid .e-treegridexpand,
496
- .e-grid .e-treegridcollapse {
497
- color: #adb5bd;
498
- cursor: pointer;
499
- font-size: 18px;
500
- height: 18px;
501
- padding: 0;
502
- text-align: center;
503
- vertical-align: text-bottom;
504
- width: 16px;
505
- }
506
-
507
504
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
508
505
  content: "";
509
506
  }
@@ -260,6 +260,17 @@
260
260
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
261
261
  line-height: 21px;
262
262
  }
263
+ .e-treegrid .e-treegridexpand,
264
+ .e-treegrid .e-treegridcollapse {
265
+ color: #adb5bd;
266
+ cursor: pointer;
267
+ font-size: 18px;
268
+ height: 18px;
269
+ padding: 0;
270
+ text-align: center;
271
+ vertical-align: text-bottom;
272
+ width: 16px;
273
+ }
263
274
  .e-treegrid .e-treecell {
264
275
  display: table-cell;
265
276
  line-height: 19px;
@@ -490,20 +501,6 @@
490
501
  border-bottom-color: #0d6efd;
491
502
  }
492
503
 
493
- .e-treegrid .e-treegridexpand,
494
- .e-treegrid .e-treegridcollapse,
495
- .e-grid .e-treegridexpand,
496
- .e-grid .e-treegridcollapse {
497
- color: #adb5bd;
498
- cursor: pointer;
499
- font-size: 18px;
500
- height: 18px;
501
- padding: 0;
502
- text-align: center;
503
- vertical-align: text-bottom;
504
- width: 16px;
505
- }
506
-
507
504
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
508
505
  content: "";
509
506
  }
@@ -260,6 +260,17 @@
260
260
  .e-treegrid .e-checkselection .e-movablecontent .e-rowcell {
261
261
  line-height: 21px;
262
262
  }
263
+ .e-treegrid .e-treegridexpand,
264
+ .e-treegrid .e-treegridcollapse {
265
+ color: #6c757d;
266
+ cursor: pointer;
267
+ font-size: 18px;
268
+ height: 18px;
269
+ padding: 0;
270
+ text-align: center;
271
+ vertical-align: text-bottom;
272
+ width: 16px;
273
+ }
263
274
  .e-treegrid .e-treecell {
264
275
  display: table-cell;
265
276
  line-height: 19px;
@@ -490,20 +501,6 @@
490
501
  border-bottom-color: #0d6efd;
491
502
  }
492
503
 
493
- .e-treegrid .e-treegridexpand,
494
- .e-treegrid .e-treegridcollapse,
495
- .e-grid .e-treegridexpand,
496
- .e-grid .e-treegridcollapse {
497
- color: #6c757d;
498
- cursor: pointer;
499
- font-size: 18px;
500
- height: 18px;
501
- padding: 0;
502
- text-align: center;
503
- vertical-align: text-bottom;
504
- width: 16px;
505
- }
506
-
507
504
  .e-treelistgrid.e-print-grid-layout .e-icons.e-none::before {
508
505
  content: "";
509
506
  }