Merge pull request #5184 from dkro/ISSUE-5180

feat(menu): restrain menu slide start to a specific angle
This commit is contained in:
Adam Bradley
2016-01-25 12:42:07 -06:00

View File

@ -5,7 +5,7 @@ import {assign} from '../../util/util';
export class MenuContentGesture extends SlideEdgeGesture {
constructor(public menu: Menu, targetEl: Element, options = {}) {
super(targetEl, assign({
@ -19,7 +19,8 @@ export class MenuContentGesture extends SlideEdgeGesture {
}
canStart(ev) {
return this.menu.isOpen && this.menu.isEnabled ? true : super.canStart(ev);
let validAngle = ((-35 <= ev.angle && ev.angle <= 35) || (180 >= ev.angle && ev.angle >= 145) || (-180 <= ev.angle && ev.angle <= -145));
return this.menu.isOpen && this.menu.isEnabled && validAngle ? true : super.canStart(ev);
}
// Set CSS, then wait one frame for it to apply before sliding starts