From b3957d808373b9906047cd27d361b5d39ae82c9d Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 7 Jul 2017 18:06:45 +0200 Subject: [PATCH] refactor(menu): set animation origin based on overlay position (#5347) Uses the menu panel's overlay position to determine the animation origin, instead of the trigger. These changes make it easier to follow and avoid having to correct it explicitly based on the `overlapTrigger` flag, in addition to fixing some issues in nested menus. --- src/lib/menu/menu-trigger.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/lib/menu/menu-trigger.ts b/src/lib/menu/menu-trigger.ts index 0bb9d76455b..e70c4265805 100644 --- a/src/lib/menu/menu-trigger.ts +++ b/src/lib/menu/menu-trigger.ts @@ -238,13 +238,9 @@ export class MdMenuTrigger implements AfterViewInit, OnDestroy { * correct, even if a fallback position is used for the overlay. */ private _subscribeToPositions(position: ConnectedPositionStrategy): void { - this._positionSubscription = position.onPositionChange.subscribe((change) => { - const posX: MenuPositionX = change.connectionPair.originX === 'start' ? 'after' : 'before'; - let posY: MenuPositionY = change.connectionPair.originY === 'top' ? 'below' : 'above'; - - if (!this.menu.overlapTrigger) { - posY = posY === 'below' ? 'above' : 'below'; - } + this._positionSubscription = position.onPositionChange.subscribe(change => { + const posX: MenuPositionX = change.connectionPair.overlayX === 'start' ? 'after' : 'before'; + const posY: MenuPositionY = change.connectionPair.overlayY === 'top' ? 'below' : 'above'; this.menu.setPositionClasses(posX, posY); });