@syncfusion/ej2-treegrid 19.4.56 → 20.1.47

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 (62) hide show
  1. package/CHANGELOG.md +1 -79
  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 +4817 -4750
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +5018 -4951
  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 +9 -9
  12. package/src/treegrid/actions/crud-actions.js +3 -1
  13. package/src/treegrid/actions/rowdragdrop.d.ts +2 -0
  14. package/src/treegrid/actions/rowdragdrop.js +50 -14
  15. package/src/treegrid/actions/toolbar.js +2 -2
  16. package/src/treegrid/base/treegrid-model.d.ts +1 -1
  17. package/src/treegrid/base/treegrid.d.ts +12 -0
  18. package/src/treegrid/base/treegrid.js +50 -1
  19. package/src/treegrid/models/column.d.ts +0 -9
  20. package/src/treegrid/models/column.js +0 -19
  21. package/styles/bootstrap-dark.css +27 -4
  22. package/styles/bootstrap.css +27 -4
  23. package/styles/bootstrap4.css +21 -4
  24. package/styles/bootstrap5-dark.css +43 -19
  25. package/styles/bootstrap5.css +43 -19
  26. package/styles/fabric-dark.css +27 -4
  27. package/styles/fabric.css +27 -4
  28. package/styles/fluent-dark.css +560 -0
  29. package/styles/fluent-dark.scss +1 -0
  30. package/styles/fluent.css +560 -0
  31. package/styles/fluent.scss +1 -0
  32. package/styles/highcontrast-light.css +27 -4
  33. package/styles/highcontrast.css +27 -4
  34. package/styles/material-dark.css +19 -2
  35. package/styles/material.css +19 -2
  36. package/styles/tailwind-dark.css +41 -80
  37. package/styles/tailwind.css +26 -65
  38. package/styles/treegrid/_bootstrap5-definition.scss +3 -3
  39. package/styles/treegrid/_fluent-dark-definition.scss +1 -0
  40. package/styles/treegrid/_fluent-definition.scss +3 -3
  41. package/styles/treegrid/_layout.scss +62 -7
  42. package/styles/treegrid/_tailwind-definition.scss +3 -3
  43. package/styles/treegrid/bootstrap-dark.css +27 -4
  44. package/styles/treegrid/bootstrap.css +27 -4
  45. package/styles/treegrid/bootstrap4.css +21 -4
  46. package/styles/treegrid/bootstrap5-dark.css +43 -19
  47. package/styles/treegrid/bootstrap5.css +43 -19
  48. package/styles/treegrid/fabric-dark.css +27 -4
  49. package/styles/treegrid/fabric.css +27 -4
  50. package/styles/treegrid/fluent-dark.css +560 -0
  51. package/styles/treegrid/fluent-dark.scss +18 -0
  52. package/styles/treegrid/fluent.css +560 -0
  53. package/styles/treegrid/fluent.scss +18 -0
  54. package/styles/treegrid/highcontrast-light.css +27 -4
  55. package/styles/treegrid/highcontrast.css +27 -4
  56. package/styles/treegrid/icons/_fluent-dark.scss +1 -0
  57. package/styles/treegrid/icons/_tailwind-dark.scss +5 -5
  58. package/styles/treegrid/icons/_tailwind.scss +5 -5
  59. package/styles/treegrid/material-dark.css +19 -2
  60. package/styles/treegrid/material.css +19 -2
  61. package/styles/treegrid/tailwind-dark.css +41 -80
  62. package/styles/treegrid/tailwind.css +26 -65
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.56
3
+ * version : 20.1.47
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. 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@19.4.55",
3
+ "_id": "@syncfusion/ej2-treegrid@18.16.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-f5xJV2acBAMJnQ/C9b+HxofLqJ3odAXUN/kaRyqz+3sMlYdAaIW1f77i7Z8FUY7e9Gl5M5BgPtTr2WQXAH/mmQ==",
5
+ "_integrity": "sha512-OaaaeQK1Wag332oQTxhdgffuJg+IQA9aBRYfHc5OgYGw+FgdJAu4y/XBVY3LTgkZ0Z1qKxZIU2KxTjs/m0n7vg==",
6
6
  "_location": "/@syncfusion/ej2-treegrid",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -24,8 +24,8 @@
24
24
  "/@syncfusion/ej2-react-treegrid",
25
25
  "/@syncfusion/ej2-vue-treegrid"
26
26
  ],
