igniteui-angular 12.3.27 → 12.3.28

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 (25) hide show
  1. package/bundles/igniteui-angular.umd.js +146 -148
  2. package/bundles/igniteui-angular.umd.js.map +1 -1
  3. package/esm2015/lib/grids/api.service.js +2 -2
  4. package/esm2015/lib/grids/columns/column.component.js +5 -5
  5. package/esm2015/lib/grids/grid/grid.component.js +11 -11
  6. package/esm2015/lib/grids/grid-base.directive.js +72 -76
  7. package/esm2015/lib/grids/grid-mrl-navigation.service.js +2 -2
  8. package/esm2015/lib/grids/grid-public-row.js +3 -3
  9. package/esm2015/lib/grids/grouping/group-by-area.directive.js +1 -1
  10. package/esm2015/lib/grids/grouping/tree-grid-group-by-area.component.js +6 -6
  11. package/esm2015/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.js +4 -5
  12. package/esm2015/lib/grids/hierarchical-grid/hierarchical-grid.component.js +23 -14
  13. package/esm2015/lib/grids/hierarchical-grid/row-island.component.js +7 -11
  14. package/esm2015/lib/grids/state.directive.js +12 -9
  15. package/esm2015/lib/grids/summaries/grid-summary.service.js +5 -5
  16. package/esm2015/lib/grids/tree-grid/tree-grid.component.js +7 -7
  17. package/esm2015/lib/services/exporter-common/base-export-service.js +3 -3
  18. package/fesm2015/igniteui-angular.js +148 -144
  19. package/fesm2015/igniteui-angular.js.map +1 -1
  20. package/igniteui-angular.metadata.json +1 -1
  21. package/lib/grids/grid-base.directive.d.ts +9 -13
  22. package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
  23. package/lib/grids/hierarchical-grid/row-island.component.d.ts +1 -0
  24. package/lib/grids/tree-grid/tree-grid.component.d.ts +2 -2
  25. package/package.json +1 -1
@@ -7658,7 +7658,7 @@
7658
7658
  this.destroyMap = new Map();
7659
7659
  }
7660
7660
  GridBaseAPIService.prototype.get_column_by_name = function (name) {
7661
- return this.grid.columnList.find(function (col) { return col.field === name; });
7661
+ return this.grid.columns.find(function (col) { return col.field === name; });
7662
7662
  };
7663
7663
  GridBaseAPIService.prototype.get_summary_data = function () {
7664
7664
  var grid = this.grid;
@@ -11855,8 +11855,7 @@
11855
11855
  IgxColumnComponent.prototype.move = function (index) {
11856
11856
  var _this = this;
11857
11857
  var target;
11858
- var grid = this.grid;
11859
- var columns = grid.columnList.filter(function (c) { return c.visibleIndex > -1; });
11858
+ var columns = this.grid.columns.filter(function (c) { return c.visibleIndex > -1; });
11860
11859
  // grid last visible index
11861
11860
  var li = columns.map(function (c) { return c.visibleIndex; }).reduce(function (a, b) { return Math.max(a, b); });
11862
11861
  var parent = this.parent;
@@ -11874,7 +11873,8 @@
11874
11873
  /* eslint-enable max-len */
11875
11874
  if (isPreceding) {
11876
11875
  columns = columns.filter(function (c) { return c.visibleIndex > _this.visibleIndex; });
11877
- target = columns.find(function (c) { return c.level === _this.level && c.visibleIndex + c.calcChildren() - _this.calcChildren() === index; });
11876
+ target = columns.find(function (c) { return c.level === _this.level &&
11877
+ c.visibleIndex + c.calcChildren() - _this.calcChildren() === index; });
11878
11878
  }
11879
11879
  else {
11880
11880
  columns = columns.filter(function (c) { return c.visibleIndex < _this.visibleIndex; });
@@ -11884,7 +11884,7 @@
11884
11884
  return;
11885
11885
  }
11886
11886
  var pos = isPreceding ? DropPosition.AfterDropTarget : DropPosition.BeforeDropTarget;
11887
- grid.moveColumn(this, target, pos);
11887
+ this.grid.moveColumn(this, target, pos);
11888
11888
  };
11889
11889
  /**
11890
11890
  * No children for the column, so will returns 1 or 0, if the column is hidden.
@@ -12900,7 +12900,7 @@
12900
12900
  throw Error('No options provided!');
12901
12901
  }
12902
12902
  this.options = options;
12903
- var columns = grid.columnList.toArray();
12903
+ var columns = grid.columns;
12904
12904
  if (this.options.ignoreMultiColumnHeaders) {
12905
12905
  columns = columns.filter(function (col) { return col.children === undefined; });
12906
12906
  }
@@ -13658,7 +13658,7 @@
13658
13658
  columnList = this.getAutoGeneratedColumns(islandData);
13659
13659
  }
13660
13660
  else {
13661
- var islandColumnList = island.childColumns.toArray();
13661
+ var islandColumnList = island.columns;
13662
13662
  columnList = this.getColumns(islandColumnList);
13663
13663
  }
13664
13664
  this._ownersMap.set(island, columnList);
@@ -49494,7 +49494,7 @@
49494
49494
  this.removeSummaries(rowID);
49495
49495
  }
49496
49496
  if (args.rowID !== undefined && args.rowID !== null) {
49497
- var columnName = args.cellID ? this.grid.columnList.find(function (col) { return col.index === args.cellID.columnID; }).field : undefined;
49497
+ var columnName = args.cellID ? this.grid.columns.find(function (col) { return col.index === args.cellID.columnID; }).field : undefined;
49498
49498
  if (columnName && this.grid.rowEditable) {
49499
49499
  return;
49500
49500
  }
@@ -49552,7 +49552,7 @@
49552
49552
  return this.summaryHeight = 0;
49553
49553
  }
49554
49554
  var maxSummaryLength = 0;
49555
- this.grid.columnList.filter(function (col) { return col.hasSummary && !col.hidden; }).forEach(function (column) {
49555
+ this.grid.columns.filter(function (col) { return col.hasSummary && !col.hidden; }).forEach(function (column) {
49556
49556
  var getCurrentSummaryColumn = column.summaries.operate([], [], column.field).length;
49557
49557
  if (getCurrentSummaryColumn) {
49558
49558
  if (maxSummaryLength < getCurrentSummaryColumn) {
@@ -49574,7 +49574,7 @@
49574
49574
  if (!this.hasSummarizedColumns || !data) {
49575
49575
  return rowSummaries;
49576
49576
  }
49577
- this.grid.columnList.filter(function (col) { return col.hasSummary; }).forEach(function (column) {
49577
+ this.grid.columns.filter(function (col) { return col.hasSummary; }).forEach(function (column) {
49578
49578
  if (!rowSummaries.get(column.field)) {
49579
49579
  var summaryResult = column.summaries.operate(data.map(function (r) { return resolveNestedPath(r, column.field); }), data, column.field, _this.grid.locale, column.pipeArgs);
49580
49580
  rowSummaries.set(column.field, summaryResult);
@@ -49610,7 +49610,7 @@
49610
49610
  };
49611
49611
  Object.defineProperty(IgxGridSummaryService.prototype, "hasSummarizedColumns", {
49612
49612
  get: function () {
49613
- var summarizedColumns = this.grid.columnList.filter(function (col) { return col.hasSummary && !col.hidden; });
49613
+ var summarizedColumns = this.grid.columns.filter(function (col) { return col.hasSummary && !col.hidden; });
49614
49614
  return summarizedColumns.length > 0;
49615
49615
  },
49616
49616
  enumerable: false,
@@ -57140,8 +57140,8 @@
57140
57140
  get: function () {
57141
57141
  if (this._maxLevelHeaderDepth === null) {
57142
57142
  this._maxLevelHeaderDepth = this.hasColumnLayouts ?
57143
- this.columnList.reduce(function (acc, col) { return Math.max(acc, col.rowStart); }, 0) :
57144
- this.columnList.reduce(function (acc, col) { return Math.max(acc, col.level); }, 0);
57143
+ this._columns.reduce(function (acc, col) { return Math.max(acc, col.rowStart); }, 0) :
57144
+ this._columns.reduce(function (acc, col) { return Math.max(acc, col.level); }, 0);
57145
57145
  }
57146
57146
  return this._maxLevelHeaderDepth;
57147
57147
  },
@@ -57158,7 +57158,7 @@
57158
57158
  * ``
57159
57159
  */
57160
57160
  get: function () {
57161
- return this.columnList.filter(function (col) { return col.columnGroup === false && col.hidden === true; }).length;
57161
+ return this._columns.filter(function (col) { return col.columnGroup === false && col.hidden === true; }).length;
57162
57162
  },
57163
57163
  enumerable: false,
57164
57164
  configurable: true
@@ -58005,14 +58005,14 @@
58005
58005
  * @internal
58006
58006
  */
58007
58007
  IgxGridBaseDirective.prototype.resetColumnsCaches = function () {
58008
- this.columnList.forEach(function (column) { return column.resetCaches(); });
58008
+ this._columns.forEach(function (column) { return column.resetCaches(); });
58009
58009
  };
58010
58010
  /**
58011
58011
  * @hidden @internal
58012
58012
  */
58013
58013
  IgxGridBaseDirective.prototype.generateRowID = function () {
58014
58014
  var _this = this;
58015
- var primaryColumn = this.columnList.find(function (col) { return col.field === _this.primaryKey; });
58015
+ var primaryColumn = this._columns.find(function (col) { return col.field === _this.primaryKey; });
58016
58016
  var idType = this.data.length ?
58017
58017
  this.resolveDataTypes(this.data[0][this.primaryKey]) : primaryColumn ? primaryColumn.dataType : 'string';
58018
58018
  return idType === 'string' ? uuid.v4() : FAKE_ROW_ID--;
@@ -58080,7 +58080,7 @@
58080
58080
  this.resetColumnCollections();
58081
58081
  this.resetCachedWidths();
58082
58082
  this.hasVisibleColumns = undefined;
58083
- this._columnGroups = this.columnList.some(function (col) { return col.columnGroup; });
58083
+ this._columnGroups = this._columns.some(function (col) { return col.columnGroup; });
58084
58084
  };
58085
58085
  /**
58086
58086
  * @hidden
@@ -58315,7 +58315,7 @@
58315
58315
  * ```
58316
58316
  */
58317
58317
  IgxGridBaseDirective.prototype.toggleColumnVisibility = function (args) {
58318
- var col = args.column ? this.columnList.find(function (c) { return c === args.column; }) : undefined;
58318
+ var col = args.column ? this._columns.find(function (c) { return c === args.column; }) : undefined;
58319
58319
  if (!col) {
58320
58320
  return;
58321
58321
  }
@@ -58593,17 +58593,6 @@
58593
58593
  configurable: true
58594
58594
  });
