@syncfusion/ej2-treegrid 21.2.10 → 22.1.34

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 (41) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +4 -82
  3. package/README.md +1 -1
  4. package/dist/ej2-treegrid.min.js +10 -1
  5. package/dist/ej2-treegrid.umd.min.js +10 -1
  6. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es2015.js +52 -18
  8. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  9. package/dist/es6/ej2-treegrid.es5.js +54 -20
  10. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  11. package/dist/global/ej2-treegrid.min.js +10 -1
  12. package/dist/global/ej2-treegrid.min.js.map +1 -1
  13. package/dist/global/index.d.ts +9 -0
  14. package/package.json +70 -67
  15. package/src/treegrid/actions/edit.js +23 -9
  16. package/src/treegrid/actions/freeze-column.js +5 -1
  17. package/src/treegrid/actions/summary.js +1 -0
  18. package/src/treegrid/base/treegrid-model.d.ts +39 -34
  19. package/src/treegrid/base/treegrid.d.ts +39 -34
  20. package/src/treegrid/base/treegrid.js +14 -6
  21. package/src/treegrid/models/column.d.ts +18 -10
  22. package/src/treegrid/models/edit-settings-model.d.ts +2 -1
  23. package/src/treegrid/models/edit-settings.d.ts +2 -1
  24. package/src/treegrid/models/page-settings-model.d.ts +2 -1
  25. package/src/treegrid/models/page-settings.d.ts +2 -1
  26. package/src/treegrid/models/summary-model.d.ts +3 -1
  27. package/src/treegrid/models/summary.d.ts +3 -1
  28. package/src/treegrid/renderer/render.js +7 -1
  29. package/src/treegrid/renderer/virtual-tree-content-render.js +5 -4
  30. package/styles/material3-dark.css +545 -0
  31. package/styles/material3-dark.scss +3 -0
  32. package/styles/material3.css +601 -0
  33. package/styles/material3.scss +3 -0
  34. package/styles/treegrid/_material3-dark-definition.scss +1 -0
  35. package/styles/treegrid/_material3-definition.scss +28 -0
  36. package/styles/treegrid/icons/_material3-dark.scss +1 -0
  37. package/styles/treegrid/icons/_material3.scss +12 -1
  38. package/styles/treegrid/material3-dark.css +545 -0
  39. package/styles/treegrid/material3-dark.scss +19 -0
  40. package/styles/treegrid/material3.css +601 -0
  41. package/styles/treegrid/material3.scss +19 -0
@@ -358,8 +358,9 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
358
358
  * @hidden
359
359
  * It used to render pager template
360
360
  * @default null
361
+ * @aspType string
361
362
  */
362
- pagerTemplate: string;
363
+ pagerTemplate: string | Function;
363
364
  /**
364
365
  * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
365
366
  *
@@ -421,8 +422,9 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
421
422
  * > It accepts either the [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
422
423
  * or the HTML element ID.
423
424
  *
425
+ * @aspType string
424
426
  */
425
- detailTemplate: string;
427
+ detailTemplate: string | Function;
426
428
  /**
427
429
  * Configures the filter settings of the TreeGrid.
428
430
  *
@@ -457,8 +459,9 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
457
459
  * @hidden
458
460
  * It used to render toolbar template
459
461
  * @default null
462
+ * @aspType string
460
463
  */
461
- toolbarTemplate: string;
464
+ toolbarTemplate: string | Function;
462
465
  /**
463
466
  * Defines the mode of TreeGrid lines. The available modes are,
464
467
  * ```props
@@ -518,8 +521,10 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
518
521
  * > * The row template must be a table row.
519
522
  *
520
523
  * > Check the [`Row Template`](../../treegrid/row) customization.
524
+ *
525
+ * @aspType string
521
526
  */
