Skip to content

Commit 8df4523

Browse files
authored
Merge branch 'master' into dpetev/exporter-decorator-revert
2 parents 0c4c6a1 + d424892 commit 8df4523

File tree

6 files changed

+27
-17
lines changed

6 files changed

+27
-17
lines changed

projects/igniteui-angular/src/lib/directives/template-outlet/template_outlet.directive.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ export class IgxTemplateOutletDirective implements OnChanges {
6363
}
6464

6565
private _recreateView() {
66+
const prevIndex = this._viewRef ? this._viewContainerRef.indexOf(this._viewRef) : -1;
6667
// detach old and create new
67-
if (this._viewRef) {
68-
this._viewContainerRef.detach(this._viewContainerRef.indexOf(this._viewRef));
68+
if (prevIndex !== -1) {
69+
this._viewContainerRef.detach(prevIndex);
6970
}
7071
if (this.igxTemplateOutlet) {
7172
this._viewRef = this._viewContainerRef.createEmbeddedView(

projects/igniteui-angular/src/lib/grids/cell.component.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -862,15 +862,6 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy {
862862
}
863863
this.grid.expansionStates = expandedStates;
864864
this.grid.notifyChanges();
865-
const isVirtualized = !this.grid.verticalScrollContainer.dc.instance.notVirtual;
866-
// persist focused cell
867-
const el = this.grid.selectionService.activeElement;
868-
if (isVirtualized && el) {
869-
const cell = this.grid.gridAPI.get_cell_by_visible_index(el.row, el.column);
870-
if (cell) {
871-
cell.nativeElement.focus();
872-
}
873-
}
874865
}
875866
}
876867

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6044,4 +6044,16 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
60446044
advancedFilteringDialog.closeDialog();
60456045
}
60466046
}
6047+
6048+
protected _focusActiveCell() {
6049+
// persist focused cell
6050+
const isVirtualized = !this.verticalScrollContainer.dc.instance.notVirtual;
6051+
const el = this.selectionService.activeElement;
6052+
if (isVirtualized && el) {
6053+
const cell = this.gridAPI.get_cell_by_visible_index(el.row, el.column);
6054+
if (cell) {
6055+
cell.nativeElement.focus();
6056+
}
6057+
}
6058+
}
60476059
}

projects/igniteui-angular/src/lib/grids/grid/grid.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
let-rowIndex="index" [igxForScrollOrientation]="'vertical'" [igxForScrollContainer]='verticalScroll'
116116
[igxForContainerSize]='calcHeight'
117117
[igxForItemSize]="hasColumnLayouts ? rowHeight * multiRowLayoutRowSize + 1 : renderedRowHeight"
118+
[igxForTrackBy]='trackChanges'
118119
#verticalScrollContainer (onChunkPreload)="dataLoading($event)">
119120
<ng-template
120121
[igxTemplateOutlet]='getRowTemplate(rowData)'

projects/igniteui-angular/src/lib/grids/grid/grid.component.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,7 @@ export class IgxGridComponent extends IgxGridBaseDirective implements GridType,
598598
this.expansionStatesChange.emit(this._expansionStates);
599599
if (this.gridAPI.grid) {
600600
this.cdr.detectChanges();
601+
this._focusActiveCell();
601602
}
602603
}
603604

@@ -687,6 +688,16 @@ export class IgxGridComponent extends IgxGridBaseDirective implements GridType,
687688
}
688689
}
689690

691+
/**
692+
* @hidden
693+
*/
694+
public trackChanges(index, rec) {
695+
if (rec.detailsData !== undefined) {
696+
return rec.detailsData;
697+
}
698+
return rec;
699+
}
700+
690701
public detailsKeyboardHandler(event, rowIndex, container) {
691702
const colIndex = this.selectionService.activeElement ? this.selectionService.activeElement.column : 0;
692703
const shift = event.shiftKey;

src/app/app.module.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,10 @@ import { GridFlexSampleComponent } from './grid-flex-layout/grid-flex.sample';
111111
import { GridEsfLoadOnDemandComponent } from './grid-esf-load-on-demand/grid-esf-load-on-demand.component';
112112
import { GridFilteringComponent } from './grid-filtering/grid-filtering.sample';
113113
import { GridExternalFilteringComponent } from './grid-external-filtering/grid-external-filtering.sample';
114-
<<<<<<< HEAD
115114
import { AboutComponent } from './grid-state/about.component';
116115
import { GridSaveStateComponent } from './grid-state/grid-state.component';
117-
=======
118116
import { GridMasterDetailSampleComponent } from './grid-master-detail/grid-master-detail.sample';
119117

120-
>>>>>>> d6c950b7be7f540e1ff3c167dd5f79301676e035
121-
122-
123-
124118
const components = [
125119
AppComponent,
126120
AutocompletePipeContains,

0 commit comments

Comments
 (0)