fix(nav): zIndex in overlays

This commit is contained in:
Manu Mtz.-Almeida
2016-11-16 19:17:25 +01:00
committed by Adam Bradley
parent 7201999674
commit 70f8a8e5eb
5 changed files with 20 additions and 6 deletions

View File

@ -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();

View File

@ -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';