mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 21:48:42 +08:00
fix(nav): zIndex in overlays
This commit is contained in:

committed by
Adam Bradley

parent
7201999674
commit
70f8a8e5eb
@ -38,6 +38,7 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
_trnsTm: boolean = false;
|
||||
_viewport: ViewContainerRef;
|
||||
_views: ViewController[] = [];
|
||||
_zIndexOffset: number = 0;
|
||||
|
||||
viewDidLoad: EventEmitter<any> = new EventEmitter();
|
||||
viewWillEnter: EventEmitter<any> = new EventEmitter();
|
||||
|
@ -51,8 +51,15 @@ export function convertToViews(linker: DeepLinker, pages: any[]): ViewController
|
||||
return views;
|
||||
}
|
||||
|
||||
let portalZindex = 9999;
|
||||
|
||||
export function setZIndex(nav: NavControllerBase, enteringView: ViewController, leavingView: ViewController, direction: string, renderer: Renderer) {
|
||||
if (enteringView) {
|
||||
if (nav._isPortal) {
|
||||
enteringView._setZIndex(nav._zIndexOffset + portalZindex, renderer);
|
||||
portalZindex++;
|
||||
return;
|
||||
}
|
||||
|
||||
leavingView = leavingView || nav.getPrevious(enteringView);
|
||||
|
||||
@ -65,7 +72,7 @@ export function setZIndex(nav: NavControllerBase, enteringView: ViewController,
|
||||
}
|
||||
|
||||
} else {
|
||||
enteringView._setZIndex(nav._isPortal ? PORTAL_ZINDEX : INIT_ZINDEX, renderer);
|
||||
enteringView._setZIndex(INIT_ZINDEX + nav._zIndexOffset, renderer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -184,7 +191,6 @@ export enum ViewState {
|
||||
}
|
||||
|
||||
export const INIT_ZINDEX = 100;
|
||||
export const PORTAL_ZINDEX = 9999;
|
||||
|
||||
export const DIRECTION_BACK = 'back';
|
||||
export const DIRECTION_FORWARD = 'forward';
|
||||
|
Reference in New Issue
Block a user