diff --git a/ionic/components/menu/menu.ts b/ionic/components/menu/menu.ts index ff6ffeb869..d911b2ed9a 100644 --- a/ionic/components/menu/menu.ts +++ b/ionic/components/menu/menu.ts @@ -129,13 +129,14 @@ export class Menu extends Ion { setProgess(value) { // user actively dragging the menu this._disable(); - this.app.setEnabled(false); + this.app.setEnabled(false, 4000); this._type.setProgess(value); } setProgressFinish(shouldComplete) { // user has finished dragging the menu this._disable(); + this.app.setEnabled(false); this._type.setProgressFinish(shouldComplete).then(isOpen => { this._after(isOpen); }); @@ -148,10 +149,16 @@ export class Menu extends Ion { this.getBackdropElement().classList.add('show-backdrop'); this._disable(); + this.app.setEnabled(false); } _after(isOpen) { + // keep opening/closing the menu disabled for a touch more yet this._disable(); + + // but the app itself can be used again + this.app.setEnabled(true); + this.isOpen = isOpen; this.contentElement.classList[isOpen ? 'add' : 'remove']('menu-content-open'); diff --git a/ionic/components/view/view-controller.ts b/ionic/components/view/view-controller.ts index 1c10f197a6..639e46099a 100644 --- a/ionic/components/view/view-controller.ts +++ b/ionic/components/view/view-controller.ts @@ -61,7 +61,7 @@ export class ViewController extends Ion { * @returns {Promise} TODO */ push(componentType, params = {}, opts = {}) { - if (!componentType || !this.app.isEnabled()) { + if (!componentType) { return Promise.reject(); } if (typeof componentType !== 'function') { @@ -112,7 +112,7 @@ export class ViewController extends Ion { * @returns {Promise} TODO */ pop(opts = {}) { - if (!this.app.isEnabled() || !this.canGoBack()) { + if (!this.canGoBack()) { return Promise.reject(); }