@syncfusion/ej2-treegrid 20.1.56 → 20.1.59

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.
@@ -884,7 +884,7 @@ class Selection {
884
884
  getCheckboxcolumnIndex() {
885
885
  let mappingUid;
886
886
  let columnIndex;
887
- const stackedHeader = "stackedHeader";
887
+ const stackedHeader = 'stackedHeader';
888
888
  const columnModel = 'columnModel';
889
889
  const columns = this.parent[stackedHeader] ? this.parent[columnModel] : (this.parent.columns);
890
890
  for (let col = 0; col < columns.length; col++) {
@@ -1271,6 +1271,100 @@ class Selection {
1271
1271
  }
1272
1272
  }
1273
1273
 
1274
+ /**
1275
+ * TreeGrid Freeze module
1276
+ *
1277
+ * @hidden
1278
+ */
1279
+ class Freeze$1 {
1280
+ /**
1281
+ * Constructor for render module
1282
+ *
1283
+ * @param {TreeGrid} parent - Tree Grid instance
1284
+ */
1285
+ constructor(parent) {
1286
+ Grid.Inject(Freeze);
1287
+ this.parent = parent;
1288
+ this.addEventListener();
1289
+ }
1290
+ addEventListener() {
1291
+ this.parent.on('rowExpandCollapse', this.rowExpandCollapse, this);
1292
+ this.parent.on('dataBoundArg', this.dataBoundArg, this);
1293
+ this.parent.grid.on('dblclick', this.dblClickHandler, this);
1294
+ }
1295
+ removeEventListener() {
1296
+ if (this.parent.isDestroyed) {
1297
+ return;
1298
+ }
1299
+ this.parent.off('rowExpandCollapse', this.rowExpandCollapse);
1300
+ this.parent.off('dataBoundArg', this.dataBoundArg);
1301
+ this.parent.grid.off('dblclick', this.dblClickHandler);
1302
+ }
1303
+ rowExpandCollapse(args) {
1304
+ const movableRows = this.parent.getMovableDataRows();
1305
+ const frozenrows = this.parent.getRows();
1306
+ let rows;
1307
+ let frozenRightRows;
1308
+ const freeze = (this.parent.getFrozenLeftColumnsCount() > 0 ||
1309
+ this.parent.getFrozenRightColumnsCount() > 0) ? true : false;
1310
+ if (freeze) {
1311
+ frozenRightRows = this.parent.getFrozenRightRows().filter((e) => e.querySelector('.e-gridrowindex' + args.record.index + 'level' + (args.record.level + 1)));
1312
+ }
1313
+ if (!args.detailrows.length) {
1314
+ rows = movableRows.filter((e) => e.querySelector('.e-gridrowindex' + args.record.index + 'level' + (args.record.level + 1)));
1315
+ }
1316
+ else {
1317
+ rows = args.detailrows;
1318
+ }
1319
+ for (let i = 0; i < rows.length; i++) {
1320
+ const rData = this.parent.grid.getRowObjectFromUID(rows[i].getAttribute('data-Uid')).data;
1321
+ rows[i].style.display = args.action;
1322
+ if (freeze) {
1323
+ frozenRightRows[i].style.display = args.action;
1324
+ }
1325
+ const queryselector = args.action === 'none' ? '.e-treecolumn-container .e-treegridcollapse'
1326
+ : '.e-treecolumn-container .e-treegridexpand';
1327
+ if (frozenrows[rows[i].rowIndex].querySelector(queryselector)) {
1328
+ const cRow = [];
1329
+ for (let i = 0; i < movableRows.length; i++) {
1330
+ if (movableRows[i].querySelector('.e-gridrowindex' + rData.index + 'level' + (rData.level + 1))) {
1331
+ cRow.push(movableRows[i]);
1332
+ }
1333
+ }
1334
+ if (cRow.length) {
1335
+ this.rowExpandCollapse({ detailrows: cRow, action: args.action });
1336
+ }
1337
+ }
1338
+ }
1339
+ }
1340
+ dblClickHandler(e) {
1341
+ if (parentsUntil(e.target, 'e-rowcell') &&
1342
+ this.parent.grid.editSettings.allowEditOnDblClick && this.parent.editSettings.mode !== 'Cell') {
1343
+ this.parent.grid.editModule.startEdit(parentsUntil(e.target, 'e-row'));
1344
+ }
1345
+ }
1346
+ dataBoundArg() {
1347
+ const checkboxColumn = this.parent.getColumns().filter((e) => {
1348
+ return e.showCheckbox;
1349
+ });
1350
+ if (checkboxColumn.length && this.parent.freezeModule && this.parent.initialRender) {
1351
+ addClass([this.parent.element.getElementsByClassName('e-grid')[0]], 'e-checkselection');
1352
+ }
1353
+ }
1354
+ destroy() {
1355
+ this.removeEventListener();
1356
+ }
1357
+ /**
1358
+ * For internal use only - Get the module name.
1359
+ *
1360
+ * @private
1361
+ * @returns {string} Returns Freeze module name
1362
+ */
1363
+ getModuleName() {
1364
+ return 'freeze';
1365
+ }
1366
+ }
1367
+
1274
1368
  /**
1275
1369
  * TreeGrid Print module
1276
1370
  *
@@ -3317,6 +3411,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3317
3411
  requiredModules() {
3318
3412
  const modules = [];
3319
3413
  const splitFrozenCount = 'splitFrozenCount';
3414
+ this.freezeModule = new Freeze$1(this);
3320
3415
  this.grid[splitFrozenCount](this.getGridColumns(this.columns));
3321
3416
  if (this.isDestroyed) {
3322
3417
  return modules;
@@ -3368,7 +3463,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3368
3463
  });
3369
3464
  }
3370
3465
  if (this.frozenColumns || this.frozenRows || this.getFrozenColumns() ||
3371
- this.grid.getFrozenLeftColumnsCount() || this.grid.getFrozenRightColumnsCount()) {
3466
+ this.grid.getFrozenLeftColumnsCount() || this.grid.getFrozenRightColumnsCount() || this.freezeModule) {
3372
3467
  modules.push({
3373
3468
  member: 'freeze', args: [this]
3374
3469
  });
@@ -10919,11 +11014,13 @@ class Edit$1 {
10919
11014
  updateIndex(data, rows, records) {
10920
11015
  for (let j = 0; j < this.parent.getDataRows().length; j++) {
10921
11016
  const data1 = records[j];
10922
- const index = getValue('uniqueIDCollection.' + data1.uniqueID + '.index', this.parent);
10923
- data1.index = index;
10924
- if (!isNullOrUndefined(data1.parentItem)) {
10925
- const parentIndex = getValue('uniqueIDCollection.' + data1.parentItem.uniqueID + '.index', this.parent);
10926
- data1.parentItem.index = parentIndex;
11017
+ if (!isNullOrUndefined(data1)) {
11018
+ const index = getValue('uniqueIDCollection.' + data1.uniqueID + '.index', this.parent);
11019
+ data1.index = index;
11020
+ if (!isNullOrUndefined(data1.parentItem)) {
11021
+ const parentIndex = getValue('uniqueIDCollection.' + data1.parentItem.uniqueID + '.index', this.parent);
11022
+ data1.parentItem.index = parentIndex;
11023
+ }
10927
11024
  }
10928
11025
  }
10929
11026
  let count = -1;
@@ -10942,32 +11039,34 @@ class Edit$1 {
10942
11039
  count++;
10943
11040
  }
10944
11041
  const data2 = records[count];
10945
- let index = data2.index;
10946
- const level = data2.level;
10947
- const row = rows[k];
10948
- if (!isNullOrUndefined(data2.parentItem)) {
10949
- index = getValue('uniqueIDCollection.' + data2.parentItem.uniqueID + '.index', this.parent);
10950
- }
10951
- const treecell = row.cells[treeColIndex];
10952
- if (!isNullOrUndefined(treecell)) {
10953
- for (let l = 0; l < treecell.classList.length; l++) {
10954
- const value = treecell.classList[l];
10955
- const remove$$1 = /e-gridrowindex/i;
10956
- const removed = /e-griddetailrowindex/i;
10957
- const result = value.match(remove$$1);
10958
- const results = value.match(removed);
10959
- if (result != null) {
10960
- removeClass([treecell], value);
10961
- }
10962
- if (results != null) {
10963
- removeClass([treecell], value);
10964
- }
10965
- }
10966
- if (!rows[k].classList.contains('e-detailrow')) {
10967
- addClass([treecell], 'e-gridrowindex' + index + 'level' + level);
10968
- }
10969
- else {
10970
- addClass([treecell], 'e-griddetailrowindex' + index + 'level' + level);
11042
+ if (!isNullOrUndefined(data2)) {
11043
+ let index = data2.index;
11044
+ const level = data2.level;
11045
+ const row = rows[k];
11046
+ if (!isNullOrUndefined(data2.parentItem)) {
11047
+ index = getValue('uniqueIDCollection.' + data2.parentItem.uniqueID + '.index', this.parent);
11048
+ }
11049
+ const treecell = row.cells[treeColIndex];
11050
+ if (!isNullOrUndefined(treecell)) {
11051
+ for (let l = 0; l < treecell.classList.length; l++) {
11052
+ const value = treecell.classList[l];
11053
+ const remove$$1 = /e-gridrowindex/i;
11054
+ const removed = /e-griddetailrowindex/i;
11055
+ const result = value.match(remove$$1);
11056
+ const results = value.match(removed);
11057
+ if (result != null) {
11058
+ removeClass([treecell], value);
11059
+ }
11060
+ if (results != null) {
11061
+ removeClass([treecell], value);
11062
+ }
11063
+ }
11064
+ if (!rows[k].classList.contains('e-detailrow')) {
11065
+ addClass([treecell], 'e-gridrowindex' + index + 'level' + level);
11066
+ }
11067
+ else {
11068
+ addClass([treecell], 'e-griddetailrowindex' + index + 'level' + level);
11069
+ }
10971
11070
  }
10972
11071
  }
10973
11072
  }
@@ -12260,100 +12359,6 @@ class TreeVirtual extends VirtualScroll {
12260
12359
  }
12261
12360
  }
12262
12361
 
12263
- /**
12264
- * TreeGrid Freeze module
12265
- *
12266
- * @hidden
12267
- */
12268
- class Freeze$1 {
12269
- /**
12270
- * Constructor for render module
12271
- *
12272
- * @param {TreeGrid} parent - Tree Grid instance
12273
- */
12274
- constructor(parent) {
12275
- Grid.Inject(Freeze);
12276
- this.parent = parent;
12277
- this.addEventListener();
12278
- }
12279
- addEventListener() {
12280
- this.parent.on('rowExpandCollapse', this.rowExpandCollapse, this);
12281
- this.parent.on('dataBoundArg', this.dataBoundArg, this);
12282
- this.parent.grid.on('dblclick', this.dblClickHandler, this);
12283
- }
12284
- removeEventListener() {
12285
- if (this.parent.isDestroyed) {
12286
- return;
12287
- }
12288
- this.parent.off('rowExpandCollapse', this.rowExpandCollapse);
12289
- this.parent.off('dataBoundArg', this.dataBoundArg);
12290
- this.parent.grid.off('dblclick', this.dblClickHandler);
12291
- }
12292
- rowExpandCollapse(args) {
12293
- const movableRows = this.parent.getMovableDataRows();
12294
- const frozenrows = this.parent.getRows();
12295
- let rows;
12296
- let frozenRightRows;
12297
- const freeze = (this.parent.getFrozenLeftColumnsCount() > 0 ||
12298
- this.parent.getFrozenRightColumnsCount() > 0) ? true : false;
12299
- if (freeze) {
12300
- frozenRightRows = this.parent.getFrozenRightRows().filter((e) => e.querySelector('.e-gridrowindex' + args.record.index + 'level' + (args.record.level + 1)));
12301
- }
12302
- if (!args.detailrows.length) {
12303
- rows = movableRows.filter((e) => e.querySelector('.e-gridrowindex' + args.record.index + 'level' + (args.record.level + 1)));
12304
- }
12305
- else {
12306
- rows = args.detailrows;
12307
- }
12308
- for (let i = 0; i < rows.length; i++) {
12309
- const rData = this.parent.grid.getRowObjectFromUID(rows[i].getAttribute('data-Uid')).data;
12310
- rows[i].style.display = args.action;
12311
- if (freeze) {
12312
- frozenRightRows[i].style.display = args.action;
12313
- }
12314
- const queryselector = args.action === 'none' ? '.e-treecolumn-container .e-treegridcollapse'
12315
- : '.e-treecolumn-container .e-treegridexpand';
12316
- if (frozenrows[rows[i].rowIndex].querySelector(queryselector)) {
12317
- const cRow = [];
12318
- for (let i = 0; i < movableRows.length; i++) {
12319
- if (movableRows[i].querySelector('.e-gridrowindex' + rData.index + 'level' + (rData.level + 1))) {
12320
- cRow.push(movableRows[i]);
12321
- }
12322
- }
12323
- if (cRow.length) {
12324
- this.rowExpandCollapse({ detailrows: cRow, action: args.action });
12325
- }
12326
- }
12327
- }
12328
- }
12329
- dblClickHandler(e) {
12330
- if (parentsUntil(e.target, 'e-rowcell') &&
12331
- this.parent.grid.editSettings.allowEditOnDblClick && this.parent.editSettings.mode !== 'Cell') {
12332
- this.parent.grid.editModule.startEdit(parentsUntil(e.target, 'e-row'));
12333
- }
12334
- }
12335
- dataBoundArg() {
12336
- const checkboxColumn = this.parent.getColumns().filter((e) => {
12337
- return e.showCheckbox;
12338
- });
12339
- if (checkboxColumn.length && this.parent.freezeModule && this.parent.initialRender) {
12340
- addClass([this.parent.element.getElementsByClassName('e-grid')[0]], 'e-checkselection');
12341
- }
12342
- }
12343
- destroy() {
12344
- this.removeEventListener();
12345
- }
12346
- /**
12347
- * For internal use only - Get the module name.
12348
- *
12349
- * @private
12350
- * @returns {string} Returns Freeze module name
12351
- */
12352
- getModuleName() {
12353
- return 'freeze';
12354
- }
12355
- }
12356
-
12357
12362
  /**
12358
12363
  * TreeGrid ColumnChooser module
12359
12364
  *
@@ -12684,7 +12689,7 @@ class InfiniteScroll$1 {
12684
12689
  if (getValue('selectedIndex', this.parent.editModule) !== -1 && this.parent.editSettings.newRowPosition !== 'Top') {
12685
12690
  if (this.parent.editSettings.newRowPosition === 'Below' || this.parent.editSettings.newRowPosition === 'Child') {
12686
12691
  position = 'after';
12687
- newRowIndex += findChildrenRecords(currentData[newRowIndex + 1]).length;
12692
+ newRowIndex += findChildrenRecords(currentData[newRowIndex]).length;
12688
12693
  if (this.parent.editSettings.newRowPosition === 'Child') {
12689
12694
  newRowIndex -= 1; //// for child position already child record is added in childRecords so subtracting 1
12690
12695
  }