522
- rowTemplate: string;
527
+ rowTemplate: string | Function;
523
528
  /**
524
529
  * `copyHierarchyMode` Defines the copy clipboard types.
525
530
  * <br><br>
@@ -638,14 +643,14 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
638
643
  * This helps to load large dataset in TreeGrid.
639
644
  *
640
645
  * @default false
641
- * @deprecated
646
+
642
647
  */
643
648
  enableInfiniteScrolling: boolean;
644
649
  /**
645
650
  * Configures the infinite scroll settings.
646
651
  *
647
652
  * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
648
- * @deprecated
653
+
649
654
  */
650
655
  infiniteScrollSettings: InfiniteScrollSettingsModel;
651
656
  /**
@@ -772,7 +777,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
772
777
  * Invoke the done method from the argument to start render after edit operation.
773
778
  *
774
779
  * @event dataSourceChanged
775
- * @deprecated
780
+
776
781
  */
777
782
  dataSourceChanged: EmitType<DataSourceChangedEventArgs>;
778
783
  /**
@@ -780,7 +785,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
780
785
  * In this event,the current view data and total record count should be assigned to the `dataSource` based on the action performed.
781
786
  *
782
787
  * @event dataStateChange
783
- * @deprecated
788
+
784
789
  */
785
790
  dataStateChange: EmitType<DataStateChangeEventArgs>;
786
791
  /**
@@ -832,7 +837,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
832
837
  * Triggers before deselecting the selected row.
833
838
  *
834
839
  * @event rowSelected
835
- * @deprecated
840
+
836
841
  */
837
842
  rowDeselecting: EmitType<RowDeselectEventArgs>;
838
843
  /**
@@ -857,7 +862,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
857
862
  * Triggers before column menu opens.
858
863
  *
859
864
  * @event columnMenuOpen
860
- * @deprecated
865
+
861
866
  */
862
867
  columnMenuOpen: EmitType<ColumnMenuOpenEventArgs>;
863
868
  /**
@@ -876,77 +881,77 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
876
881
  * Triggers before the selected cell is deselecting.
877
882
  *
878
883
  * @event cellDeselecting
879
- * @deprecated
884
+
880
885
  */
881
886
  cellDeselecting: EmitType<CellDeselectEventArgs>;
882
887
  /**
883
888
  * Triggers when a particular selected cell is deselected.
884
889
  *
885
890
  * @event cellDeselected
886
- * @deprecated
891
+
887
892
  */
888
893
  cellDeselected: EmitType<CellDeselectEventArgs>;
889
894
  /**
890
895
  * Triggers when column resize starts.
891
896
  *
892
897
  * @event resizeStart
893
- * @deprecated
898
+
894
899
  */
895
900
  resizeStart: EmitType<ResizeArgs>;
896
901
  /**
897
902
  * Triggers on column resizing.
898
903
  *
899
904
  * @event resizing
900
- * @deprecated
905
+
901
906
  */
902
907
  resizing: EmitType<ResizeArgs>;
903
908
  /**
904
909
  * Triggers when column resize ends.
905
910
  *
906
911
  * @event resizeStop
907
- * @deprecated
912
+
908
913
  */
909
914
  resizeStop: EmitType<ResizeArgs>;
910
915
  /**
911
916
  * Triggers when column header element drag (move) starts.
912
917
  *
913
918
  * @event columnDragStart
914
- * @deprecated
919
+
915
920
  */
916
921
  columnDragStart: EmitType<ColumnDragEventArgs>;
917
922
  /**
918
923
  * Triggers when column header element is dragged (moved) continuously.
919
924
  *
920
925
  * @event columnDrag
921
- * @deprecated
926
+
922
927
  */
923
928
  columnDrag: EmitType<ColumnDragEventArgs>;
924
929
  /**
925
930
  * Triggers when a column header element is dropped on the target column.
926
931
  *
927
932
  * @event columnDrop
928
- * @deprecated
933
+
929
934
  */
930
935
  columnDrop: EmitType<ColumnDragEventArgs>;
