@syncfusion/ej2-treegrid 20.1.51 → 20.1.56

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 (54) hide show
  1. package/CHANGELOG.md +16 -0
  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 +102 -19
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +101 -18
  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/context-menu.js +50 -0
  13. package/src/treegrid/actions/page.d.ts +1 -0
  14. package/src/treegrid/actions/page.js +11 -0
  15. package/src/treegrid/actions/rowdragdrop.js +2 -2
  16. package/src/treegrid/actions/selection.js +4 -2
  17. package/src/treegrid/base/treegrid.d.ts +1 -0
  18. package/src/treegrid/base/treegrid.js +22 -4
  19. package/src/treegrid/enum.d.ts +8 -2
  20. package/src/treegrid/enum.js +2 -0
  21. package/src/treegrid/models/column.d.ts +6 -6
  22. package/src/treegrid/models/column.js +6 -6
  23. package/src/treegrid/renderer/render.d.ts +4 -4
  24. package/src/treegrid/renderer/render.js +4 -4
  25. package/styles/bootstrap-dark.css +12 -95
  26. package/styles/bootstrap.css +12 -95
  27. package/styles/bootstrap4.css +12 -94
  28. package/styles/bootstrap5-dark.css +12 -94
  29. package/styles/bootstrap5.css +12 -94
  30. package/styles/fabric-dark.css +12 -93
  31. package/styles/fabric.css +12 -93
  32. package/styles/fluent-dark.css +13 -96
  33. package/styles/fluent.css +13 -96
  34. package/styles/highcontrast-light.css +10 -104
  35. package/styles/highcontrast.css +10 -104
  36. package/styles/material-dark.css +8 -84
  37. package/styles/material.css +8 -85
  38. package/styles/tailwind-dark.css +8 -82
  39. package/styles/tailwind.css +8 -82
  40. package/styles/treegrid/bootstrap-dark.css +12 -95
  41. package/styles/treegrid/bootstrap.css +12 -95
  42. package/styles/treegrid/bootstrap4.css +12 -94
  43. package/styles/treegrid/bootstrap5-dark.css +12 -94
  44. package/styles/treegrid/bootstrap5.css +12 -94
  45. package/styles/treegrid/fabric-dark.css +12 -93
  46. package/styles/treegrid/fabric.css +12 -93
  47. package/styles/treegrid/fluent-dark.css +13 -96
  48. package/styles/treegrid/fluent.css +13 -96
  49. package/styles/treegrid/highcontrast-light.css +10 -104
  50. package/styles/treegrid/highcontrast.css +10 -104
  51. package/styles/treegrid/material-dark.css +8 -84
  52. package/styles/treegrid/material.css +8 -85
  53. package/styles/treegrid/tailwind-dark.css +8 -82
  54. package/styles/treegrid/tailwind.css +8 -82
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.1.51
3
+ * version : 20.1.56
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@20.1.48",
3
+ "_id": "@syncfusion/ej2-treegrid@20.1.55",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-8wPx7RsFAoz5CZKwde0HxmCx1MYBUtZGrzI/e+at8zwvQlxMLvVJnhERqJFFhdPoZcdQga4D6tx0vGHCrfM/+Q==",
5
+ "_integrity": "sha512-A1EOCEVmqUalNcK4SjlQKCn8lUFDKfEWKUHNw3EqzLQjDxZsUMneiA8ws+zwLgX33Bm6TevapkBRBtoW5jbQzw==",
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-20.1.48.tgz",
28
- "_shasum": "e7bd8249c5a14245b20a6295bc7a8668f094da53",
27
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.1.55.tgz",
28
+ "_shasum": "ded97a9e20965294cf8792b759e1cdbeba0e8e68",
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": "~20.1.50",
40
- "@syncfusion/ej2-data": "~20.1.47",
41
- "@syncfusion/ej2-grids": "~20.1.51",
42
- "@syncfusion/ej2-popups": "~20.1.47"
39
+ "@syncfusion/ej2-base": "~20.1.56",
40
+ "@syncfusion/ej2-data": "~20.1.55",
41
+ "@syncfusion/ej2-grids": "~20.1.56",
42
+ "@syncfusion/ej2-popups": "~20.1.55"
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": "20.1.51",
63
+ "version": "20.1.56",
64
64
  "sideEffects": false
