feat(menu): enable/disable side menus

This commit is contained in:
Adam Bradley
2015-10-31 14:41:27 -05:00
parent b364017ff2
commit 2c270b3722
5 changed files with 124 additions and 4 deletions

View File

@ -79,6 +79,7 @@ export class Menu extends Ion {
this.opening = new EventEmitter('opening');
this.isOpen = false;
this._disableTime = 0;
this.isEnabled = true;
}
/**
@ -107,9 +108,11 @@ export class Menu extends Ion {
let self = this;
this.onContentClick = function(ev) {
ev.preventDefault();
ev.stopPropagation();
self.close();
if (self.isEnabled) {
ev.preventDefault();
ev.stopPropagation();
self.close();
}
};
}
@ -253,6 +256,23 @@ export class Menu extends Ion {
return this.setOpen(!this.isOpen);
}
enabled(isEnabled) {
if (!this.isEnabled && isEnabled && !this._gesture) {
// was previously disabled, and is being enabled again
// re-add the gestures
this._initGesture();
} else if (this.isEnabled && !isEnabled) {
// is currently enabled, and is being disabled
// remove the gestures
this._gesture && this._gesture.destroy();
this._targetGesture && this._targetGesture.destroy();
this._gesture = this._targetGesture = null;
}
this.isEnabled = isEnabled;
}
/**
* TODO
* @return {Element} The Menu element.