931
936
  /**
932
937
  * Triggers when the check box state change in checkbox column.
933
938
  *
934
939
  * @event checkboxChange
935
- * @deprecated
940
+
936
941
  */
937
942
  checkboxChange: EmitType<CheckBoxChangeEventArgs>;
938
943
  /**
939
944
  * Triggers after print action is completed.
940
945
  *
941
946
  * @event printComplete
942
- * @deprecated
947
+
943
948
  */
944
949
  printComplete: EmitType<PrintEventArgs>;
945
950
  /**
946
951
  * Triggers before the print action starts.
947
952
  *
948
953
  * @event beforePrint
949
- * @deprecated
954
+
950
955
  */
951
956
  beforePrint: EmitType<PrintEventArgs>;
952
957
  /**
@@ -965,7 +970,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
965
970
  * Triggers before context menu opens.
966
971
  *
967
972
  * @event contextMenuOpen
968
- * @deprecated
973
+
969
974
  */
970
975
  contextMenuOpen: EmitType<BeforeOpenCloseMenuEventArgs>;
971
976
  /**
@@ -978,42 +983,42 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
978
983
  * Triggers before TreeGrid copy action.
979
984
  *
980
985
  * @event beforeCopy
981
- * @deprecated
986
+
982
987
  */
983
988
  beforeCopy: EmitType<BeforeCopyEventArgs>;
984
989
  /**
985
990
  * Triggers before TreeGrid paste action.
986
991
  *
987
992
  * @event beforePaste
988
- * @deprecated
993
+
989
994
  */
990
995
  beforePaste: EmitType<BeforePasteEventArgs>;
991
996
  /**
992
997
  * Triggers when row elements are dragged (moved) continuously.
993
998
  *
994
999
  * @event rowDrag
995
- * @deprecated
1000
+
996
1001
  */
997
1002
  rowDrag: EmitType<RowDragEventArgs>;
998
1003
  /**
999
1004
  * Triggers when row element’s drag(move) starts.
1000
1005
  *
1001
1006
  * @event rowDragStart
1002
- * @deprecated
1007
+
1003
1008
  */
1004
1009
  rowDragStart: EmitType<RowDragEventArgs>;
1005
1010
  /**
1006
1011
  * Triggers when row element’s before drag(move).
1007
1012
  *
1008
1013
  * @event rowDragStartHelper
1009
- * @deprecated
1014
+
1010
1015
  */
1011
1016
  rowDragStartHelper: EmitType<RowDragEventArgs>;
1012
1017
  /**
1013
1018
  * Triggers when row elements are dropped on the target row.
1014
1019
  *
1015
1020
  * @event rowDrop
1016
- * @deprecated
1021
+
1017
1022
  */
1018
1023
  rowDrop: EmitType<RowDragEventArgs>;
1019
1024
  /**
@@ -1050,7 +1055,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1050
1055
  * You can also customize the PDF cells.
1051
1056
  *
1052
1057
  * @event pdfQueryCellInfo
1053
- * @deprecated
1058
+
1054
1059
  */
1055
1060
  pdfQueryCellInfo: EmitType<PdfQueryCellInfoEventArgs>;
1056
1061
  /**
@@ -1058,7 +1063,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1058
1063
  * You can also customize the PDF cells.
1059
1064
  *
1060
1065
  * @event pdfHeaderQueryCellInfo
1061
- * @deprecated
1066
+
1062
1067
  */
1063
1068
  pdfHeaderQueryCellInfo: EmitType<PdfHeaderQueryCellInfoEventArgs>;
1064
1069
  /**
@@ -1066,7 +1071,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1066
1071
  * You can also customize the Excel cells.
1067
1072
  *
1068
1073
  * @event excelQueryCellInfo
1069
- * @deprecated
1074
+
1070
1075
  */
1071
1076
  excelQueryCellInfo: EmitType<ExcelQueryCellInfoEventArgs>;