65
65
  }
@@ -33,6 +33,8 @@ var ContextMenu = /** @class */ (function () {
33
33
  ContextMenu.prototype.contextMenuOpen = function (args) {
34
34
  var addRow = select('#' + this.parent.element.id + '_gridcontrol_cmenu_AddRow', args.element);
35
35
  var editRecord = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Edit', args.element);
36
+ var indent = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Indent', args.element);
37
+ var outdent = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Outdent', args.element);
36
38
  if (addRow) {
37
39
  if (this.parent.grid.editSettings.allowAdding === false) {
38
40
  addRow.style.display = 'none';
@@ -45,6 +47,47 @@ var ContextMenu = /** @class */ (function () {
45
47
  && !(isNullOrUndefined(editRecord)) && !(editRecord.classList.contains('e-menu-hide'))) {
46
48
  editRecord.style.display = 'none';
47
49
  }
50
+ if (indent || outdent) {
51
+ var tObj = this.parent;
52
+ var selectedrow = tObj.getSelectedRows()[0];
53
+ var targetElement = args.event.target.closest('td');
54
+ if (isNullOrUndefined(targetElement) || (!isNullOrUndefined(targetElement) && !targetElement.classList.contains('e-rowcell'))) {
55
+ indent.style.display = outdent.style.display = 'none';
56
+ }
57
+ else {
58
+ if (selectedrow.rowIndex === 0 || tObj.getSelectedRowIndexes().length > 1) {
59
+ indent.style.display = outdent.style.display = 'none';
60
+ }
61
+ else if (args['name'] !== 'rowDeselected' || (!isNullOrUndefined(selectedrow) && tObj.grid.isCheckBoxSelection)) {
62
+ var selectedItem = tObj.getCurrentViewRecords()[selectedrow.rowIndex];
63
+ if (!isNullOrUndefined(selectedItem)) {
64
+ if ((selectedItem.level > tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level)) {
65
+ indent.style.display = 'none';
66
+ }
67
+ else {
68
+ indent.style.display = 'block';
69
+ }
70
+ if (selectedItem.level === tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level) {
71
+ indent.style.display = 'block';
72
+ }
73
+ if (selectedItem.level === 0) {
74
+ outdent.style.display = 'none';
75
+ }
76
+ if (selectedItem.level !== 0) {
77
+ outdent.style.display = 'block';
78
+ }
79
+ }
80
+ }
81
+ if (args['name'] === 'rowDeselected' && isNullOrUndefined(selectedrow) && !tObj.grid.isCheckBoxSelection) {
82
+ if (this.parent.toolbar['includes']('Indent')) {
83
+ indent.style.display = 'none';
84
+ }
85
+ if (this.parent.toolbar['includes']('Outdent')) {
86
+ outdent.style.display = 'none';
87
+ }
88
+ }
89
+ }
90
+ }
48
91
  };
49
92
  ContextMenu.prototype.contextMenuClick = function (args) {
50
93
  if (args.item.id === 'Above' || args.item.id === 'Below' || args.item.id === 'Child') {
@@ -52,6 +95,13 @@ var ContextMenu = /** @class */ (function () {
52
95
  this.parent.setProperties({ editSettings: { newRowPosition: args.item.id } }, true);
53
96
  this.parent.addRecord();
54
97
  }
98
+ if (args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Indent' || args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Outdent') {
99
+ if (!isNullOrUndefined(this.parent.rowDragAndDropModule)) {
100
+ var indentOutdentAction = 'indentOutdentAction';
101
+ var action = args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Indent' ? 'indent' : 'outdent';
102
+ this.parent.rowDragAndDropModule[indentOutdentAction](null, action);
103
+ }
104
+ }
55
105
  };
56
106
  /**
57
107
  * For internal use only - Get the module name.
@@ -62,5 +62,6 @@ export declare class Page {
62
62
  */
63
63
  private collapseExpandPagedchilds;
64
64
  private pageRoot;
65
+ private updatePageSize;
65
66
  private pageAction;
66
67
  }
@@ -144,6 +144,16 @@ var Page = /** @class */ (function () {
144
144
  }
145
145
  return newResults;
146
146
  };
147
+ Page.prototype.updatePageSize = function (pageingDetails) {
148
+ var updateSize = pageingDetails.result.length;
149
+ var gridPagerModule = this.parent.grid.pagerModule;
150
+ if (this.parent.pageSettings.pageSizes === true) {
151
+ if (gridPagerModule.pagerObj.pagerdropdownModule['dropDownListObject'].value === gridPagerModule.pagerObj.getLocalizedLabel('All')) {
152
+ gridPagerModule['pagerObj'].totalRecordsCount = updateSize;
153
+ this.parent.grid.pageSettings.pageSize = updateSize;
154
+ }
155
+ }
156
+ };
147
157
  Page.prototype.pageAction = function (pageingDetails) {
148
158
  var _this = this;
149
159
  var dm = new DataManager(pageingDetails.result);
@@ -180,6 +190,7 @@ var Page = /** @class */ (function () {
180
190
  pageingDetails.count = visualData.length;
181
191
  var query = new Query();
182
192
  var size = this.parent.grid.pageSettings.pageSize;
193
+ this.updatePageSize(pageingDetails);
183
194
  var current = this.parent.grid.pageSettings.currentPage;
184
195
  if (visualData.length < (current * size)) {
185
196
  current = (Math.floor(visualData.length / size)) + ((visualData.length % size) ? 1 : 0);
@@ -847,8 +847,8 @@ var RowDD = /** @class */ (function () {
847
847
  if (this.dropPosition === 'bottomSegment') {
848
848
  var primaryKeyField = this.parent.getPrimaryKeyFieldNames()[0];
849
849
  var rowIndex = selectedItemIndex === -1 ?
850
- (this.parent.grid.getRowIndexByPrimaryKey(data[0][primaryKeyField])) - 1
851
- : this.parent.getSelectedRowIndexes()[0] - 1;
850
+ (this.parent.grid.getRowIndexByPrimaryKey(data[0][primaryKeyField]))
851
+ : this.parent.getSelectedRowIndexes()[0];
852
852
  var selectedRecord = this.parent.getCurrentViewRecords()[rowIndex];
853
853
  this.droppedRecord = getParentData(this.parent, selectedRecord.parentItem.uniqueID);
854
854
  }
@@ -85,10 +85,12 @@ var Selection = /** @class */ (function () {
85
85
  Selection.prototype.getCheckboxcolumnIndex = function () {
86
86
  var mappingUid;
87
87
  var columnIndex;
88
- var columns = (this.parent.columns);
88
+ var stackedHeader = "stackedHeader";
89
+ var columnModel = 'columnModel';
90
+ var columns = this.parent[stackedHeader] ? this.parent[columnModel] : (this.parent.columns);
89
91
  for (var col = 0; col < columns.length; col++) {
90
92
  if (columns[col].showCheckbox) {
91
- mappingUid = this.parent.columns[col].uid;
93
+ mappingUid = columns[col].uid;
92
94
  }
93
95
  }
94
96
  var headerCelllength = this.parent.getHeaderContent().querySelectorAll('.e-headercelldiv').length;
@@ -104,6 +104,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
104
104
  private isEditCollapse;
105
105
  private treeColumnTextAlign;
106
106
  private treeColumnField;
107
+ private stackedHeader;
107
108
  /** @hidden */
108
109
  initialRender: boolean;
109
110
  /** @hidden */
@@ -69,6 +69,7 @@ var TreeGrid = /** @class */ (function (_super) {
69
69
  _this.addedRecords = 'addedRecords';
70
70
  _this.indentOutdentAction = 'indentOutdentAction';
71
71
  _this.modifiedRecords = [];
72
+ _this.stackedHeader = false;
72
73
  _this.objectEqualityChecker = function (old, current) {
73
74
  if (old) {
74
75
  var keys = Object.keys(old);
@@ -478,7 +479,7 @@ var TreeGrid = /** @class */ (function (_super) {
478
479
  };
479
480
  TreeGrid.prototype.extendRequiredModules = function (modules) {
480
481
  var IsRowDDInjected = this.injectedModules.filter(function (e) {
481
- return e.name === 'RowDD';
482
+ return e.prototype.getModuleName() === 'rowDragAndDrop';
482
483
  });
483
484
  if (this.allowRowDragAndDrop || IsRowDDInjected.length) {
484
485
  if ((!isNullOrUndefined(this.toolbar) && (this.toolbar['includes']('Indent') ||
@@ -1291,6 +1292,16 @@ var TreeGrid = /** @class */ (function (_super) {
1291
1292
  target: '.e-content', id: this.element.id + '_gridcontrol_cmenu_AddRow',
1292
1293
  items: [{ text: this.l10n.getConstant('Above'), id: 'Above' }, { text: this.l10n.getConstant('Below'), id: 'Below' }, { text: this.l10n.getConstant('Child'), id: 'Child' }] });
1293
1294
  break;
1295
+ case 'Indent':
1296
+ case ContextMenuItems.RowIndent:
1297
+ items.push({ text: this.l10n.getConstant('RowIndent'),
1298
+ target: '.e-content', iconCss: 'e-indent e-icons', id: this.element.id + '_gridcontrol_cmenu_Indent' });
1299
+ break;
1300
+ case 'Outdent':
1301
+ case ContextMenuItems.RowOutdent:
1302
+ items.push({ text: this.l10n.getConstant('RowOutdent'),
1303
+ target: '.e-content', iconCss: 'e-outdent e-icons', id: this.element.id + '_gridcontrol_cmenu_Outdent' });
1304
+ break;
1294
1305
  default:
1295
1306
  items.push(this.contextMenuItems[i]);
1296
1307
  }
@@ -1309,6 +1320,7 @@ var TreeGrid = /** @class */ (function (_super) {
1309
1320
  */
1310
1321
  TreeGrid.prototype.getGridToolbar = function () {
1311
1322
  if (this.toolbar) {
1323
+ this.l10n = new L10n('treegrid', this.defaultLocale, this.locale);
1312
1324
  var items = [];
1313
1325
  var tooltipText = void 0;
1314
1326
  for (var i = 0; i < this.toolbar.length; i++) {
@@ -1554,6 +1566,9 @@ var TreeGrid = /** @class */ (function (_super) {
1554
1566
  break;
1555
1567
  case 'locale':
1556
1568
  this.grid.locale = this.locale;
1569
+ this.TreeGridLocale();
1570
+ this.grid.toolbar = this.getGridToolbar();
1571
+ this.grid.contextMenuItems = this.getContextMenu();
1557
1572
  break;
1558
1573
  case 'selectedRowIndex':
1559
1574
  this.grid.selectedRowIndex = this.selectedRowIndex;
@@ -2027,6 +2042,10 @@ var TreeGrid = /** @class */ (function (_super) {
2027
2042
  */
2028
2043
  TreeGrid.prototype.getColumnByUid = function (uid) {
2029
2044
  var Columns = this.initialRender ? this.grid.columns : this.columns;
2045
+ var columnModel = 'columnModel';
2046
+ if (this.grid.columns.length !== this.columnModel.length) {
2047
+ Columns = this.grid[columnModel];
2048
+ }
2030
2049
  return iterateArrayOrObject(Columns, function (item) {
2031
2050
  if (item.uid === uid) {
2032
2051
  return item;
@@ -2154,7 +2173,6 @@ var TreeGrid = /** @class */ (function (_super) {
2154
2173
  temp = this.columnModel[this.treeColumnIndex].template;
2155
2174
  field = this.columnModel[this.treeColumnIndex].field;
2156
2175
  }
2157
- var stackedHeader = false;
2158
2176
  var gridColumn;
2159
2177
  if (!this.enableColumnVirtualization || (this.enableColumnVirtualization && this.columnModel.length === gridColumns.length)) {
2160
2178
  this.columnModel = [];
@@ -2173,9 +2191,9 @@ var TreeGrid = /** @class */ (function (_super) {
2173
2191
  var merge = 'deepMerge';
2174
2192
  this[merge] = ['columns']; // Workaround for blazor updateModel
2175
2193
  if (this.grid.columns.length !== this.columnModel.length) {
2176
- stackedHeader = true;
2194
+ this.stackedHeader = true;
2177
2195
  }
2178
- if (!stackedHeader) {
2196
+ if (!this.stackedHeader) {
2179
2197
  this.setProperties({ columns: this.columnModel }, true);
2180
2198
  }
2181
2199
  this[merge] = undefined; // Workaround for blazor updateModel
@@ -112,7 +112,11 @@ export declare type ContextMenuItem =
112
112
  /** `NextPage` - Go to the next page. */
113
113
  'NextPage' |
114
114
  /** AddRow to the TreeGrid */
115
- 'AddRow';
115
+ 'AddRow' |
116
+ /** `Indent` - Indents the record to one level of hierarchy */
117
+ 'Indent' |
118
+ /** `Outdent` - Outdent the record to one level of hierarchy */
119
+ 'Outdent';
116
120
  /**
117
121
  * Defines predefined contextmenu items.
118
122
  *
@@ -134,7 +138,9 @@ export declare enum ContextMenuItems {
134
138
  PrevPage = 12,
135
139
  LastPage = 13,
136
140
  NextPage = 14,
137
- AddRow = 15
141
+ AddRow = 15,
142
+ RowIndent = 16,
143
+ RowOutdent = 17
138
144
  }
139
145
  /**
140
146
  * Defines modes of editing.
@@ -43,4 +43,6 @@ export var ContextMenuItems;
43
43
  ContextMenuItems[ContextMenuItems["LastPage"] = 13] = "LastPage";
44
44
  ContextMenuItems[ContextMenuItems["NextPage"] = 14] = "NextPage";
45
45
  ContextMenuItems[ContextMenuItems["AddRow"] = 15] = "AddRow";
46
+ ContextMenuItems[ContextMenuItems["RowIndent"] = 16] = "RowIndent";
47
+ ContextMenuItems[ContextMenuItems["RowOutdent"] = 17] = "RowOutdent";
46
48
  })(ContextMenuItems || (ContextMenuItems = {}));
@@ -329,12 +329,12 @@ export declare class Column {
329
329
  private parent;
330
330
  constructor(options: ColumnModel);
331
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
- */
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
338
  private setProperties;
339
339
  }
340
340
  /**
@@ -72,12 +72,12 @@ var Column = /** @class */ (function () {
72
72
  merge(this, options);
73
73
  }
74
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
- */
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
81
  Column.prototype.setProperties = function (column) {
82
82
  //Angular two way binding
83
83
  var keys = Object.keys(column);
@@ -30,10 +30,10 @@ export declare class Render {
30
30
  cellRender(args: QueryCellInfoEventArgs): void;
31
31
  private updateTreeCell;
32
32
  /**
33
- * @param {string} columnUid - Defines column uid
34
- * @returns {void}
35
- * @hidden
36
- */
33
+ * @param {string} columnUid - Defines column uid
34
+ * @returns {void}
35
+ * @hidden
36
+ */
37
37
  private refreshReactColumnTemplateByUid;
38
38
  private columnTemplateResult;
39
39
  private reactTemplateRender;
@@ -276,10 +276,10 @@ var Render = /** @class */ (function () {
276
276
  }
277
277
  };
278
278
  /**
279
- * @param {string} columnUid - Defines column uid
280
- * @returns {void}
281
- * @hidden
282
- */
279
+ * @param {string} columnUid - Defines column uid
280
+ * @returns {void}
281
+ * @hidden
282
+ */
283
283
  Render.prototype.refreshReactColumnTemplateByUid = function (columnUid) {
284
284
  var _this = this;
285
285
  if (this.parent.isReact) {