27
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-19.4.55.tgz",
28
- "_shasum": "e711adbf22a3859e37b6d823c0914732c323754d",
27
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-18.16.3.tgz",
28
+ "_shasum": "348932505ec2558f8d30b8ffead3f508749563e8",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
30
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
31
31
  "author": {
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~19.4.52",
40
- "@syncfusion/ej2-data": "~19.4.54",
41
- "@syncfusion/ej2-grids": "~19.4.56",
42
- "@syncfusion/ej2-popups": "~19.4.53"
39
+ "@syncfusion/ej2-base": "~20.1.47",
40
+ "@syncfusion/ej2-data": "~20.1.47",
41
+ "@syncfusion/ej2-grids": "~20.1.47",
42
+ "@syncfusion/ej2-popups": "~20.1.47"
43
43
  },
44
44
  "deprecated": false,
45
45
  "description": "Essential JS 2 TreeGrid Component",
@@ -60,6 +60,6 @@
60
60
  "url": "git+https://github.com/syncfusion/ej2-treegrid.git"
61
61
  },
62
62
  "typings": "index.d.ts",
63
- "version": "19.4.56",
63
+ "version": "20.1.47",
64
64
  "sideEffects": false
65
65
  }
@@ -66,7 +66,9 @@ export function editAction(details, control, isSelfReference, addRowIndex, selec
66
66
  var childRecords = parentData ? parentData[control.childMapping] : [];
67
67
  for (var p = childRecords.length - 1; p >= 0; p--) {
68
68
  if (childRecords[p][control.idMapping] === currentData_1[control.idMapping]) {
69
- parentData['childRecords'].splice(p, 1);
69
+ if (!control.enableImmutableMode) {
70
+ parentData['childRecords'].splice(p, 1);
71
+ }
70
72
  childRecords.splice(p, 1);
71
73
  if (!childRecords.length) {
72
74
  parentData.hasChildRecords = false;
@@ -24,6 +24,8 @@ export declare class RowDD {
24
24
  /** @hidden */
25
25
  isMultipleGrid: string;
26
26
  /** @hidden */
27
+ private hasDropItem;
28
+ /** @hidden */
27
29
  isaddtoBottom: boolean;
28
30
  /**
29
31
  * Constructor for render module
@@ -1,6 +1,6 @@
1
1
  import { Grid, RowDD as GridDragDrop, parentsUntil } from '@syncfusion/ej2-grids';
2
2
  import { getObject, Scroll } from '@syncfusion/ej2-grids';
3
- import { closest, isNullOrUndefined, classList, setValue, extend, getValue, removeClass, addClass } from '@syncfusion/ej2-base';
3
+ import { closest, isNullOrUndefined, classList, setValue, extend, getValue, removeClass, addClass, setStyleAttribute } from '@syncfusion/ej2-base';
4
4
  import { DataManager } from '@syncfusion/ej2-data';
5
5
  import * as events from '../base/constant';
6
6
  import { editAction } from './crud-actions';
@@ -22,6 +22,8 @@ var RowDD = /** @class */ (function () {
22
22
  /** @hidden */
23
23
  this.isDraggedWithChild = false;
24
24
  /** @hidden */
25
+ this.hasDropItem = true;
26
+ /** @hidden */
25
27
  this.isaddtoBottom = false;
26
28
  Grid.Inject(GridDragDrop);
27
29
  this.parent = parent;
@@ -61,6 +63,7 @@ var RowDD = /** @class */ (function () {
61
63
  RowDD.prototype.reorderRows = function (fromIndexes, toIndex, position) {
62
64
  var tObj = this.parent;
63
65
  var action = 'action';
66
+ var updateRowAndCellElements = 'updateRowAndCellElements';
64
67
  if (fromIndexes[0] !== toIndex && ['above', 'below', 'child'].indexOf(position) !== -1) {
65
68
  if (position === 'above') {
66
69
  this.dropPosition = 'topSegment';
@@ -94,7 +97,13 @@ var RowDD = /** @class */ (function () {
94
97
  }
95
98
  this.parent.grid.refresh();
96
99
  if (this.parent.enableImmutableMode && this.dropPosition === 'middleSegment') {
97
- var index = this.parent.treeColumnIndex + 1;
100
+ var index = void 0;
101
+ if (this.parent.allowRowDragAndDrop) {
102
+ index = this.parent.treeColumnIndex + 1;
103
+ }
104
+ else if (this.parent[action] === 'indenting') {
105
+ index = this.parent.treeColumnIndex;
106
+ }
98
107
  var row = this.parent.getRows()[fromIndexes[0]];
99
108
  var dropData = args.data[0];
100
109
  var totalRecord = [];
@@ -106,18 +115,23 @@ var RowDD = /** @class */ (function () {
106
115
  var parentrow = this.parent.getRows()[toIndex];
107
116
  totalRecord.push(parentData);
108
117
  rows.push(parentrow);
109
- for (var i = 0; i < totalRecord.length; i++) {
110
- this.parent.renderModule.cellRender({
111
- data: totalRecord[i], cell: rows[i].cells[index],
112
- column: this.parent.grid.getColumns()[this.parent.treeColumnIndex],
113
- requestType: 'rowDragAndDrop'
114
- });
115
- if (this.parent[action] === 'indenting' || this.parent[action] === 'outdenting') {
116
- this.parent.renderModule.RowModifier({
117
- data: totalRecord[i], row: rows[i]
118
- });
119
- }
118
+ this.parent[updateRowAndCellElements](totalRecord, rows, index);
119
+ }
120
+ if (this.parent.enableImmutableMode && this.parent[action] === 'outdenting') {
121
+ var index = void 0;
122
+ if (this.parent.allowRowDragAndDrop) {
123
+ index = this.parent.treeColumnIndex + 1;
124
+ }
125
+ else if (this.parent[action] === 'outdenting') {
126
+ index = this.parent.treeColumnIndex;
120
127
  }
128
+ var record = args.data[0];
129
+ var row = this.parent.getRows()[fromIndexes[0]];
130
+ var totalRecord = [];
131
+ var rows = [];
132
+ totalRecord.push(record);
133
+ rows.push(row);
134
+ this.parent[updateRowAndCellElements](totalRecord, rows, index);
121
135
  }
122
136
  }
123
137
  else {
@@ -470,13 +484,34 @@ var RowDD = /** @class */ (function () {
470
484
  spanContent.innerHTML = content;
471
485
  dragelem.querySelector('.e-rowcell').appendChild(ele);
472
486
  dragelem.querySelector('.e-rowcell').appendChild(spanContent);
487
+ var dropItemSpan = document.querySelector('.e-dropitemscount');
488
+ if (this.hasDropItem && dropItemSpan) {
489
+ var dropItemLeft = parseInt(dropItemSpan.style.left, 10) + ele.offsetWidth + 16;
490
+ var spanLeft = !this.parent.enableRtl ? dropItemLeft : 0;
491
+ dropItemSpan.style.left = spanLeft + "px";
492
+ this.hasDropItem = false;
493
+ }
473
494
  }
474
495
  };
475
496
  RowDD.prototype.removeErrorElem = function () {
476
497
  var errorelem = document.querySelector('.e-errorelem');
498
+ var errorValue = document.querySelector('.errorValue');
499
+ var dropItemSpan = document.querySelector('.e-dropitemscount');
477
500
  if (errorelem) {
501
+ if (dropItemSpan) {
502
+ var dropItemLeft = parseInt(dropItemSpan.style.left, 10) - errorelem.offsetWidth - 16;
503
+ setStyleAttribute(errorValue, {
504
+ paddingLeft: '0px'
505
+ });
506
+ if (!this.parent.enableRtl) {
507
+ setStyleAttribute(dropItemSpan, {
508
+ left: dropItemLeft + "px"
509
+ });
510
+ }
511
+ }
478
512
  errorelem.remove();
479
513
  }
514
+ this.hasDropItem = true;
480
515
  };
481
516
  RowDD.prototype.topOrBottomBorder = function (target) {
482
517
  var rowElement = [];
@@ -804,6 +839,7 @@ var RowDD = /** @class */ (function () {
804
839
  }
805
840
  if (isNullOrUndefined(droppedRecord.parentItem)) {
806
841
  delete draggedRecord_2.parentItem;
842
+ delete draggedRecord_2.parentUniqueID;
807
843
  draggedRecord_2.level = 0;
808
844
  if (this_1.parent.parentIdMapping) {
809
845
  draggedRecord_2[this_1.parent.parentIdMapping] = null;
@@ -1018,7 +1054,7 @@ var RowDD = /** @class */ (function () {
1018
1054
  if (childRecords && childRecords.length > 0) {
1019
1055
  childIndex = childRecords.indexOf(deletedRow);
1020
1056
  flatParentData.childRecords.splice(childIndex, 1);
1021
- if (!this.parent.parentIdMapping) {
1057
+ if (!this.parent.parentIdMapping || tObj.enableImmutableMode) {
1022
1058
  editAction({ value: deletedRow, action: 'delete' }, this.parent, isSelfReference, deletedRow.index, deletedRow.index);
1023
1059
  }
1024
1060
  }
@@ -47,7 +47,7 @@ var Toolbar = /** @class */ (function () {
47
47
  if (args.row.rowIndex === 0 || tObj.getSelectedRecords().length > 1) {
48
48
  this.enableItems([tObj.element.id + '_gridcontrol_indent', tObj.element.id + '_gridcontrol_outdent'], false);
49
49
  }
50
- else if (args['name'] !== "rowDeselected") {
50
+ else if (args['name'] !== 'rowDeselected') {
51
51
  if (!isNullOrUndefined(tObj.getCurrentViewRecords()[args.row.rowIndex])) {
52
52
  if (!isNullOrUndefined(tObj.getCurrentViewRecords()[args.row.rowIndex]) &&
53
53
  (tObj.getCurrentViewRecords()[args.row.rowIndex].level >
@@ -69,7 +69,7 @@ var Toolbar = /** @class */ (function () {
69
69
  }
70
70
  }
71
71
  }
72
- if (args['name'] === "rowDeselected") {
72
+ if (args['name'] === 'rowDeselected') {
73
73
  if (this.parent.toolbar['includes']('Indent')) {
74
74
  this.enableItems([tObj.element.id + '_gridcontrol_indent'], false);
75
75
  }
@@ -1,4 +1,4 @@
1
- import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Ajax, ModuleDeclaration, extend} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, getValue } from '@syncfusion/ej2-base';import {Event, Property, NotifyPropertyChanges, INotifyPropertyChanged, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';import { Column, ColumnModel } from '../models/column';import { BeforeBatchSaveArgs, BeforeBatchAddArgs, BatchDeleteArgs, BeforeBatchDeleteArgs, Row, CellRenderer, Cell } from '@syncfusion/ej2-grids';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import {RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings, getUid } from '@syncfusion/ej2-grids';import { ActionEventArgs } from'@syncfusion/ej2-grids';import { DetailDataBoundEventArgs, ClipMode, ColumnChooser} from '@syncfusion/ej2-grids';import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs} from '@syncfusion/ej2-grids';import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs} from '@syncfusion/ej2-grids';import { FilterSettings } from '../models/filter-settings';import { TextWrapSettings } from '../models/textwrap-settings';import { TextWrapSettingsModel } from '../models/textwrap-settings-model';import {Filter} from '../actions/filter';import { Logger as TreeLogger } from '../actions/logger';import { BeforeCopyEventArgs, BeforePasteEventArgs } from '@syncfusion/ej2-grids';import { TreeClipboard } from '../actions/clipboard';import {Aggregate} from '../actions/summary';import { Reorder } from '../actions/reorder';import { Resize } from '../actions/resize';import { Selection as TreeGridSelection } from '../actions/selection';import { ColumnMenu } from '../actions/column-menu';import { DetailRow } from '../actions/detail-row';import { Freeze } from '../actions/freeze-column';import { Print } from '../actions/print';import * as events from '../base/constant';import { FilterSettingsModel } from '../models/filter-settings-model';import { SearchSettings} from '../models/search-settings';import { SearchSettingsModel } from '../models/search-settings-model';import {RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';import {ColumnModel as GridColumnModel, Column as GridColumn, CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';import { SelectionSettings } from '../models/selection-settings';import { SelectionSettingsModel } from '../models/selection-settings-model';import {getActualProperties, SortDirection, getObject, ColumnDragEventArgs } from '@syncfusion/ej2-grids';import { PrintMode, Data, IGrid, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import {BeforeDataBoundArgs} from '@syncfusion/ej2-grids';import { DataManager, ReturnOption, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';import { createSpinner, hideSpinner, showSpinner, Dialog } from '@syncfusion/ej2-popups';import { isRemoteData, isOffline, extendArray, isCountRequired, findChildrenRecords } from '../utils';import { Grid, QueryCellInfoEventArgs, Logger } from '@syncfusion/ej2-grids';import { Render } from '../renderer/render';import { VirtualTreeContentRenderer } from '../renderer/virtual-tree-content-render';import { DataManipulation } from './data';import { RowDD } from '../actions/rowdragdrop';import { Sort } from '../actions/sort';import { ITreeData, RowExpandedEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs, TreeGridExcelExportProperties } from './interface';import { CellSaveEventArgs, DataStateChangeEventArgs, RowExpandingEventArgs, TreeGridPdfExportProperties } from './interface';import { iterateArrayOrObject, GridLine } from '@syncfusion/ej2-grids';import { DataSourceChangedEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';import { ToolbarItems, ToolbarItem, ContextMenuItem, ContextMenuItems, RowPosition, CopyHierarchyType } from '../enum';import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';import { PageSettings } from '../models/page-settings';import { PageSettingsModel } from '../models/page-settings-model';import { AggregateRow } from '../models/summary';import { AggregateRowModel } from '../models/summary-model';import { ExcelExport } from '../actions/excel-export';import { PdfExport } from '../actions/pdf-export';import { Toolbar } from '../actions/toolbar';import { Page } from '../actions/page';import { ContextMenu } from '../actions/context-menu';import { EditSettings } from '../models/edit-settings';import { EditSettingsModel } from '../models/edit-settings-model';import { Edit} from '../actions/edit';import { SortSettings } from '../models/sort-settings';import { SortSettingsModel } from '../models/sort-settings-model';import { isHidden, getExpandStatus } from '../utils';import { editAction } from '../actions/crud-actions';import { InfiniteScrollSettings } from '../models/infinite-scroll-settings';import { InfiniteScrollSettingsModel } from '../models/infinite-scroll-settings-model';import { TreeActionEventArgs } from '..';
1
+ import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Ajax, ModuleDeclaration, extend} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, getValue } from '@syncfusion/ej2-base';import {Event, Property, NotifyPropertyChanges, INotifyPropertyChanged, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';import { Column, ColumnModel } from '../models/column';import { BeforeBatchSaveArgs, BeforeBatchAddArgs, BatchDeleteArgs, BeforeBatchDeleteArgs, Row, CellRenderer, Cell } from '@syncfusion/ej2-grids';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import {RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings, getUid } from '@syncfusion/ej2-grids';import { ActionEventArgs, TextAlign } from'@syncfusion/ej2-grids';import { DetailDataBoundEventArgs, ClipMode, ColumnChooser} from '@syncfusion/ej2-grids';import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs} from '@syncfusion/ej2-grids';import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs} from '@syncfusion/ej2-grids';import { FilterSettings } from '../models/filter-settings';import { TextWrapSettings } from '../models/textwrap-settings';import { TextWrapSettingsModel } from '../models/textwrap-settings-model';import {Filter} from '../actions/filter';import { Logger as TreeLogger } from '../actions/logger';import { BeforeCopyEventArgs, BeforePasteEventArgs } from '@syncfusion/ej2-grids';import { TreeClipboard } from '../actions/clipboard';import {Aggregate} from '../actions/summary';import { Reorder } from '../actions/reorder';import { Resize } from '../actions/resize';import { Selection as TreeGridSelection } from '../actions/selection';import { ColumnMenu } from '../actions/column-menu';import { DetailRow } from '../actions/detail-row';import { Freeze } from '../actions/freeze-column';import { Print } from '../actions/print';import * as events from '../base/constant';import { FilterSettingsModel } from '../models/filter-settings-model';import { SearchSettings} from '../models/search-settings';import { SearchSettingsModel } from '../models/search-settings-model';import {RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';import {ColumnModel as GridColumnModel, Column as GridColumn, CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';import { SelectionSettings } from '../models/selection-settings';import { SelectionSettingsModel } from '../models/selection-settings-model';import {getActualProperties, SortDirection, getObject, ColumnDragEventArgs } from '@syncfusion/ej2-grids';import { PrintMode, Data, IGrid, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import {BeforeDataBoundArgs} from '@syncfusion/ej2-grids';import { DataManager, ReturnOption, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';import { createSpinner, hideSpinner, showSpinner, Dialog } from '@syncfusion/ej2-popups';import { isRemoteData, isOffline, extendArray, isCountRequired, findChildrenRecords } from '../utils';import { Grid, QueryCellInfoEventArgs, Logger } from '@syncfusion/ej2-grids';import { Render } from '../renderer/render';import { VirtualTreeContentRenderer } from '../renderer/virtual-tree-content-render';import { DataManipulation } from './data';import { RowDD } from '../actions/rowdragdrop';import { Sort } from '../actions/sort';import { ITreeData, RowExpandedEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs, TreeGridExcelExportProperties } from './interface';import { CellSaveEventArgs, DataStateChangeEventArgs, RowExpandingEventArgs, TreeGridPdfExportProperties } from './interface';import { iterateArrayOrObject, GridLine } from '@syncfusion/ej2-grids';import { DataSourceChangedEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';import { ToolbarItems, ToolbarItem, ContextMenuItem, ContextMenuItems, RowPosition, CopyHierarchyType } from '../enum';import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';import { PageSettings } from '../models/page-settings';import { PageSettingsModel } from '../models/page-settings-model';import { AggregateRow } from '../models/summary';import { AggregateRowModel } from '../models/summary-model';import { ExcelExport } from '../actions/excel-export';import { PdfExport } from '../actions/pdf-export';import { Toolbar } from '../actions/toolbar';import { Page } from '../actions/page';import { ContextMenu } from '../actions/context-menu';import { EditSettings } from '../models/edit-settings';import { EditSettingsModel } from '../models/edit-settings-model';import { Edit} from '../actions/edit';import { SortSettings } from '../models/sort-settings';import { SortSettingsModel } from '../models/sort-settings-model';import { isHidden, getExpandStatus } from '../utils';import { editAction } from '../actions/crud-actions';import { InfiniteScrollSettings } from '../models/infinite-scroll-settings';import { InfiniteScrollSettingsModel } from '../models/infinite-scroll-settings-model';import { TreeActionEventArgs } from '..';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -97,6 +97,8 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
97
97
  private isExpandRefresh;
98
98
  private gridSettings;
99
99
  private isEditCollapse;
100
+ private treeColumnTextAlign;
101
+ private treeColumnField;
100
102
  /** @hidden */
101
103
  initialRender: boolean;
102
104
  /** @hidden */
@@ -1263,6 +1265,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1263
1265
  * @returns {void}
1264
1266
  */
1265
1267
  onPropertyChanged(newProp: TreeGridModel): void;
1268
+ private updateTreeColumnTextAlign;
1266
1269
  /**
1267
1270
  * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
1268
1271
  *
@@ -1750,6 +1753,15 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1750
1753
  private updateAltRow;
1751
1754
  private treeColumnRowTemplate;
1752
1755
  private collapseRemoteChild;
1756
+ /**
1757
+ * Updates the rows and cells
1758
+ *
1759
+ * @param {Object[]} records - Updates the given records
1760
+ * @param {HTMLTableRowElement[]} rows - Updates the given rows
1761
+ * @param {number} index - Updates the given cell index
1762
+ * @returns {void}
1763
+ */
1764
+ private updateRowAndCellElements;
1753
1765
  /**
1754
1766
  * @hidden
1755
1767
  * @returns {void}
@@ -39,6 +39,7 @@ import { isRemoteData, isOffline, extendArray, isCountRequired, findChildrenReco
39
39
  import { Grid, Logger } from '@syncfusion/ej2-grids';
40
40
  import { Render } from '../renderer/render';
41
41
  import { DataManipulation } from './data';
42
+ import { RowDD } from '../actions/rowdragdrop';
42
43
  import { iterateArrayOrObject } from '@syncfusion/ej2-grids';
43
44
  import { ToolbarItem, ContextMenuItems } from '../enum';
44
45
  import { PageSettings } from '../models/page-settings';
@@ -482,6 +483,13 @@ var TreeGrid = /** @class */ (function (_super) {
482
483
  args: [this]
483
484
  });
484
485
  }
486
+ if (!isNullOrUndefined(this.toolbar) && (this.toolbar['includes']('Indent') || this.toolbar['includes']('Outdent'))) {
487
+ TreeGrid_1.Inject(RowDD);
488
+ modules.push({
489
+ member: 'rowDragAndDrop',
490
+ args: [this]
491
+ });
492
+ }
485
493
  if (this.editSettings.allowAdding || this.editSettings.allowDeleting || this.editSettings.allowEditing) {
486
494
  modules.push({
487
495
  member: 'edit',
@@ -602,6 +610,8 @@ var TreeGrid = /** @class */ (function (_super) {
602
610
  }
603
611
  return modules;
604
612
  };
613
+ var root = 'root';
614
+ this.grid[root] = this[root] ? this[root] : this;
605
615
  this.grid.appendTo(gridContainer);
606
616
  this.wireEvents();
607
617
  this.renderComplete();
@@ -1367,6 +1377,15 @@ var TreeGrid = /** @class */ (function (_super) {
1367
1377
  this.columnModel.push(new Column(treeGridColumn));
1368
1378
  }
1369
1379
  gridColumnCollection.push(gridColumn);
1380
+ if (!isNullOrUndefined(this.columnModel[this.treeColumnIndex]) && this.enableRtl) {
1381
+ if (gridColumn.field === this.columnModel[this.treeColumnIndex].field) {
1382
+ if (isNullOrUndefined(this.treeColumnTextAlign)) {
1383
+ this.treeColumnTextAlign = this.columnModel[this.treeColumnIndex].textAlign;
1384
+ this.treeColumnField = this.columnModel[this.treeColumnIndex].field;
1385
+ }
1386
+ gridColumn.textAlign = 'Right';
1387
+ }
1388
+ }
1370
1389
  }
1371
1390
  return gridColumnCollection;
1372
1391
  };
@@ -1539,6 +1558,9 @@ var TreeGrid = /** @class */ (function (_super) {
1539
1558
  this.grid.allowPdfExport = this.allowPdfExport;
1540
1559
  break;
1541
1560
  case 'enableRtl':
1561
+ if (!isNullOrUndefined(this.treeColumnField)) {
1562
+ this.updateTreeColumnTextAlign();
1563
+ }
1542
1564
  this.grid.enableRtl = this.enableRtl;
1543
1565
  break;
1544
1566
  case 'allowReordering':
@@ -1579,6 +1601,11 @@ var TreeGrid = /** @class */ (function (_super) {
1579
1601
  }
1580
1602
  }
1581
1603
  };
1604
+ TreeGrid.prototype.updateTreeColumnTextAlign = function () {
1605
+ var gridColumn = this.grid.getColumnByField(this.treeColumnField);
1606
+ gridColumn.textAlign = this.enableRtl ? 'Right' : this.treeColumnTextAlign;
1607
+ this.grid.refreshColumns();
1608
+ };
1582
1609
  /**
1583
1610
  * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
1584
1611
  *
@@ -2961,7 +2988,7 @@ var TreeGrid = /** @class */ (function (_super) {
2961
2988
  freezeRightRows[i].style.display = displayAction;
2962
2989
  }
2963
2990
  this.notify('childRowExpand', { row: rows[i] });
2964
- if (!isNullOrUndefined(childRecords[i].childRecords) && (action !== 'expand' ||
2991
+ if ((!isNullOrUndefined(childRecords[i].childRecords) && childRecords[i].childRecords.length > 0) && (action !== 'expand' ||
2965
2992
  isNullOrUndefined(childRecords[i].expanded) || childRecords[i].expanded)) {
2966
2993
  this.expandCollapse(action, rows[i], childRecords[i], true);
2967
2994
  if (this.frozenColumns <= this.treeColumnIndex && !isNullOrUndefined(movableRows)) {
@@ -3060,6 +3087,28 @@ var TreeGrid = /** @class */ (function (_super) {
3060
3087
  }
3061
3088
  }
3062
3089
  };
3090
+ /**
3091
+ * Updates the rows and cells
3092
+ *
3093
+ * @param {Object[]} records - Updates the given records
3094
+ * @param {HTMLTableRowElement[]} rows - Updates the given rows
3095
+ * @param {number} index - Updates the given cell index
3096
+ * @returns {void}
3097
+ */
3098
+ TreeGrid.prototype.updateRowAndCellElements = function (records, rows, index) {
3099
+ for (var i = 0; i < records.length; i++) {
3100
+ this.renderModule.cellRender({
3101
+ data: records[i], cell: rows[i].cells[index],
3102
+ column: this.grid.getColumns()[this.treeColumnIndex],
3103
+ requestType: 'rowDragAndDrop'
3104
+ });
3105
+ if (this['action'] === 'indenting' || this['action'] === 'outdenting') {
3106
+ this.renderModule.RowModifier({
3107
+ data: records[i], row: rows[i]
3108
+ });
3109
+ }
3110
+ }
3111
+ };
3063
3112
  /**
3064
3113
  * @hidden
3065
3114
  * @returns {void}
@@ -326,16 +326,7 @@ export declare class Column {
326
326
  * @default null
327
327
  */
328
328
  freeze: freezeDirection;
329
- private parent;
330
329
  constructor(options: ColumnModel);
331
- /**
332
- * Update the State changes reflected for TreeGrid columndirective in react platform.
333
- *
334
- * @param {Column} column - specifies the column
335
- * @returns {void}
336
- * @hidden
337
- */
338
- private setProperties;
339
330
  }
340
331
  /**
341
332
  * Interface for a TreeGrid class Column
@@ -71,25 +71,6 @@ var Column = /** @class */ (function () {
71
71
  this.filter = {};
72
72
  merge(this, options);
73
73
  }
74
- /**
75
- * Update the State changes reflected for TreeGrid columndirective in react platform.
76
- *
77
- * @param {Column} column - specifies the column
78
- * @returns {void}
79
- * @hidden
80
- */
81
- Column.prototype.setProperties = function (column) {
82
- //Angular two way binding
83
- var keys = Object.keys(column);
84
- for (var i = 0; i < keys.length; i++) {
85
- this[keys[i]] = column[keys[i]];
86
- //Refresh the react columnTemplates on state change
87
- if (this.parent && this.parent['isReact'] && keys[i] === 'template') {
88
- var refreshReactColumnTemplateByUid = 'refreshReactColumnTemplateByUid';
89
- this.parent.clipboardModule['treeGridParent'][refreshReactColumnTemplateByUid](this.uid);
90
- }
91
- }
92
- };
93
74
  return Column;
94
75
  }());
95
76
  export { Column };
@@ -172,6 +172,14 @@
172
172
  width: 20px;
173
173
  }
174
174
 
175
+ .e-bigger .e-treegrid .e-hierarchycheckbox .e-frame {
176
+ font-size: 12px;
177
+ line-height: 12px;
178
+ padding: 2px 0;
179
+ height: 20px;
180
+ width: 20px;
181
+ }
182
+
175
183
  .e-bigger .e-treegrid .e-treecell {
176
184
  line-height: 18px;
177
185
  }
@@ -250,8 +258,11 @@
250
258
  }
251
259
 
252
260
  .e-treegrid .e-hierarchycheckbox .e-frame {
253
- height: 20px;
254
- width: 20px;
261
+ font-size: 10px;
262
+ height: 16px;
263
+ line-height: 11px;
264
+ padding: 2px 0;
265
+ width: 16px;
255
266
  }
256
267
 
257
268
  .e-treegrid .e-checkselection .e-frozenheader .e-rowcell,
@@ -442,12 +453,24 @@
442
453
  border-top: 1px solid #0070f0;
443
454
  }
444
455
 
445
- .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-childborder, .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-dropbottom {
456
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-childborder {
457
+ border-bottom: 1px solid #0070f0;
458
+ border-top: 1px solid #0070f0;
459
+ box-shadow: 0 0 0 0 #0070f0;
460
+ }
461
+
462
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-childborder {
463
+ border-bottom: 1px solid #0070f0;
464
+ border-top: 1px solid #0070f0;
465
+ box-shadow: 0 0 0 0 #0070f0;
466
+ }
467
+
468
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-dropbottom {
446
469
  border-bottom: 1px solid #0070f0;
447
470
  box-shadow: 0 0 0 0 #0070f0;
448
471
  }
449
472
 
450
- .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-childborder, .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
473
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
451
474
  border-bottom: 1px solid #0070f0;
452
475
  box-shadow: 0 0 0 0 #0070f0;
453
476
  }
@@ -173,6 +173,14 @@
173
173
  width: 20px;
174
174
  }
175
175
 
176
+ .e-bigger .e-treegrid .e-hierarchycheckbox .e-frame {
177
+ font-size: 12px;
178
+ line-height: 12px;
179
+ padding: 2px 0;
180
+ height: 20px;
181
+ width: 20px;
182
+ }
183
+
176
184
  .e-bigger .e-treegrid .e-treecell {
177
185
  line-height: 18px;
178
186
  }
@@ -251,8 +259,11 @@
251
259
  }
252
260
 
253
261
  .e-treegrid .e-hierarchycheckbox .e-frame {
254
- height: 20px;
255
- width: 20px;
262
+ font-size: 10px;
263
+ height: 16px;
264
+ line-height: 11px;
265
+ padding: 2px 0;
266
+ width: 16px;
256
267
  }
257
268
 
258
269
  .e-treegrid .e-checkselection .e-frozenheader .e-rowcell,
@@ -443,12 +454,24 @@
443
454
  border-top: 1px solid #317ab9;
444
455
  }
445
456
 
446
- .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-childborder, .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-dropbottom {
457
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-childborder {
458
+ border-bottom: 1px solid #317ab9;
459
+ border-top: 1px solid #317ab9;
460
+ box-shadow: 0 0 0 0 #317ab9;
461
+ }
462
+
463
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-childborder {
464
+ border-bottom: 1px solid #317ab9;
465
+ border-top: 1px solid #317ab9;
466
+ box-shadow: 0 0 0 0 #317ab9;
467
+ }
468
+
469
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-dropbottom {
447
470
  border-bottom: 1px solid #317ab9;
448
471
  box-shadow: 0 0 0 0 #317ab9;
449
472
  }
450
473
 
451
- .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-childborder, .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
474
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
452
475
  border-bottom: 1px solid #317ab9;
453
476
  box-shadow: 0 0 0 0 #317ab9;
454
477
  }
@@ -213,6 +213,11 @@
213
213
  width: 20px;
214
214
  }
215
215
 
216
+ .e-bigger .e-treegrid .e-hierarchycheckbox .e-frame {
217
+ height: 20px;
218
+ width: 20px;
219
+ }
220
+
216
221
  .e-bigger .e-treegrid .e-treecell {
217
222
  line-height: 16px;
218
223
  }
@@ -473,8 +478,8 @@
473
478
 
474
479
  .e-treegrid .e-grid .e-gridcontent tr.e-row:first-child td.e-rowcell.e-childborder,
475
480
  .e-treegrid .e-grid .e-gridcontent tr.e-row:first-child td.e-rowdragdrop.e-childborder {
476
- border-bottom: 1px solid #e3165b;
477
- border-top: 1px solid #e3165b;
481
+ border-bottom: 1px solid;
482
+ border-top: 1px solid;
478
483
  box-shadow: 0 0 0 0 #e3165b;
479
484
  }
480
485
 
@@ -483,12 +488,24 @@
483
488
  border-top: 1px solid #e3165b;
484
489
  }
485
490
 
486
- .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-childborder, .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-dropbottom {
491
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-childborder {
492
+ border-bottom: 1px solid;
493
+ border-top: 1px solid;
494
+ box-shadow: 0 0 0 0 #e3165b;
495
+ }
496
+
497
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-childborder {
498
+ border-bottom: 1px solid;
499
+ border-top: 1px solid;
500
+ box-shadow: 0 0 0 0 #e3165b;
501
+ }
502
+
503
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-dropbottom {
487
504
  border-bottom: 1px solid #e3165b;
488
505
  box-shadow: 0 0 0 0 #e3165b;
489
506
  }
490
507
 
491
- .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-childborder, .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
508
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
492
509
  border-bottom: 1px solid #e3165b;
493
510
  box-shadow: 0 0 0 0 #e3165b;
494
511
  }