FIX: Don't remove all events, only the ones we created
This commit is contained in:
parent
1dae7fbe04
commit
bdd15d5452
|
@ -16,6 +16,7 @@ export default Ember.Component.extend({
|
||||||
_widgetClass: null,
|
_widgetClass: null,
|
||||||
_renderCallback: null,
|
_renderCallback: null,
|
||||||
_childEvents: null,
|
_childEvents: null,
|
||||||
|
_dispatched: null,
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
this._super();
|
this._super();
|
||||||
|
@ -31,6 +32,7 @@ export default Ember.Component.extend({
|
||||||
|
|
||||||
this._childEvents = [];
|
this._childEvents = [];
|
||||||
this._connected = [];
|
this._connected = [];
|
||||||
|
this._dispatched = [];
|
||||||
},
|
},
|
||||||
|
|
||||||
didInsertElement() {
|
didInsertElement() {
|
||||||
|
@ -52,7 +54,10 @@ export default Ember.Component.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
willDestroyElement() {
|
willDestroyElement() {
|
||||||
this._childEvents.forEach(evt => this.appEvents.off(evt));
|
this._dispatched.forEach(evt => {
|
||||||
|
const [eventName, caller] = evt;
|
||||||
|
this.appEvents.off(eventName, caller);
|
||||||
|
});
|
||||||
Ember.run.cancel(this._timeout);
|
Ember.run.cancel(this._timeout);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -73,9 +78,10 @@ export default Ember.Component.extend({
|
||||||
|
|
||||||
dispatch(eventName, key) {
|
dispatch(eventName, key) {
|
||||||
this._childEvents.push(eventName);
|
this._childEvents.push(eventName);
|
||||||
this.appEvents.on(eventName, refreshArg => {
|
|
||||||
this.eventDispatched(eventName, key, refreshArg);
|
const caller = refreshArg => this.eventDispatched(eventName, key, refreshArg);
|
||||||
});
|
this._dispatched.push([eventName, caller]);
|
||||||
|
this.appEvents.on(eventName, caller);
|
||||||
},
|
},
|
||||||
|
|
||||||
queueRerender(callback) {
|
queueRerender(callback) {
|
||||||
|
|
|
@ -95,7 +95,7 @@ export default Ember.Component.extend({
|
||||||
.off("composer:resized", this, this._dock)
|
.off("composer:resized", this, this._dock)
|
||||||
.off('composer:closed', this, this._dock)
|
.off('composer:closed', this, this._dock)
|
||||||
.off('topic:scrolled', this, this._dock)
|
.off('topic:scrolled', this, this._dock)
|
||||||
.off('topic:current-post-scrolled')
|
.off('topic:current-post-scrolled', this, this._topicScrolled)
|
||||||
.off('topic-progress:keyboard-trigger');
|
.off('topic-progress:keyboard-trigger');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue