diff --git a/src/components/menu/menu-gestures.ts b/src/components/menu/menu-gestures.ts index 65e738e1c4..72be2da681 100644 --- a/src/components/menu/menu-gestures.ts +++ b/src/components/menu/menu-gestures.ts @@ -57,14 +57,14 @@ export class MenuContentGesture extends SlideEdgeGesture { } onSlide(slide: SlideData, ev: any) { - const z = (this.menu.isRightSide ? slide.min : slide.max); + const z = (this.menu.isRightSide !== this.plt.isRTL ? slide.min : slide.max); const stepValue = (slide.distance / z); this.menu._swipeProgress(stepValue); } onSlideEnd(slide: SlideData, ev: any) { - let z = (this.menu.isRightSide ? slide.min : slide.max); + let z = (this.menu.isRightSide !== this.plt.isRTL ? slide.min : slide.max); const currentStepValue = (slide.distance / z); const velocity = slide.velocity; z = Math.abs(z * 0.5); @@ -89,7 +89,7 @@ export class MenuContentGesture extends SlideEdgeGesture { getElementStartPos(slide: SlideData, ev: any) { const menu = this.menu; - if (menu.isRightSide) { + if (menu.isRightSide !== this.plt.isRTL) { return menu.isOpen ? slide.min : slide.max; } // left menu @@ -98,7 +98,7 @@ export class MenuContentGesture extends SlideEdgeGesture { getSlideBoundaries(): { min: number, max: number } { const menu = this.menu; - if (menu.isRightSide) { + if (menu.isRightSide !== this.plt.isRTL) { return { min: -menu.width(), max: 0 diff --git a/src/components/menu/menu.ts b/src/components/menu/menu.ts index b896e88077..03ba844abe 100644 --- a/src/components/menu/menu.ts +++ b/src/components/menu/menu.ts @@ -490,10 +490,11 @@ export class Menu implements RootNode, MenuInterface, OnInit, OnDestroy { // user has finished dragging the menu const isRightSide = this.isRightSide; + const isRTL = this._plt.isRTL; const opening = !this.isOpen; const shouldComplete = (opening) - ? isRightSide ? shouldCompleteLeft : shouldCompleteRight - : isRightSide ? shouldCompleteRight : shouldCompleteLeft; + ? (isRightSide !== isRTL) ? shouldCompleteLeft : shouldCompleteRight + : (isRightSide !== isRTL) ? shouldCompleteRight : shouldCompleteLeft; this._getType().setProgressEnd(shouldComplete, stepValue, velocity, (isOpen: boolean) => { console.debug('menu, swipeEnd', this.side);