@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
@@ -77,12 +77,12 @@ var Column = /** @__PURE__ @class */ (function () {
77
77
  merge(this, options);
78
78
  }
79
79
  /**
80
- * Update the State changes reflected for TreeGrid columndirective in react platform.
81
- *
82
- * @param {Column} column - specifies the column
83
- * @returns {void}
84
- * @hidden
85
- */
80
+ * Update the State changes reflected for TreeGrid columndirective in react platform.
81
+ *
82
+ * @param {Column} column - specifies the column
83
+ * @returns {void}
84
+ * @hidden
85
+ */
86
86
  Column.prototype.setProperties = function (column) {
87
87
  //Angular two way binding
88
88
  var keys = Object.keys(column);
@@ -959,10 +959,12 @@ var Selection = /** @__PURE__ @class */ (function () {
959
959
  Selection.prototype.getCheckboxcolumnIndex = function () {
960
960
  var mappingUid;
961
961
  var columnIndex;
962
- var columns = (this.parent.columns);
962
+ var stackedHeader = "stackedHeader";
963
+ var columnModel = 'columnModel';
964
+ var columns = this.parent[stackedHeader] ? this.parent[columnModel] : (this.parent.columns);
963
965
  for (var col = 0; col < columns.length; col++) {
964
966
  if (columns[col].showCheckbox) {
965
- mappingUid = this.parent.columns[col].uid;
967
+ mappingUid = columns[col].uid;
966
968
  }
967
969
  }
968
970
  var headerCelllength = this.parent.getHeaderContent().querySelectorAll('.e-headercelldiv').length;
@@ -1775,10 +1777,10 @@ var Render = /** @__PURE__ @class */ (function () {
1775
1777
  }
1776
1778
  };
1777
1779
  /**
1778
- * @param {string} columnUid - Defines column uid
1779
- * @returns {void}
1780
- * @hidden
1781
- */
1780
+ * @param {string} columnUid - Defines column uid
1781
+ * @returns {void}
1782
+ * @hidden
1783
+ */
1782
1784
  Render.prototype.refreshReactColumnTemplateByUid = function (columnUid) {
1783
1785
  var _this = this;
1784
1786
  if (this.parent.isReact) {
@@ -2456,6 +2458,8 @@ var ContextMenuItems;
2456
2458
  ContextMenuItems[ContextMenuItems["LastPage"] = 13] = "LastPage";
2457
2459
  ContextMenuItems[ContextMenuItems["NextPage"] = 14] = "NextPage";
2458
2460
  ContextMenuItems[ContextMenuItems["AddRow"] = 15] = "AddRow";
2461
+ ContextMenuItems[ContextMenuItems["RowIndent"] = 16] = "RowIndent";
2462
+ ContextMenuItems[ContextMenuItems["RowOutdent"] = 17] = "RowOutdent";
2459
2463
  })(ContextMenuItems || (ContextMenuItems = {}));
2460
2464
 
2461
2465
  var __extends$7 = (undefined && undefined.__extends) || (function () {
@@ -3228,6 +3232,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
3228
3232
  _this.addedRecords = 'addedRecords';
3229
3233
  _this.indentOutdentAction = 'indentOutdentAction';
3230
3234
  _this.modifiedRecords = [];
3235
+ _this.stackedHeader = false;
3231
3236
  _this.objectEqualityChecker = function (old, current) {
3232
3237
  if (old) {
3233
3238
  var keys = Object.keys(old);
@@ -3637,7 +3642,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
3637
3642
  };
3638
3643
  TreeGrid.prototype.extendRequiredModules = function (modules) {
3639
3644
  var IsRowDDInjected = this.injectedModules.filter(function (e) {
3640
- return e.name === 'RowDD';
3645
+ return e.prototype.getModuleName() === 'rowDragAndDrop';
3641
3646
  });
3642
3647
  if (this.allowRowDragAndDrop || IsRowDDInjected.length) {
3643
3648
  if ((!isNullOrUndefined(this.toolbar) && (this.toolbar['includes']('Indent') ||
@@ -4450,6 +4455,16 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4450
4455
  target: '.e-content', id: this.element.id + '_gridcontrol_cmenu_AddRow',
4451
4456
  items: [{ text: this.l10n.getConstant('Above'), id: 'Above' }, { text: this.l10n.getConstant('Below'), id: 'Below' }, { text: this.l10n.getConstant('Child'), id: 'Child' }] });
4452
4457
  break;
4458
+ case 'Indent':
4459
+ case ContextMenuItems.RowIndent:
4460
+ items.push({ text: this.l10n.getConstant('RowIndent'),
4461
+ target: '.e-content', iconCss: 'e-indent e-icons', id: this.element.id + '_gridcontrol_cmenu_Indent' });
4462
+ break;
4463
+ case 'Outdent':
4464
+ case ContextMenuItems.RowOutdent:
4465
+ items.push({ text: this.l10n.getConstant('RowOutdent'),
4466
+ target: '.e-content', iconCss: 'e-outdent e-icons', id: this.element.id + '_gridcontrol_cmenu_Outdent' });
4467
+ break;
4453
4468
  default:
4454
4469
  items.push(this.contextMenuItems[i]);
4455
4470
  }
@@ -4468,6 +4483,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4468
4483
  */
4469
4484
  TreeGrid.prototype.getGridToolbar = function () {
4470
4485
  if (this.toolbar) {
4486
+ this.l10n = new L10n('treegrid', this.defaultLocale, this.locale);
4471
4487
  var items = [];
4472
4488
  var tooltipText = void 0;
4473
4489
  for (var i = 0; i < this.toolbar.length; i++) {
@@ -4713,6 +4729,9 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4713
4729
  break;
4714
4730
  case 'locale':
4715
4731
  this.grid.locale = this.locale;
4732
+ this.TreeGridLocale();
4733
+ this.grid.toolbar = this.getGridToolbar();
4734
+ this.grid.contextMenuItems = this.getContextMenu();
4716
4735
  break;
4717
4736
  case 'selectedRowIndex':
4718
4737
  this.grid.selectedRowIndex = this.selectedRowIndex;
@@ -5186,6 +5205,10 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5186
5205
  */
5187
5206
  TreeGrid.prototype.getColumnByUid = function (uid) {
5188
5207
  var Columns = this.initialRender ? this.grid.columns : this.columns;
5208
+ var columnModel = 'columnModel';
5209
+ if (this.grid.columns.length !== this.columnModel.length) {
5210
+ Columns = this.grid[columnModel];
5211
+ }
5189
5212
  return iterateArrayOrObject(Columns, function (item) {
5190
5213
  if (item.uid === uid) {
5191
5214
  return item;
@@ -5313,7 +5336,6 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5313
5336
  temp = this.columnModel[this.treeColumnIndex].template;
5314
5337
  field = this.columnModel[this.treeColumnIndex].field;
5315
5338
  }
5316
- var stackedHeader = false;
5317
5339
  var gridColumn;
5318
5340
  if (!this.enableColumnVirtualization || (this.enableColumnVirtualization && this.columnModel.length === gridColumns.length)) {
5319
5341
  this.columnModel = [];
@@ -5332,9 +5354,9 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5332
5354
  var merge$$1 = 'deepMerge';
5333
5355
  this[merge$$1] = ['columns']; // Workaround for blazor updateModel
5334
5356
  if (this.grid.columns.length !== this.columnModel.length) {
5335
- stackedHeader = true;
5357
+ this.stackedHeader = true;
5336
5358
  }
5337
- if (!stackedHeader) {
5359
+ if (!this.stackedHeader) {
5338
5360
  this.setProperties({ columns: this.columnModel }, true);
5339
5361
  }
5340
5362
  this[merge$$1] = undefined; // Workaround for blazor updateModel
@@ -8012,8 +8034,8 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
8012
8034
  if (this.dropPosition === 'bottomSegment') {
8013
8035
  var primaryKeyField = this.parent.getPrimaryKeyFieldNames()[0];
8014
8036
  var rowIndex = selectedItemIndex === -1 ?
8015
- (this.parent.grid.getRowIndexByPrimaryKey(data[0][primaryKeyField])) - 1
8016
- : this.parent.getSelectedRowIndexes()[0] - 1;
8037
+ (this.parent.grid.getRowIndexByPrimaryKey(data[0][primaryKeyField]))
8038
+ : this.parent.getSelectedRowIndexes()[0];
8017
8039
  var selectedRecord = this.parent.getCurrentViewRecords()[rowIndex];
8018
8040
  this.droppedRecord = getParentData(this.parent, selectedRecord.parentItem.uniqueID);
8019
8041
  }
@@ -9371,6 +9393,16 @@ var Page$1 = /** @__PURE__ @class */ (function () {
9371
9393
  }
9372
9394
  return newResults;
9373
9395
  };
9396
+ Page$$1.prototype.updatePageSize = function (pageingDetails) {
9397
+ var updateSize = pageingDetails.result.length;
9398
+ var gridPagerModule = this.parent.grid.pagerModule;
9399
+ if (this.parent.pageSettings.pageSizes === true) {
9400
+ if (gridPagerModule.pagerObj.pagerdropdownModule['dropDownListObject'].value === gridPagerModule.pagerObj.getLocalizedLabel('All')) {
9401
+ gridPagerModule['pagerObj'].totalRecordsCount = updateSize;
9402
+ this.parent.grid.pageSettings.pageSize = updateSize;
9403
+ }
9404
+ }
9405
+ };
9374
9406
  Page$$1.prototype.pageAction = function (pageingDetails) {
9375
9407
  var _this = this;
9376
9408
  var dm = new DataManager(pageingDetails.result);
@@ -9407,6 +9439,7 @@ var Page$1 = /** @__PURE__ @class */ (function () {
9407
9439
  pageingDetails.count = visualData.length;
9408
9440
  var query = new Query();
9409
9441
  var size = this.parent.grid.pageSettings.pageSize;
9442
+ this.updatePageSize(pageingDetails);
9410
9443
  var current = this.parent.grid.pageSettings.currentPage;
9411
9444
  if (visualData.length < (current * size)) {
9412
9445
  current = (Math.floor(visualData.length / size)) + ((visualData.length % size) ? 1 : 0);
@@ -9995,6 +10028,8 @@ var ContextMenu$1 = /** @__PURE__ @class */ (function () {
9995
10028
  ContextMenu$$1.prototype.contextMenuOpen = function (args) {
9996
10029
  var addRow = select('#' + this.parent.element.id + '_gridcontrol_cmenu_AddRow', args.element);
9997
10030
  var editRecord = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Edit', args.element);
10031
+ var indent = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Indent', args.element);
10032
+ var outdent = select('#' + this.parent.element.id + '_gridcontrol_cmenu_Outdent', args.element);
9998
10033
  if (addRow) {
9999
10034
  if (this.parent.grid.editSettings.allowAdding === false) {
10000
10035
  addRow.style.display = 'none';
@@ -10007,6 +10042,47 @@ var ContextMenu$1 = /** @__PURE__ @class */ (function () {
10007
10042
  && !(isNullOrUndefined(editRecord)) && !(editRecord.classList.contains('e-menu-hide'))) {
10008
10043
  editRecord.style.display = 'none';
10009
10044
  }
10045
+ if (indent || outdent) {
10046
+ var tObj = this.parent;
10047
+ var selectedrow = tObj.getSelectedRows()[0];
10048
+ var targetElement = args.event.target.closest('td');
10049
+ if (isNullOrUndefined(targetElement) || (!isNullOrUndefined(targetElement) && !targetElement.classList.contains('e-rowcell'))) {
10050
+ indent.style.display = outdent.style.display = 'none';
10051
+ }
10052
+ else {
10053
+ if (selectedrow.rowIndex === 0 || tObj.getSelectedRowIndexes().length > 1) {
10054
+ indent.style.display = outdent.style.display = 'none';
10055
+ }
10056
+ else if (args['name'] !== 'rowDeselected' || (!isNullOrUndefined(selectedrow) && tObj.grid.isCheckBoxSelection)) {
10057
+ var selectedItem = tObj.getCurrentViewRecords()[selectedrow.rowIndex];
10058
+ if (!isNullOrUndefined(selectedItem)) {
10059
+ if ((selectedItem.level > tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level)) {
10060
+ indent.style.display = 'none';
10061
+ }
10062
+ else {
10063
+ indent.style.display = 'block';
10064
+ }
10065
+ if (selectedItem.level === tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level) {
10066
+ indent.style.display = 'block';
10067
+ }
10068
+ if (selectedItem.level === 0) {
10069
+ outdent.style.display = 'none';
10070
+ }
10071
+ if (selectedItem.level !== 0) {
10072
+ outdent.style.display = 'block';
10073
+ }
10074
+ }
10075
+ }
10076
+ if (args['name'] === 'rowDeselected' && isNullOrUndefined(selectedrow) && !tObj.grid.isCheckBoxSelection) {
10077
+ if (this.parent.toolbar['includes']('Indent')) {
10078
+ indent.style.display = 'none';
10079
+ }
10080
+ if (this.parent.toolbar['includes']('Outdent')) {
10081
+ outdent.style.display = 'none';
10082
+ }
10083
+ }
10084
+ }
10085
+ }
10010
10086
  };
10011
10087
  ContextMenu$$1.prototype.contextMenuClick = function (args) {
10012
10088
  if (args.item.id === 'Above' || args.item.id === 'Below' || args.item.id === 'Child') {
@@ -10014,6 +10090,13 @@ var ContextMenu$1 = /** @__PURE__ @class */ (function () {
10014
10090
  this.parent.setProperties({ editSettings: { newRowPosition: args.item.id } }, true);
10015
10091
  this.parent.addRecord();
10016
10092
  }
10093
+ if (args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Indent' || args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Outdent') {
10094
+ if (!isNullOrUndefined(this.parent.rowDragAndDropModule)) {
10095
+ var indentOutdentAction = 'indentOutdentAction';
10096
+ var action = args.item.id === this.parent.element.id + '_gridcontrol_cmenu_Indent' ? 'indent' : 'outdent';
10097
+ this.parent.rowDragAndDropModule[indentOutdentAction](null, action);
10098
+ }
10099
+ }
10017
10100
  };
10018
10101
  /**
10019
10102
  * For internal use only - Get the module name.