mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 19:21:34 +08:00
@ -1,5 +1,5 @@
|
||||
import {Menu} from './menu';
|
||||
import {SlideEdgeGesture} from 'ionic/gestures/slide-edge-gesture';
|
||||
import {SlideEdgeGesture} from '../../gestures/slide-edge-gesture';
|
||||
|
||||
import * as util from 'ionic/util';
|
||||
|
||||
|
@ -116,16 +116,14 @@ class MenuPushType extends MenuType {
|
||||
let easing = 'ease';
|
||||
let duration = 250;
|
||||
|
||||
let contentClosedX, contentOpenedX, menuClosedX, menuOpenedX;
|
||||
let contentOpenedX, menuClosedX, menuOpenedX;
|
||||
|
||||
if (menu.side == 'right') {
|
||||
contentOpenedX = -menu.width() + 'px';
|
||||
contentClosedX = '0px';
|
||||
menuOpenedX = (menu.platform.width() - menu.width()) + 'px';
|
||||
menuClosedX = menu.platform.width() + 'px';
|
||||
} else {
|
||||
contentOpenedX = menu.width() + 'px';
|
||||
contentClosedX = '0px';
|
||||
menuOpenedX = '0px';
|
||||
menuClosedX = -menu.width() + 'px';
|
||||
}
|
||||
@ -139,7 +137,7 @@ class MenuPushType extends MenuType {
|
||||
this.open.add(menuOpen);
|
||||
|
||||
let contentOpen = new Animation(menu.getContentElement());
|
||||
contentOpen.fromTo(TRANSLATE_X, contentClosedX, contentOpenedX);
|
||||
contentOpen.fromTo(TRANSLATE_X, '0px', contentOpenedX);
|
||||
this.open.add(contentOpen);
|
||||
|
||||
let menuClose = new Animation(menu.getMenuElement());
|
||||
@ -147,7 +145,7 @@ class MenuPushType extends MenuType {
|
||||
this.close.add(menuClose);
|
||||
|
||||
let contentClose = new Animation(menu.getContentElement());
|
||||
contentClose.fromTo(TRANSLATE_X, contentOpenedX, contentClosedX);
|
||||
contentClose.fromTo(TRANSLATE_X, contentOpenedX, '0px');
|
||||
this.close.add(contentClose);
|
||||
}
|
||||
}
|
||||
|
@ -147,14 +147,19 @@ export class Menu extends Ion {
|
||||
if (!type) {
|
||||
type = this.config.get('menuType');
|
||||
}
|
||||
|
||||
this._type = new menuTypes[type](this);
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
if (this.config.get('animate') === false) {
|
||||
this._type.open.duration(33);
|
||||
this._type.close.duration(33);
|
||||
_getType() {
|
||||
if (!this._type) {
|
||||
this._type = new menuTypes[this.type](this);
|
||||
|
||||
if (this.config.get('animate') === false) {
|
||||
this._type.open.duration(33);
|
||||
this._type.close.duration(33);
|
||||
}
|
||||
}
|
||||
return this._type;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -171,7 +176,7 @@ export class Menu extends Ion {
|
||||
|
||||
this._before();
|
||||
|
||||
return this._type.setOpen(shouldOpen).then(() => {
|
||||
return this._getType().setOpen(shouldOpen).then(() => {
|
||||
this._after(shouldOpen);
|
||||
});
|
||||
}
|
||||
@ -185,7 +190,7 @@ export class Menu extends Ion {
|
||||
|
||||
this._before();
|
||||
|
||||
this._type.setProgressStart(this.isOpen);
|
||||
this._getType().setProgressStart(this.isOpen);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -196,7 +201,7 @@ export class Menu extends Ion {
|
||||
if (this.isEnabled) {
|
||||
this._prevent();
|
||||
this.app.setTransitioning(true);
|
||||
this._type.setProgess(value);
|
||||
this._getType().setProgess(value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -208,7 +213,7 @@ export class Menu extends Ion {
|
||||
if (this.isEnabled) {
|
||||
this._prevent();
|
||||
this.app.setTransitioning(true);
|
||||
this._type.setProgressEnd(shouldComplete).then(isOpen => {
|
||||
this._getType().setProgressEnd(shouldComplete).then(isOpen => {
|
||||
this._after(isOpen);
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user