@@ -210,6 +210,8 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
210
210
positionStrategy : new ConnectedPositioningStrategy ( this . _advancedFilteringPositionSettings ) ,
211
211
} ;
212
212
213
+ protected _userOutletDirective : IgxOverlayOutletDirective ;
214
+
213
215
/**
214
216
* @hidden @internal
215
217
*/
@@ -1797,20 +1799,12 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
1797
1799
@ViewChild ( 'tfoot' , { static : true } )
1798
1800
public tfoot : ElementRef ;
1799
1801
1800
-
1801
1802
/**
1802
1803
* @hidden @internal
1803
1804
*/
1804
1805
@ViewChild ( 'igxFilteringOverlayOutlet' , { read : IgxOverlayOutletDirective , static : true } )
1805
1806
protected _outletDirective : IgxOverlayOutletDirective ;
1806
1807
1807
- /**
1808
- * @hidden @internal
1809
- */
1810
- public get outletDirective ( ) {
1811
- return this . _outletDirective ;
1812
- }
1813
-
1814
1808
/**
1815
1809
* @hidden @internal
1816
1810
*/
@@ -1835,7 +1829,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
1835
1829
* @hidden @internal
1836
1830
*/
1837
1831
public get parentRowOutletDirective ( ) {
1838
- return this . outletDirective ;
1832
+ return this . outlet ;
1839
1833
}
1840
1834
1841
1835
/**
@@ -2918,7 +2912,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
2918
2912
return ;
2919
2913
}
2920
2914
2921
- if ( this . overlayService . getOverlayById ( event . id ) ?. settings ?. outlet === this . outletDirective &&
2915
+ if ( this . overlayService . getOverlayById ( event . id ) ?. settings ?. outlet === this . outlet &&
2922
2916
this . overlayIDs . indexOf ( event . id ) < 0 ) {
2923
2917
this . overlayIDs . push ( event . id ) ;
2924
2918
}
@@ -3363,10 +3357,23 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
3363
3357
}
3364
3358
3365
3359
/**
3366
- * @hidden @internal
3360
+ * Gets the outlet used to attach the grid's overlays to.
3361
+ * @remark
3362
+ * If set, returns the outlet defined outside the grid. Otherwise returns the grid's internal outlet directive.
3363
+ */
3364
+ get outlet ( ) {
3365
+ return this . resolveOutlet ( ) ;
3366
+ }
3367
+
3368
+ protected resolveOutlet ( ) {
3369
+ return this . _userOutletDirective ? this . _userOutletDirective : this . _outletDirective ;
3370
+ }
3371
+
3372
+ /**
3373
+ * Sets the outlet used to attach the grid's overlays to.
3367
3374
*/
3368
- protected get outlet ( ) {
3369
- return this . outletDirective ;
3375
+ set outlet ( val : any ) {
3376
+ this . _userOutletDirective = val ;
3370
3377
}
3371
3378
3372
3379
/**
@@ -6493,7 +6500,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
6493
6500
if ( ! this . _advancedFilteringOverlayId ) {
6494
6501
this . _advancedFilteringOverlaySettings . positionStrategy . settings . target =
6495
6502
( this as any ) . rootGrid ? ( this as any ) . rootGrid . nativeElement : this . nativeElement ;
6496
- this . _advancedFilteringOverlaySettings . outlet = this . outletDirective ;
6503
+ this . _advancedFilteringOverlaySettings . outlet = this . outlet ;
6497
6504
6498
6505
this . _advancedFilteringOverlayId = this . overlayService . attach (
6499
6506
IgxAdvancedFilteringDialogComponent ,
0 commit comments