1072
1077
  /**
@@ -1074,7 +1079,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1074
1079
  * You can also customize the Excel cells.
1075
1080
  *
1076
1081
  * @event excelHeaderQueryCellInfo
1077
- * @deprecated
1082
+
1078
1083
  */
1079
1084
  excelHeaderQueryCellInfo: EmitType<ExcelHeaderQueryCellInfoEventArgs>;
1080
1085
  /**
@@ -1087,7 +1092,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1087
1092
  * Triggers after TreeGrid data is exported to Excel file.
1088
1093
  *
1089
1094
  * @event excelExportComplete
1090
- * @deprecated
1095
+
1091
1096
  */
1092
1097
  excelExportComplete: EmitType<ExcelExportCompleteArgs>;
1093
1098
  /**
@@ -1100,7 +1105,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1100
1105
  * Triggers after TreeGrid data is exported to PDF document.
1101
1106
  *
1102
1107
  * @event pdfExportComplete
1103
- * @deprecated
1108
+
1104
1109
  */
1105
1110
  pdfExportComplete: EmitType<PdfExportCompleteArgs>;
1106
1111
  /**
@@ -715,7 +715,9 @@ var TreeGrid = /** @class */ (function (_super) {
715
715
  this.grid.query = this.query;
716
716
  this.grid.columnQueryMode = this.columnQueryMode;
717
717
  this.grid.allowPaging = this.allowPaging;
718
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
718
719
  this.grid.pageSettings = getActualProperties(this.pageSettings);
720
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
719
721
  this.grid.pagerTemplate = this.pagerTemplate;
720
722
  this.grid.showColumnMenu = this.showColumnMenu;
721
723
  this.grid.allowSorting = this.allowSorting;
@@ -742,12 +744,14 @@ var TreeGrid = /** @class */ (function (_super) {
742
744
  this.grid.gridLines = this.gridLines;
743
745
  this.grid.allowSelection = this.allowSelection;
744
746
  this.grid.toolbar = getActualProperties(this.getGridToolbar());
747
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
745
748
  this.grid.toolbarTemplate = this.toolbarTemplate;
746
749
  this.grid.showColumnChooser = this.showColumnChooser;
747
750
  this.grid.filterSettings = getActualProperties(this.filterSettings);
748
751
  this.grid.selectionSettings = getActualProperties(this.selectionSettings);
749
752
  this.grid.sortSettings = getActualProperties(this.sortSettings);
750
753
  this.grid.searchSettings = getActualProperties(this.searchSettings);
754
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
751
755
  this.grid.aggregates = getActualProperties(this.aggregates);
752
756
  this.grid.textWrapSettings = getActualProperties(this.textWrapSettings);
753
757
  this.grid.printMode = getActualProperties(this.printMode);
@@ -756,7 +760,9 @@ var TreeGrid = /** @class */ (function (_super) {
756
760
  this.grid.contextMenuItems = getActualProperties(this.getContextMenu());
757
761
  this.grid.columnMenuItems = getActualProperties(this.columnMenuItems);
758
762
  this.grid.editSettings = this.getGridEditSettings();
763
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
759
764
  this.grid.rowTemplate = getActualProperties(this.rowTemplate);
765
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
760
766
  this.grid.detailTemplate = getActualProperties(this.detailTemplate);
761
767
  this.grid.frozenRows = this.frozenRows;
762
768
  this.grid.frozenColumns = this.frozenColumns;
@@ -1086,10 +1092,8 @@ var TreeGrid = /** @class */ (function (_super) {
1086
1092
  var currentData = _this.getCurrentViewRecords();
1087
1093
  var rows = _this.getContentTable().rows;
1088
1094
  for (var i = 0; i < rows.length; i++) {
1089
- var args = {
1090
- data: currentData[parseInt(i.toString(), 10)],
1091
- row: rows[parseInt(i.toString(), 10)]
1092
- };
1095
+ var args = { data: currentData[parseInt(i.toString(), 10)],
1096
+ row: rows[parseInt(i.toString(), 10)] };
1093
1097
  _this.renderModule.RowModifier(args);
1094
1098
  }
1095
1099
  }
@@ -1548,6 +1552,7 @@ var TreeGrid = /** @class */ (function (_super) {
1548
1552
  this.grid.allowPaging = this.allowPaging;
1549
1553
  break;
1550
1554
  case 'pageSettings':
1555
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
1551
1556
  this.grid.pageSettings = getActualProperties(this.pageSettings);
1552
1557
  requireRefresh = true;
1553
1558
  break;
@@ -1593,6 +1598,7 @@ var TreeGrid = /** @class */ (function (_super) {
1593
1598
  this.grid.allowRowDragAndDrop = this.allowRowDragAndDrop;
1594
1599
  break;
1595
1600
  case 'aggregates':
1601
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
1596
1602
  this.grid.aggregates = getActualProperties(this.aggregates);
1597
1603
  break;
1598
1604
  case 'enableInfiniteScrolling':
@@ -1643,6 +1649,7 @@ var TreeGrid = /** @class */ (function (_super) {
1643
1649
  this.grid.gridLines = this.gridLines;
1644
1650
  break;
1645
1651
  case 'rowTemplate':
1652
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
1646
1653
  this.grid.rowTemplate = getActualProperties(this.rowTemplate);
1647
1654
  break;
1648
1655
  case 'frozenRows':
@@ -1722,6 +1729,7 @@ var TreeGrid = /** @class */ (function (_super) {
1722
1729
  this.grid.showColumnChooser = this.showColumnChooser;
1723
1730
  break;
1724
1731
  case 'detailTemplate':
1732
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
1725
1733
  this.grid.detailTemplate = getActualProperties(this.detailTemplate);
1726
1734
  break;
1727
1735
  case 'columnMenuItems':
@@ -2306,8 +2314,8 @@ var TreeGrid = /** @class */ (function (_super) {
2306
2314
  }
2307
2315
  }
2308
2316
  else if (!isNullOrUndefined(this.columns[parseInt(i.toString(), 10)].field)) {
2309
- var fieldName = this.columns[parseInt(i.toString(), 10)].field;
2310
- var currentColumn = this.grid.getColumnByField(fieldName);
2317
+ var currentColumn = this.grid.getColumnByField(this.columns[parseInt(i.toString(), 10)]
2318
+ .field);
2311
2319
  this.columns[parseInt(i.toString(), 10)].width = currentColumn.width;
2312
2320
  }
2313
2321
  }
@@ -58,8 +58,10 @@ export declare class Column {
58
58
  * @hidden
59
59
  * Defines the commands column template as string or HTML element ID which is used to add
60
60
  * customized command buttons in each cells of the column.
61
+ *
62
+ * @aspType string
61
63
  */
62
- commandsTemplate: string;
64
+ commandsTemplate: string | Function;
63
65
  /**
64
66
  * `commands` provides an option to display command buttons in every cell.
65
67
  * The available built-in command buttons are
@@ -108,7 +110,7 @@ export declare class Column {
108
110
  * @default null
109
111
  * @aspIgnore
110
112
  */
111
- editTemplate: string;
113
+ editTemplate: string | Function;
112
114
  /**
113
115
  * Defines the filter template/UI that used as filter for a particular column.
114
116
  * It accepts either template string or HTML element ID.
@@ -116,7 +118,7 @@ export declare class Column {
116
118
  * @default null
117
119
  * @aspIgnore
118
120
  */
119
- filterTemplate: string;
121
+ filterTemplate: string | Function;
120
122
  /**
121
123
  * If `isIdentity` is set to true, then this column is considered as identity column.
122
124
  *
@@ -191,14 +193,16 @@ export declare class Column {
191
193
  * or HTML element ID.
192
194
  *
193
195
  * @default null
196
+ * @aspType string
194
197
  */
195
- template: string;
198
+ template: string | Function;
196
199
  /**
197
200
  * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
198
201
  *
199
202
  * @default null
203
+ * @aspType string
200
204
  */
201
- headerTemplate: string;
205
+ headerTemplate: string | Function;
202
206
  /**
203
207
  * You can use this property to freeze selected columns in treegrid
204
208
  *
@@ -490,8 +494,10 @@ export interface ColumnModel {
490
494
  * @hidden
491
495
  * Defines the commands column template as string or HTML element ID which is used to add
492
496
  * customized command buttons in each cells of the column.
497
+ *
498
+ * @aspType string
493
499
  */
494
- commandsTemplate?: string;
500
+ commandsTemplate?: string | Function;
495
501
  /**
496
502
  * `commands` provides an option to display command buttons in every cell.
497
503
  * The available built-in command buttons are
@@ -529,14 +535,16 @@ export interface ColumnModel {
529
535
  * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
530
536
  *
531
537
  * @default null
538
+ * @aspType string
532
539
  */
533
- template?: string;
540
+ template?: string | Function;
534
541
  /**
535
542
  * Defines the header template as string or HTML element ID which is used to add customized element in the column header.
536
543
  *
537
544
  * @default null
545
+ * @aspType string
538
546
  */
539
- headerTemplate?: string;
547
+ headerTemplate?: string | Function;
540
548
  /**
541
549
  * You can use this property to freeze selected columns in grid.
542
550
  *
@@ -666,14 +674,14 @@ export interface ColumnModel {
666
674
  *
667
675
  * @aspIgnore
668
676
  */
669
- editTemplate?: string;
677
+ editTemplate?: string | Function;
670
678
  /**
671
679
  * Defines the filter template/UI that is used as filter for a particular column.
672
680
  * It accepts either template string or HTML element ID.
673
681
  *
674
682
  * @aspIgnore
675
683
  */
676
- filterTemplate?: string;
684
+ filterTemplate?: string | Function;
677
685
  /**
678
686
  * If `isIdentity` is set to true, then this column is considered as identity column.
679
687
  *
@@ -80,8 +80,9 @@ export interface EditSettingsModel {
80
80
  * Defines the custom edit elements for the dialog template.
81
81
  *
82
82
  * @default ''
83
+ * @aspType string
83
84
  */
84
- template?: string;
85
+ template?: string | Function;
85
86
 
86
87
  /**
87
88
  * Defines the dialog params to edit.
@@ -72,8 +72,9 @@ export declare class EditSettings extends ChildProperty<EditSettings> {
72
72
  * Defines the custom edit elements for the dialog template.
73
73
  *
74
74
  * @default ''
75
+ * @aspType string
75
76
  */
76
- template: string;
77
+ template: string | Function;
77
78
  /**
78
79
  * Defines the dialog params to edit.
79
80
  *
@@ -53,8 +53,9 @@ export interface PageSettingsModel {
53
53
  * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
54
54
  *
55
55
  * @default null
56
+ * @aspType string
56
57
  */
57
- template?: string;
58
+ template?: string | Function;
58
59
 
59
60
  /**
60
61
  * Specifies the mode of record count in a page. The options are,
@@ -46,8 +46,9 @@ export declare class PageSettings extends ChildProperty<PageSettings> {
46
46
  * It accepts either [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID.
47
47
  *
48
48
  * @default null
49
+ * @aspType string
49
50
  */
50
- template: string;
51
+ template: string | Function;
51
52
  /**
52
53
  * Specifies the mode of record count in a page. The options are,
53
54
  * * `All`: Count all the records.
@@ -31,8 +31,10 @@ export interface AggregateColumnModel {
31
31
  * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %}
32
32
  *
33
33
  * @default null
34
+ * @aspType string
35
+ *
34
36
  */
35
- footerTemplate?: string;
37
+ footerTemplate?: string | Function;
36
38
 
37
39
  /**
38
40
  * Defines the column name to perform aggregation.
@@ -33,8 +33,10 @@ export declare class AggregateColumn extends ChildProperty<AggregateColumn> {
33
33
  * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %}
34
34
  *
35
35
  * @default null
36
+ * @aspType string
37
+ *
36
38
  */
37
- footerTemplate: string;
39
+ footerTemplate: string | Function;
38
40
  /**
39
41
  * Defines the column name to perform aggregation.
40
42
  *
@@ -134,7 +134,12 @@ var Render = /** @class */ (function () {
134
134
  var iconRequired = !isNullOrUndefined(data.hasFilteredChildRecords)
135
135
  ? data.hasFilteredChildRecords : data.hasChildRecords;
136
136
  if (iconRequired && !isNullOrUndefined(data.childRecords)) {
137
- iconRequired = !(data.childRecords.length === 0);
137
+ if (this.parent['isFromGantt'] && !this.parent.loadChildOnDemand) {
138
+ iconRequired = data.hasChildRecords;
139
+ }
140
+ else {
141
+ iconRequired = !(data.childRecords.length === 0);
142
+ }
138
143
  }
139
144
  if (iconRequired) {
140
145
  addClass([args.cell], 'e-treerowcell');
@@ -253,6 +258,7 @@ var Render = /** @class */ (function () {
253
258
  args.cell.setAttribute('data-colindex', colindex + '');
254
259
  }
255
260
  if (treeColumn.field === args.column.field && !isNullOrUndefined(treeColumn.template)) {
261
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
256
262
  args.column.template = treeColumn.template;
257
263
  args.column["" + templateFn] = templateCompiler(args.column.template);
258
264
  args.cell.classList.add('e-templatecell');
@@ -443,9 +443,8 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
443
443
  }
444
444
  this.startIndex = !isLastBlock ? lastIndex - this.parent.pageSettings.pageSize : nextSetResIndex;
445
445
  this.endIndex = lastIndex;
446
- if ((nextSetResIndex + this.parent.pageSettings.pageSize) > this.totalRecords &&
447
- (this.endIndex - this.startIndex) < (this.parent.pageSettings.pageSize / 2) &&
448
- (this.endIndex - nextSetResIndex) < (this.parent.pageSettings.pageSize / 2)) {
446
+ if ((nextSetResIndex + this.parent.pageSettings.pageSize) > this.totalRecords && (this.endIndex - this.startIndex) <
447
+ (this.parent.pageSettings.pageSize / 2) && (this.endIndex - nextSetResIndex) < (this.parent.pageSettings.pageSize / 2)) {
449
448
  this.startIndex = lastIndex - (this.parent.pageSettings.pageSize / 2);
450
449
  }
451
450
  if (currentViewData.length && this.startIndex > currentViewData[0]["" + indexValue] &&
@@ -460,7 +459,7 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
460
459
  this.translateY = scrollArgs.offset.top - rowHeight * 2;
461
460
  }
462
461
  else {
463
- if (this.totalRecords == this.endIndex) {
462
+ if (this.totalRecords === this.endIndex) {
464
463
  this.translateY = (this.totalRecords * rowHeight) - ((this.endIndex - this.startIndex) * rowHeight);
465
464
  }
466
465
  else {
@@ -653,6 +652,8 @@ var TreeInterSectionObserver = /** @class */ (function (_super) {
653
652
  if (_this["" + options].axes.indexOf(current.axis) === -1) {
654
653
  return;
655
654
  }
655
+ var containerRect = 'containerRect';
656
+ _this["" + containerRect] = _this["" + options].container.getBoundingClientRect();
656
657
  var check = _this.check(direction);
657
658
  if (current.entered && (current.axis === 'X' || instance.enableVirtualMaskRow)) {
658
659
  if (_this["" + movableEle] && (direction === 'right' || direction === 'left')) {