58595
58595
  Object.defineProperty(IgxGridBaseDirective.prototype, "columns", {
58596
- /**
58597
- * @hidden
58598
- * @internal
58599
- */
58600
- get: function () {
58601
- return this._columns;
58602
- },
58603
- enumerable: false,
58604
- configurable: true
58605
- });
58606
- Object.defineProperty(IgxGridBaseDirective.prototype, "columnsCollection", {
58607
58596
  /**
58608
58597
  * Gets an array of `IgxColumnComponent`s.
58609
58598
  *
@@ -58613,7 +58602,7 @@
58613
58602
  * ```
58614
58603
  */
58615
58604
  get: function () {
58616
- return this._rendered ? this._columns : [];
58605
+ return this._columns || [];
58617
58606
  },
58618
58607
  enumerable: false,
58619
58608
  configurable: true
@@ -58695,7 +58684,7 @@
58695
58684
  * @param name
58696
58685
  */
58697
58686
  IgxGridBaseDirective.prototype.getColumnByName = function (name) {
58698
- return this.columnList.find(function (col) { return col.field === name; });
58687
+ return this._columns.find(function (col) { return col.field === name; });
58699
58688
  };
58700
58689
  IgxGridBaseDirective.prototype.getColumnByVisibleIndex = function (index) {
58701
58690
  return this.visibleColumns.find(function (col) { return !col.columnGroup && !col.columnLayout &&
@@ -58714,7 +58703,7 @@
58714
58703
  if (this._visibleColumns.length) {
58715
58704
  return this._visibleColumns;
58716
58705
  }
58717
- this._visibleColumns = this.columnList.filter(function (c) { return !c.hidden; });
58706
+ this._visibleColumns = this._columns.filter(function (c) { return !c.hidden; });
58718
58707
  return this._visibleColumns;
58719
58708
  },
58720
58709
  enumerable: false,
@@ -58873,7 +58862,7 @@
58873
58862
  * @internal
58874
58863
  */
58875
58864
  get: function () {
58876
- return this.rowEditable && this.dataView.length === 0 && this.columns.length > 0;
58865
+ return this.rowEditable && this.dataView.length === 0 && this._columns.length > 0;
58877
58866
  },
58878
58867
  enumerable: false,
58879
58868
  configurable: true
@@ -58884,7 +58873,7 @@
58884
58873
  * @internal
58885
58874
  */
58886
58875
  get: function () {
58887
- return this.rowDraggable && this.columns.length > this.hiddenColumnsCount;
58876
+ return this.rowDraggable && this._columns.length > this.hiddenColumnsCount;
58888
58877
  },
58889
58878
  enumerable: false,
58890
58879
  configurable: true
@@ -58925,12 +58914,12 @@
58925
58914
  var index = pos === DropPosition.AfterDropTarget ? unpinnedIndex + 1 : unpinnedIndex;
58926
58915
  columnPinStateChanged = column.unpin(index);
58927
58916
  }
58928
- if (target.pinned && column.pinned && !columnPinStateChanged) {
58929
- this._reorderColumns(column, target, pos, this._pinnedColumns);
58930
- }
58931
- if (!target.pinned && !column.pinned && !columnPinStateChanged) {
58932
- this._reorderColumns(column, target, pos, this._unpinnedColumns);
58933
- }
58917
+ // if (target.pinned && column.pinned && !columnPinStateChanged) {
58918
+ // this._reorderColumns(column, target, pos, this._pinnedColumns);
58919
+ // }
58920
+ // if (!target.pinned && !column.pinned && !columnPinStateChanged) {
58921
+ // this._reorderColumns(column, target, pos, this._unpinnedColumns);
58922
+ // }
58934
58923
  this._moveColumns(column, target, pos);
58935
58924
  this._columnsReordered(column);
58936
58925
  };
@@ -59048,7 +59037,7 @@
59048
59037
  */
59049
59038
  IgxGridBaseDirective.prototype.updateCell = function (value, rowSelector, column) {
59050
59039
  if (this.isDefined(this.primaryKey)) {
59051
- var col = this.columnList.toArray().find(function (c) { return c.field === column; });
59040
+ var col = this._columns.find(function (c) { return c.field === column; });
59052
59041
  if (col) {
59053
59042
  // Simplify
59054
59043
  var rowData = this.gridAPI.getRowData(rowSelector);
@@ -59531,7 +59520,7 @@
59531
59520
  * ```
59532
59521
  */
59533
59522
  get: function () {
59534
- return this.columnList.some(function (col) { return col.sortable; });
59523
+ return this._columns.some(function (col) { return col.sortable; });
59535
59524
  },
59536
59525
  enumerable: false,
59537
59526
  configurable: true
@@ -59546,7 +59535,7 @@
59546
59535
  * ```
59547
59536
  */
59548
59537
  get: function () {
59549
- return this.columnList.some(function (col) { return col.editable; });
59538
+ return this._columns.some(function (col) { return col.editable; });
59550
59539
  },
59551
59540
  enumerable: false,
59552
59541
  configurable: true
@@ -59561,7 +59550,7 @@
59561
59550
  * ```
59562
59551
  */
59563
59552
  get: function () {
59564
- return this.columnList.some(function (col) { return col.filterable; });
59553
+ return this._columns.some(function (col) { return col.filterable; });
59565
59554
  },
59566
59555
  enumerable: false,
59567
59556
  configurable: true
@@ -59576,7 +59565,7 @@
59576
59565
  * ```
59577
59566
  */
59578
59567
  get: function () {
59579
- var summarizedColumns = this.columnList.filter(function (col) { return col.hasSummary && !col.hidden; });
59568
+ var summarizedColumns = this._columns.filter(function (col) { return col.hasSummary && !col.hidden; });
59580
59569
  return summarizedColumns.length > 0;
59581
59570
  },
59582
59571
  enumerable: false,
@@ -59598,7 +59587,7 @@
59598
59587
  */
59599
59588
  get: function () {
59600
59589
  if (this._hasVisibleColumns === undefined) {
59601
- return this.columnList ? this.columnList.some(function (c) { return !c.hidden; }) : false;
59590
+ return this._columns ? this._columns.some(function (c) { return !c.hidden; }) : false;
59602
59591
  }
59603
59592
  return this._hasVisibleColumns;
59604
59593
  },
@@ -59618,7 +59607,7 @@
59618
59607
  * ```
59619
59608
  */
59620
59609
  get: function () {
59621
- return this.columnList && this.columnList.some(function (col) { return col.movable; });
59610
+ return this.columns && this.columns.some(function (col) { return col.movable; });
59622
59611
  },
59623
59612
  enumerable: false,
59624
59613
  configurable: true
@@ -59648,7 +59637,7 @@
59648
59637
  * ```
59649
59638
  */
59650
59639
  get: function () {
59651
- return !!this.columnList.some(function (col) { return col.columnLayout; });
59640
+ return !!this._columns.some(function (col) { return col.columnLayout; });
59652
59641
  },
59653
59642
  enumerable: false,
59654
59643
  configurable: true
@@ -60178,7 +60167,7 @@
60178
60167
  * ```
60179
60168
  */
60180
60169
  IgxGridBaseDirective.prototype.selectAllColumns = function () {
60181
- this.selectColumns(this.columnList.filter(function (c) { return !c.columnGroup; }));
60170
+ this.selectColumns(this._columns.filter(function (c) { return !c.columnGroup; }));
60182
60171
  };
60183
60172
  /**
60184
60173
  *
@@ -60303,7 +60292,7 @@
60303
60292
  var _a;
60304
60293
  var totalItems = (_a = this.totalItemCount) !== null && _a !== void 0 ? _a : this.dataView.length - 1;
60305
60294
  if (rowIndex < 0 || rowIndex > totalItems || (visibleColIndex !== -1
60306
- && this.columnList.map(function (col) { return col.visibleIndex; }).indexOf(visibleColIndex) === -1)) {
60295
+ && this._columns.map(function (col) { return col.visibleIndex; }).indexOf(visibleColIndex) === -1)) {
60307
60296
  return;
60308
60297
  }
60309
60298
  if (this.dataView.slice(rowIndex, rowIndex + 1).find(function (rec) { return rec.expression || rec.childGridsData; })) {
@@ -60350,7 +60339,7 @@
60350
60339
  */
60351
60340
  IgxGridBaseDirective.prototype.getNextCell = function (currRowIndex, curVisibleColIndex, callback) {
60352
60341
  if (callback === void 0) { callback = null; }
60353
- var columns = this.columnList.filter(function (col) { return !col.columnGroup && col.visibleIndex >= 0; });
60342
+ var columns = this._columns.filter(function (col) { return !col.columnGroup && col.visibleIndex >= 0; });
60354
60343
  var dataViewIndex = this._getDataViewIndex(currRowIndex);
60355
60344
  if (!this.isValidPosition(dataViewIndex, curVisibleColIndex)) {
60356
60345
  return { rowIndex: currRowIndex, visibleColumnIndex: curVisibleColIndex };
@@ -60386,7 +60375,7 @@
60386
60375
  */
60387
60376
  IgxGridBaseDirective.prototype.getPreviousCell = function (currRowIndex, curVisibleColIndex, callback) {
60388
60377
  if (callback === void 0) { callback = null; }
60389
- var columns = this.columnList.filter(function (col) { return !col.columnGroup && col.visibleIndex >= 0; });
60378
+ var columns = this._columns.filter(function (col) { return !col.columnGroup && col.visibleIndex >= 0; });
60390
60379
  var dataViewIndex = this._getDataViewIndex(currRowIndex);
60391
60380
  if (!this.isValidPosition(dataViewIndex, curVisibleColIndex)) {
60392
60381
  return { rowIndex: currRowIndex, visibleColumnIndex: curVisibleColIndex };
@@ -60657,21 +60646,6 @@
60657
60646
  console.warn('The row with the specified PK or index is outside of the current data view.');
60658
60647
  }
60659
60648
  };
60660
- /**
60661
- * Update internal column's collection.
60662
- *
60663
- * @hidden
60664
- */
60665
- IgxGridBaseDirective.prototype.updateColumns = function (newColumns) {
60666
- var _this = this;
60667
- // update internal collections to retain order.
60668
- this._pinnedColumns = newColumns
60669
- .filter(function (c) { return c.pinned; }).sort(function (a, b) { return _this._pinnedColumns.indexOf(a) - _this._pinnedColumns.indexOf(b); });
60670
- this._unpinnedColumns = newColumns.filter(function (c) { return !c.pinned; });
60671
- this.columnList.reset(newColumns);
60672
- this.columnList.notifyOnChanges();
60673
- this._columns = this.columnList.toArray();
60674
- };
60675
60649
  /**
60676
60650
  * Enters add mode by spawning the UI at the specified index.
60677
60651
  *
@@ -60689,6 +60663,19 @@
60689
60663
  }
60690
60664
  return this.beginAddRowById(this.gridAPI.get_rec_id_by_index(index - 1, this.dataView));
60691
60665
  };
60666
+ /**
60667
+ * Update internal column's collection.
60668
+ *
60669
+ * @hidden
60670
+ */
60671
+ IgxGridBaseDirective.prototype.updateColumns = function (newColumns) {
60672
+ // update internal collections to retain order.
60673
+ this._pinnedColumns = newColumns
60674
+ .filter(function (c) { return c.pinned; });
60675
+ this._unpinnedColumns = newColumns.filter(function (c) { return !c.pinned; });
60676
+ this._columns = newColumns;
60677
+ this.resetCaches();
60678
+ };
60692
60679
  IgxGridBaseDirective.prototype.beginAddRowForIndex = function (index, asChild) {
60693
60680
  if (asChild === void 0) { asChild = false; }
60694
60681
  var row = index == null ?
@@ -60841,7 +60828,7 @@
60841
60828
  if (!this.columnWidthSetByUser) {
60842
60829
  this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() : MINIMUM_COLUMN_WIDTH + 'px';
60843
60830
  }
60844
- this.columnList.forEach(function (column) {
60831
+ this._columns.forEach(function (column) {
60845
60832
  if (_this.hasColumnLayouts && parseInt(_this._columnWidth, 10)) {
60846
60833
  var columnWidthCombined = parseInt(_this._columnWidth, 10) * (column.colEnd ? column.colEnd - column.colStart : 1);
60847
60834
  column.defaultWidth = columnWidthCombined + 'px';
@@ -60893,7 +60880,8 @@
60893
60880
  * @hidden
60894
60881
  */
60895
60882
  IgxGridBaseDirective.prototype._moveColumns = function (from, to, pos) {
60896
- var list = this.columnList.toArray();
60883
+ var orderedList = this._pinnedColumns.concat(this._unpinnedColumns);
60884
+ var list = orderedList;
60897
60885
  this._reorderColumns(from, to, pos, list);
60898
60886
  var newList = this._resetColumnList(list);
60899
60887
  this.updateColumns(newList);
@@ -60903,7 +60891,7 @@
60903
60891
  */
60904
60892
  IgxGridBaseDirective.prototype._resetColumnList = function (list) {
60905
60893
  if (!list) {
60906
- list = this.columnList.toArray();
60894
+ list = this._columns;
60907
60895
  }
60908
60896
  var newList = [];
60909
60897
  list.filter(function (c) { return c.level === 0; }).forEach(function (p) {
@@ -60950,7 +60938,10 @@
60950
60938
  if (this.autoGenerate) {
60951
60939
  this.autogenerateColumns();
60952
60940
  }
60953
- this.initColumns(this.columnList, function (col) { return _this.columnInit.emit(col); });
60941
+ else {
60942
+ this._columns = this.getColumnList();
60943
+ }
60944
+ this.initColumns(this._columns, function (col) { return _this.columnInit.emit(col); });
60954
60945
  this.columnListDiffer.diff(this.columnList);
60955
60946
  this.columnList.changes
60956
60947
  .pipe(operators.takeUntil(this.destroy$))
@@ -60958,6 +60949,9 @@
60958
60949
  _this.onColumnsChanged(change);
60959
60950
  });
60960
60951
  };
60952
+ IgxGridBaseDirective.prototype.getColumnList = function () {
60953
+ return this.columnList.toArray();
60954
+ };
60961
60955
  /**
60962
60956
  * @hidden
60963
60957
  */
@@ -61000,10 +60994,10 @@
61000
60994
  IgxGridBaseDirective.prototype.onColumnsChanged = function (change) {
61001
60995
  var _this = this;
61002
60996
  var diff = this.columnListDiffer.diff(change);
61003
- if (this.autoGenerate && this.columnList.length === 0 && this._autoGeneratedCols.length > 0) {
60997
+ if (this.autoGenerate && this._columns.length === 0 && this._autoGeneratedCols.length > 0) {
61004
60998
  // In Ivy if there are nested conditional templates the content children are re-evaluated
61005
60999
  // hence autogenerated columns are cleared and need to be reset.
61006
- this.columnList.reset(this._autoGeneratedCols);
61000
+ this.updateColumns(this._autoGeneratedCols);
61007
61001
  return;
61008
61002
  }
61009
61003
  if (diff) {
@@ -61018,7 +61012,7 @@
61018
61012
  _this._unpinnedColumns.push(record.item);
61019
61013
  }
61020
61014
  });
61021
- this.initColumns(this.columnList, function (col) { return _this.columnInit.emit(col); });
61015
+ this.initColumns(this.columnList.toArray(), function (col) { return _this.columnInit.emit(col); });
61022
61016
  diff.forEachRemovedItem(function (record) {
61023
61017
  var isColumnGroup = record.item instanceof IgxColumnGroupComponent;
61024
61018
  if (!isColumnGroup) {
@@ -61324,7 +61318,7 @@
61324
61318
  columns.push(ref.instance);
61325
61319
  });
61326
61320
  this._autoGeneratedCols = columns;
61327
- this.columnList.reset(columns);
61321
+ this.updateColumns(columns);
61328
61322
  if (data && data.length > 0) {
61329
61323
  this.shouldGenerate = false;
61330
61324
  }
@@ -61352,10 +61346,10 @@
61352
61346
  IgxGridBaseDirective.prototype.initColumns = function (collection, cb) {
61353
61347
  var _this = this;
61354
61348
  if (cb === void 0) { cb = null; }
61355
- this._columnGroups = this.columnList.some(function (col) { return col.columnGroup; });
61349
+ this._columnGroups = collection.some(function (col) { return col.columnGroup; });
61356
61350
  if (this.hasColumnLayouts) {
61357
61351
  // Set overall row layout size
61358
- this.columnList.forEach(function (col) {
61352
+ collection.forEach(function (col) {
61359
61353
  if (col.columnLayout) {
61360
61354
  var layoutSize = col.children ?
61361
61355
  col.children.reduce(function (acc, val) { return Math.max(val.rowStart + val.gridRowSpan - 1, acc); }, 1) :
@@ -61367,18 +61361,17 @@
61367
61361
  if (this.hasColumnLayouts && this.hasColumnGroups) {
61368
61362
  // invalid configuration - multi-row and column groups
61369
61363
  // remove column groups
61370
- var columnLayoutColumns = this.columnList.filter(function (col) { return col.columnLayout || col.columnLayoutChild; });
61371
- this.columnList.reset(columnLayoutColumns);
61364
+ var columnLayoutColumns = collection.filter(function (col) { return col.columnLayout || col.columnLayoutChild; });
61365
+ collection = columnLayoutColumns;
61372
61366
  }
61373
61367
  this._maxLevelHeaderDepth = null;
61374
- this._columns = this.columnList.toArray();
61375
61368
  collection.forEach(function (column) {
61376
61369
  column.defaultWidth = _this.columnWidthSetByUser ? _this._columnWidth : column.defaultWidth ? column.defaultWidth : '';
61377
61370
  if (cb) {
61378
61371
  cb(column);
61379
61372
  }
61380
61373
  });
61381
- this.reinitPinStates();
61374
+ this.updateColumns(collection);
61382
61375
  if (this.hasColumnLayouts) {
61383
61376
  collection.forEach(function (column) {
61384
61377
  column.populateVisibleIndexes();
@@ -61390,13 +61383,11 @@
61390
61383
  */
61391
61384
  IgxGridBaseDirective.prototype.reinitPinStates = function () {
61392
61385
  var _this = this;
61393
- this._pinnedColumns = this.columnList
61394
- .filter(function (c) { return c.pinned; })
61395
- .sort(function (a, b) { return _this._pinnedColumns.indexOf(a) - _this._pinnedColumns.indexOf(b); });
61396
- this._unpinnedColumns = this.hasColumnGroups ? this.columnList.filter(function (c) { return !c.pinned; }) :
61397
- this.columnList.filter(function (c) { return !c.pinned; })
61398
- .sort(function (a, b) { return _this._unpinnedColumns.findIndex(function (x) { return x.field === a.field; }) -
61399
- _this._unpinnedColumns.findIndex(function (x) { return x.field === b.field; }); });
61386
+ this._pinnedColumns = this._columns
61387
+ .filter(function (c) { return c.pinned; }).sort(function (a, b) { return _this._pinnedColumns.indexOf(a) - _this._pinnedColumns.indexOf(b); });
61388
+ this._unpinnedColumns = this.hasColumnGroups ? this._columns.filter(function (c) { return !c.pinned; }) :
61389
+ this._columns.filter(function (c) { return !c.pinned; })
61390
+ .sort(function (a, b) { return _this._unpinnedColumns.indexOf(a) - _this._unpinnedColumns.indexOf(b); });
61400
61391
  };
61401
61392
  IgxGridBaseDirective.prototype.extractDataFromSelection = function (source, formatters, headers, columnData) {
61402
61393
  var e_4, _h, e_5, _j, e_6, _k;
@@ -61785,7 +61776,7 @@
61785
61776
  IgxGridBaseDirective.prototype._columnsReordered = function (column) {
61786
61777
  this.notifyChanges();
61787
61778
  if (this.hasColumnLayouts) {
61788
- this.columns.filter(function (x) { return x.columnLayout; }).forEach(function (x) { return x.populateVisibleIndexes(); });
61779
+ this._columns.filter(function (x) { return x.columnLayout; }).forEach(function (x) { return x.populateVisibleIndexes(); });
61789
61780
  }
61790
61781
  // after reordering is done reset cached column collections.
61791
61782
  this.resetColumnCollections();
@@ -61953,7 +61944,7 @@
61953
61944
  };
61954
61945
  IgxGridBaseDirective.prototype.isValidPosition = function (rowIndex, colIndex) {
61955
61946
  var rows = this.summariesRowList.filter(function (s) { return s.index !== 0; }).concat(this.rowList.toArray()).length;
61956
- var cols = this.columnList.filter(function (col) { return !col.columnGroup && col.visibleIndex >= 0 && !col.hidden; }).length;
61947
+ var cols = this._columns.filter(function (col) { return !col.columnGroup && col.visibleIndex >= 0 && !col.hidden; }).length;
61957
61948
  if (rows < 1 || cols < 1) {
61958
61949
  return false;
61959
61950
  }
@@ -62573,7 +62564,7 @@
62573
62564
  get: function () {
62574
62565
  var _this = this;
62575
62566
  var res = [];
62576
- this.grid.columnList.forEach(function (col) {
62567
+ this.grid.columns.forEach(function (col) {
62577
62568
  var cell = new IgxGridCell(_this.grid, _this.index, col.field);
62578
62569
  res.push(cell);
62579
62570
  });
@@ -62953,7 +62944,7 @@
62953
62944
  get: function () {
62954
62945
  var _this = this;
62955
62946
  var res = [];
62956
- this.grid.columnList.forEach(function (col) {
62947
+ this.grid.columns.forEach(function (col) {
62957
62948
  var cell = new IgxGridCell(_this.grid, _this.index, col.field);
62958
62949
  res.push(cell);
62959
62950
  });
@@ -69155,7 +69146,7 @@
69155
69146
  col.visibleIndex > _this.activeNode.column && col.colStart > _this.activeNode.layout.colStart; });
69156
69147
  if (!column || (previous && this.activeNode.layout.colStart === 1)) {
69157
69148
  var index_1 = previous ? parent.visibleIndex - 1 : parent.visibleIndex + 1;
69158
- var children = this.grid.columnList.find(function (cols) { return cols.columnLayout && cols.visibleIndex === index_1; }).children;
69149
+ var children = this.grid.columns.find(function (cols) { return cols.columnLayout && cols.visibleIndex === index_1; }).children;
69159
69150
  column = previous ? children.toArray().reverse().find(function (child) { return child.rowStart <= _this.activeNode.layout.rowStart; }) :
69160
69151
  children.find(function (child) { return _this.rowEnd(child) > _this.activeNode.layout.rowStart && child.colStart === 1; });
69161
69152
  }
@@ -69637,7 +69628,7 @@
69637
69628
  // setter called before grid is registered in grid API service
69638
69629
  this.sortingExpressions.unshift.apply(this.sortingExpressions, this._groupingExpressions);
69639
69630
  }
69640
- if (!this._init && JSON.stringify(oldExpressions) !== JSON.stringify(newExpressions) && this.columnList) {
69631
+ if (!this._init && JSON.stringify(oldExpressions) !== JSON.stringify(newExpressions) && this._columns) {
69641
69632
  var groupedCols_1 = [];
69642
69633
  var ungroupedCols_1 = [];
69643
69634
  var groupedColsArr = newExpressions.filter(function (obj) { return !oldExpressions.some(function (obj2) { return obj.fieldName === obj2.fieldName; }); });
@@ -69709,7 +69700,7 @@
69709
69700
  else {
69710
69701
  this.groupingDiffer = null;
69711
69702
  }
69712
- if (this.columnList && this.groupingExpressions) {
69703
+ if (this._columns && this.groupingExpressions) {
69713
69704
  this._setGroupColsVisibility(value);
69714
69705
  }
69715
69706
  this._hideGroupedColumns = value;
@@ -69775,7 +69766,7 @@
69775
69766
  IgxGridComponent.prototype.getCellByColumnVisibleIndex = function (rowIndex, index) {
69776
69767
  var _a;
69777
69768
  var row = this.getRowByIndex(rowIndex);
69778
- var column = this.columnList.find(function (col) { return col.visibleIndex === index; });
69769
+ var column = this._columns.find(function (col) { return col.visibleIndex === index; });
69779
69770
  if (row && row instanceof IgxGridRow && !((_a = row.data) === null || _a === void 0 ? void 0 : _a.detailsData) && column) {
69780
69771
  return new IgxGridCell(this, rowIndex, column.field);
69781
69772
  }
@@ -70066,7 +70057,7 @@
70066
70057
  * ```
70067
70058
  */
70068
70059
  get: function () {
70069
- return this.columnList.some(function (col) { return col.groupable && !col.columnGroup; });
70060
+ return this._columns.some(function (col) { return col.groupable && !col.columnGroup; });
70070
70061
  },
70071
70062
  enumerable: false,
70072
70063
  configurable: true
@@ -70207,7 +70198,7 @@
70207
70198
  this._groupRowTemplate = this.groupTemplate.template;
70208
70199
  }
70209
70200
  this.detailTemplate.changes.subscribe(function () { return _this.trackChanges = function (_, rec) { return ((rec === null || rec === void 0 ? void 0 : rec.detailsData) !== undefined ? rec.detailsData : rec); }; });
70210
- if (this.hideGroupedColumns && this.columnList && this.groupingExpressions) {
70201
+ if (this.hideGroupedColumns && this._columns && this.groupingExpressions) {
70211
70202
  this._setGroupColsVisibility(this.hideGroupedColumns);
70212
70203
  }
70213
70204
  this._setupNavigationService();
@@ -70258,9 +70249,9 @@
70258
70249
  */
70259
70250
  IgxGridComponent.prototype.ngDoCheck = function () {
70260
70251
  var _this = this;
70261
- if (this.groupingDiffer && this.columnList && !this.hasColumnLayouts) {
70252
+ if (this.groupingDiffer && this._columns && !this.hasColumnLayouts) {
70262
70253
  var changes = this.groupingDiffer.diff(this.groupingExpressions);
70263
- if (changes && this.columnList.length > 0) {
70254
+ if (changes && this._columns.length > 0) {
70264
70255
  changes.forEachAddedItem(function (rec) {
70265
70256
  var col = _this.getColumnByName(rec.item.fieldName);
70266
70257
  if (col) {
@@ -70403,7 +70394,7 @@
70403
70394
  IgxGridComponent.prototype.getCellByColumn = function (rowIndex, columnField) {
70404
70395
  var _a;
70405
70396
  var row = this.getRowByIndex(rowIndex);
70406
- var column = this.columnList.find(function (col) { return col.field === columnField; });
70397
+ var column = this._columns.find(function (col) { return col.field === columnField; });
70407
70398
  if (row && row instanceof IgxGridRow && !((_a = row.data) === null || _a === void 0 ? void 0 : _a.detailsData) && column) {
70408
70399
  if (this.pagingMode === 1 && this.gridAPI.grid.page !== 0) {
70409
70400
  row.index = rowIndex + this.paginator.perPage * this.paginator.page;
@@ -70425,7 +70416,7 @@
70425
70416
  */
70426
70417
  IgxGridComponent.prototype.getCellByKey = function (rowSelector, columnField) {
70427
70418
  var row = this.getRowByKey(rowSelector);
70428
- var column = this.columnList.find(function (col) { return col.field === columnField; });
70419
+ var column = this._columns.find(function (col) { return col.field === columnField; });
70429
70420
  if (row && column) {
70430
70421
  return new IgxGridCell(this, row.index, columnField);
70431
70422
  }
@@ -70542,7 +70533,7 @@
70542
70533
  };
70543
70534
  IgxGridComponent.prototype._setGroupColsVisibility = function (value) {
70544
70535
  var _this = this;
70545
- if (this.columnList.length > 0 && !this.hasColumnLayouts) {
70536
+ if (this._columns.length > 0 && !this.hasColumnLayouts) {
70546
70537
  this.groupingExpressions.forEach(function (expr) {
70547
70538
  var col = _this.getColumnByName(expr.fieldName);
70548
70539
  col.hidden = value;
@@ -70756,6 +70747,9 @@
70756
70747
  }
70757
70748
  });
70758
70749
  context.grid.updateColumns(newColumns);
70750
+ newColumns.forEach(function (col) {
70751
+ context.grid.columnInit.emit(col);
70752
+ });
70759
70753
  }
70760
70754
  },
70761
70755
  groupBy: {
@@ -71002,17 +70996,14 @@
71002
70996
  * The method that calls corresponding methods to restore features from the passed IGridState object.
71003
70997
  */
71004
70998
  IgxGridStateDirective.prototype.restoreGridState = function (state, features) {
71005
- var _this = this;
71006
70999
  // TODO Notify the grid that columnList.changes is triggered by the state directive
71007
71000
  // instead of piping it like below
71008
71001
  var columns = 'columns';
71009
- this.grid.columnList.changes.pipe(operators.delay(0), operators.take(1)).subscribe(function () {
71010
- _this.featureKeys = _this.featureKeys.filter(function (f) { return f !== columns; });
71011
- _this.restoreFeatures(state);
71012
- });
71013
71002
  this.applyFeatures(features);
71014
71003
  if (this.featureKeys.includes(columns) && this.options[columns] && state[columns]) {
71015
71004
  this.getFeature(columns).restoreFeatureState(this, state[columns]);
71005
+ this.featureKeys = this.featureKeys.filter(function (f) { return f !== columns; });
71006
+ this.restoreFeatures(state);
71016
71007
  }
71017
71008
  else {
71018
71009
  this.restoreFeatures(state);
@@ -71076,8 +71067,8 @@
71076
71067
  else {
71077
71068
  var expr_1 = item;
71078
71069
  var dataType = void 0;
71079
- if (this_1.currGrid.columnList.length > 0) {
71080
- dataType = this_1.currGrid.columnList.find(function (c) { return c.field === expr_1.fieldName; }).dataType;
71070
+ if (this_1.currGrid.columns.length > 0) {
71071
+ dataType = this_1.currGrid.columns.find(function (c) { return c.field === expr_1.fieldName; }).dataType;
71081
71072
  }
71082
71073
  else if (this_1.state.columns) {
71083
71074
  dataType = this_1.state.columns.find(function (c) { return c.field === expr_1.fieldName; }).dataType;
@@ -71132,6 +71123,9 @@
71132
71123
  case GridColumnDataType.Date:
71133
71124
  filters = IgxDateFilteringOperand.instance();
71134
71125
  break;
71126
+ case GridColumnDataType.DateTime:
71127
+ filters = IgxDateTimeFilteringOperand.instance();
71128
+ break;
71135
71129
  case GridColumnDataType.String:
71136
71130
  default:
71137
71131
  filters = IgxStringFilteringOperand.instance();
@@ -73439,7 +73433,7 @@
73439
73433
  return this._hideGroupedColumns;
73440
73434
  },
73441
73435
  set: function (value) {
73442
- if (this.grid.columnList && this.expressions) {
73436
+ if (this.grid.columns && this.expressions) {
73443
73437
  this.setColumnsVisibility(value);
73444
73438
  }
73445
73439
  this._hideGroupedColumns = value;
@@ -73449,7 +73443,7 @@
73449
73443
  });
73450
73444
  IgxTreeGridGroupByAreaComponent.prototype.ngAfterContentInit = function () {
73451
73445
  var _this = this;
73452
- if (this.grid.columnList && this.expressions) {
73446
+ if (this.grid.columns && this.expressions) {
73453
73447
  this.groupingDiffer = this.differs.find(this.expressions).create();
73454
73448
  this.updateColumnsVisibility();
73455
73449
  }
@@ -73529,9 +73523,9 @@
73529
73523
  };
73530
73524
  IgxTreeGridGroupByAreaComponent.prototype.updateColumnsVisibility = function () {
73531
73525
  var _this = this;
73532
- if (this.groupingDiffer && this.grid.columnList && !this.grid.hasColumnLayouts) {
73526
+ if (this.groupingDiffer && this.grid.columns && !this.grid.hasColumnLayouts) {
73533
73527
  var changes = this.groupingDiffer.diff(this.expressions);
73534
- if (changes && this.grid.columnList.length > 0) {
73528
+ if (changes && this.grid.columns.length > 0) {
73535
73529
  changes.forEachAddedItem(function (rec) {
73536
73530
  var col = _this.grid.getColumnByName(rec.item.fieldName);
73537
73531
  col.hidden = _this.hideGroupedColumns;
@@ -73545,7 +73539,7 @@
73545
73539
  };
73546
73540
  IgxTreeGridGroupByAreaComponent.prototype.setColumnsVisibility = function (value) {
73547
73541
  var _this = this;
73548
- if (this.grid.columnList.length > 0 && !this.grid.hasColumnLayouts) {
73542
+ if (this.grid.columns.length > 0 && !this.grid.hasColumnLayouts) {
73549
73543
  this.expressions.forEach(function (expr) {
73550
73544
  var col = _this.grid.getColumnByName(expr.fieldName);
73551
73545
  col.hidden = value;
@@ -73796,7 +73790,7 @@
73796
73790
  */
73797
73791
  IgxTreeGridComponent.prototype.getCellByColumnVisibleIndex = function (rowIndex, index) {
73798
73792
  var row = this.getRowByIndex(rowIndex);
73799
- var column = this.columnList.find(function (col) { return col.visibleIndex === index; });
73793
+ var column = this.columns.find(function (col) { return col.visibleIndex === index; });
73800
73794
  if (row && row instanceof IgxTreeGridRow && column) {
73801
73795
  return new IgxGridCell(this, rowIndex, column.field);
73802
73796
  }
@@ -74143,7 +74137,7 @@
74143
74137
  */
74144
74138
  IgxTreeGridComponent.prototype.getCellByColumn = function (rowIndex, columnField) {
74145
74139
  var row = this.getRowByIndex(rowIndex);
74146
- var column = this.columnList.find(function (col) { return col.field === columnField; });
74140
+ var column = this.columns.find(function (col) { return col.field === columnField; });
74147
74141
  if (row && row instanceof IgxTreeGridRow && column) {
74148
74142
  return new IgxGridCell(this, rowIndex, columnField);
74149
74143
  }
@@ -74162,7 +74156,7 @@
74162
74156
  */
74163
74157
  IgxTreeGridComponent.prototype.getCellByKey = function (rowSelector, columnField) {
74164
74158
  var row = this.getRowByKey(rowSelector);
74165
- var column = this.columnList.find(function (col) { return col.field === columnField; });
74159
+ var column = this.columns.find(function (col) { return col.field === columnField; });
74166
74160
  if (row && column) {
74167
74161
  return new IgxGridCell(this, row.index, columnField);
74168
74162
  }
@@ -74222,7 +74216,7 @@
74222
74216
  * ```
74223
74217
  */
74224
74218
  get: function () {
74225
- return this.columnList.some(function (col) { return col.groupable && !col.columnGroup; });
74219
+ return this.columns.some(function (col) { return col.groupable && !col.columnGroup; });
74226
74220
  },
74227
74221
  enumerable: false,
74228
74222
  configurable: true
@@ -74319,8 +74313,8 @@
74319
74313
  if (this.hasColumnLayouts) {
74320
74314
  // invalid configuration - tree grid should not allow column layouts
74321
74315
  // remove column layouts
74322
- var nonColumnLayoutColumns = this.columnList.filter(function (col) { return !col.columnLayout && !col.columnLayoutChild; });
74323
- this.columnList.reset(nonColumnLayoutColumns);
74316
+ var nonColumnLayoutColumns = this.columns.filter(function (col) { return !col.columnLayout && !col.columnLayoutChild; });
74317
+ this.updateColumns(nonColumnLayoutColumns);
74324
74318
  }
74325
74319
  _super.prototype.initColumns.call(this, collection, cb);
74326
74320
  };
@@ -76103,7 +76097,7 @@
76103
76097
  */
76104
76098
  get: function () {
76105
76099
  if (this._maxLevelHeaderDepth === null) {
76106
- this._maxLevelHeaderDepth = this.columnList.reduce(function (acc, col) { return Math.max(acc, col.level); }, 0);
76100
+ this._maxLevelHeaderDepth = this.columns.reduce(function (acc, col) { return Math.max(acc, col.level); }, 0);
76107
76101
  }
76108
76102
  return this._maxLevelHeaderDepth;
76109
76103
  },
@@ -76158,13 +76152,12 @@
76158
76152
  columns.push(ref.instance);
76159
76153
  });
76160
76154
  var result = flatten(columns);
76161
- this.columnList.reset(result);
76162
- this.columnList.notifyOnChanges();
76155
+ this.updateColumns(result);
76163
76156
  this.initPinning();
76164
76157
  var factoryColumn = this.resolver.resolveComponentFactory(IgxColumnComponent);
76165
76158
  var outputs = factoryColumn.outputs.filter(function (o) { return o.propName !== 'columnChange'; });
76166
76159
  outputs.forEach(function (output) {
76167
- _this.columnList.forEach(function (column) {
76160
+ _this.columns.forEach(function (column) {
76168
76161
  if (column[output.propName]) {
76169
76162
  column[output.propName].pipe(operators.takeUntil(column.destroy$)).subscribe(function (args) {
76170
76163
  var rowIslandColumn = _this.parentIsland.childColumns.find(function (col) { return col.field === column.field; });
@@ -76522,6 +76515,7 @@
76522
76515
  * @hidden
76523
76516
  */
76524
76517
  _this.rootGrid = null;
76518
+ _this._childColumns = [];
76525
76519
  _this.layout_id = "igx-row-island-";
76526
76520
  _this.isInit = false;
76527
76521
  _this.hgridAPI = gridAPI;
@@ -76632,7 +76626,8 @@
76632
76626
  var nestedColumns = this.children.map(function (layout) { return layout.columnList.toArray(); });
76633
76627
  var colsArray = [].concat.apply([], nestedColumns);
76634
76628
  var topCols = this.columnList.filter(function (item) { return colsArray.indexOf(item) === -1; });
76635
- this.childColumns.reset(topCols);
76629
+ this._childColumns = topCols;
76630
+ this.updateColumns(this._childColumns);
76636
76631
  this.columnList.changes.pipe(operators.takeUntil(this.destroy$)).subscribe(function () {
76637
76632
  Promise.resolve().then(function () {
76638
76633
  _this.updateColumnList();
@@ -76640,7 +76635,7 @@
76640
76635
  });
76641
76636
  // handle column changes so that they are passed to child grid instances when columnChange is emitted.
76642
76637
  this.ri_columnListDiffer.diff(this.childColumns);
76643
- this.childColumns.toArray().forEach(function (x) { return x.columnChange.pipe(operators.takeUntil(x.destroy$)).subscribe(function () { return _this.updateColumnList(); }); });
76638
+ this._childColumns.forEach(function (x) { return x.columnChange.pipe(operators.takeUntil(x.destroy$)).subscribe(function () { return _this.updateColumnList(); }); });
76644
76639
  this.childColumns.changes.pipe(operators.takeUntil(this.destroy$)).subscribe(function (change) {
76645
76640
  var diff = _this.ri_columnListDiffer.diff(change);
76646
76641
  if (diff) {
@@ -76735,15 +76730,9 @@
76735
76730
  }
76736
76731
  return false;
76737
76732
  });
76738
- this.childColumns.reset(topCols);
76739
- if (this.parentIsland) {
76740
- this.parentIsland.columnList.notifyOnChanges();
76741
- }
76742
- else {
76743
- this.rootGrid.columnList.notifyOnChanges();
76744
- }
76733
+ this._childColumns = topCols;
76745
76734
  this.rowIslandAPI.getChildGrids().forEach(function (grid) {
76746
- grid.createColumnsList(_this.childColumns.toArray());
76735
+ grid.createColumnsList(_this._childColumns);
76747
76736
  if (!document.body.contains(grid.nativeElement)) {
76748
76737
  grid.updateOnRender = true;
76749
76738
  }
@@ -77011,7 +77000,7 @@
77011
77000
  */
77012
77001
  IgxHierarchicalGridComponent.prototype.getCellByColumnVisibleIndex = function (rowIndex, index) {
77013
77002
  var row = this.getRowByIndex(rowIndex);
77014
- var column = this.columnList.find(function (col) { return col.visibleIndex === index; });
77003
+ var column = this.columns.find(function (col) { return col.visibleIndex === index; });
77015
77004
  if (row && row instanceof IgxHierarchicalGridRow && column) {
77016
77005
  return new IgxGridCell(this, rowIndex, column.field);
77017
77006
  }
@@ -77270,7 +77259,7 @@
77270
77259
  */
77271
77260
  IgxHierarchicalGridComponent.prototype.getCellByColumn = function (rowIndex, columnField) {
77272
77261
  var row = this.getRowByIndex(rowIndex);
77273
- var column = this.columnList.find(function (col) { return col.field === columnField; });
77262
+ var column = this.columns.find(function (col) { return col.field === columnField; });
77274
77263
  if (row && row instanceof IgxHierarchicalGridRow && column) {
77275
77264
  return new IgxGridCell(this, rowIndex, columnField);
77276
77265
  }
@@ -77289,7 +77278,7 @@
77289
77278
  */
77290
77279
  IgxHierarchicalGridComponent.prototype.getCellByKey = function (rowSelector, columnField) {
77291
77280
  var row = this.getRowByKey(rowSelector);
77292
- var column = this.columnList.find(function (col) { return col.field === columnField; });
77281
+ var column = this.columns.find(function (col) { return col.field === columnField; });
77293
77282
  if (row && column) {
77294
77283
  return new IgxGridCell(this, row.index, columnField);
77295
77284
  }
@@ -77575,8 +77564,8 @@
77575
77564
  if (this.hasColumnLayouts) {
77576
77565
  // invalid configuration - hierarchical grid should not allow column layouts
77577
77566
  // remove column layouts
77578
- var nonColumnLayoutColumns = this.columnList.filter(function (col) { return !col.columnLayout && !col.columnLayoutChild; });
77579
- this.columnList.reset(nonColumnLayoutColumns);
77567
+ var nonColumnLayoutColumns = this.columns.filter(function (col) { return !col.columnLayout && !col.columnLayoutChild; });
77568
+ this.updateColumns(nonColumnLayoutColumns);
77580
77569
  }
77581
77570
  _super.prototype.initColumns.call(this, collection, cb);
77582
77571
  };
@@ -77584,17 +77573,26 @@
77584
77573
  if (this.parentIsland && this.parentIsland.childColumns.length > 0 && !this.autoGenerate) {
77585
77574
  this.createColumnsList(this.parentIsland.childColumns.toArray());
77586
77575
  }
77587
- _super.prototype.setupColumns.call(this);
77576
+ else {
77577
+ _super.prototype.setupColumns.call(this);
77578
+ }
77579
+ };
77580
+ IgxHierarchicalGridComponent.prototype.getColumnList = function () {
77581
+ var childLayouts = this.parent ? this.childLayoutList : this.allLayoutList;
77582
+ var nestedColumns = childLayouts.map(function (layout) { return layout.columnList.toArray(); });
77583
+ var colsArray = [].concat.apply([], nestedColumns);
77584
+ if (colsArray.length > 0) {
77585
+ var topCols = this.columnList.filter(function (item) { return colsArray.indexOf(item) === -1; });
77586
+ return topCols;
77587
+ }
77588
+ else {
77589
+ return this.columnList.toArray();
77590
+ }
77588
77591
  };
77589
77592
  IgxHierarchicalGridComponent.prototype.onColumnsChanged = function (change) {
77590
77593
  var _this = this;
77591
77594
  Promise.resolve().then(function () {
77592
77595
  _this.updateColumnList();
77593
- var cols = change.filter(function (c) { return c.gridAPI.grid === _this; });
77594
- if (cols.length > 0 || _this.autoGenerate) {
77595
- _this.columnList.reset(cols);
77596
- _super.prototype.onColumnsChanged.call(_this, _this.columnList);
77597
- }
77598
77596
  });
77599
77597
  };
77600
77598
  IgxHierarchicalGridComponent.prototype._shouldAutoSize = function (renderedHeight) {
@@ -77611,8 +77609,8 @@
77611
77609
  var colLength = this.columnList.length;
77612
77610
  if (colsArray.length > 0) {
77613
77611
  var topCols = this.columnList.filter(function (item) { return colsArray.indexOf(item) === -1; });
77614
- this.columnList.reset(topCols);
77615
- if (recalcColSizes && this.columnList.length !== colLength) {
77612
+ this.updateColumns(topCols);
77613
+ if (recalcColSizes && this.columns.length !== colLength) {
77616
77614
  this.calculateGridSizes(false);
77617
77615
  }
77618
77616
  }