FIX: We're running code outside of the runloop
This commit is contained in:
parent
f63850b3db
commit
c8282e4ca1
|
@ -278,7 +278,13 @@ export default Ember.Component.extend({
|
||||||
@observes('ready', 'value')
|
@observes('ready', 'value')
|
||||||
_watchForChanges() {
|
_watchForChanges() {
|
||||||
if (!this.get('ready')) { return; }
|
if (!this.get('ready')) { return; }
|
||||||
Ember.run.debounce(this, this._updatePreview, 30);
|
|
||||||
|
// Debouncing in test mode is complicated
|
||||||
|
if (Ember.testing) {
|
||||||
|
this._updatePreview();
|
||||||
|
} else {
|
||||||
|
Ember.run.debounce(this, this._updatePreview, 30);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_applyCategoryHashtagAutocomplete(container) {
|
_applyCategoryHashtagAutocomplete(container) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ export default Ember.Component.extend({
|
||||||
composerOpen: null,
|
composerOpen: null,
|
||||||
info: Em.Object.create(),
|
info: Em.Object.create(),
|
||||||
|
|
||||||
_checkSize() {
|
_performCheckSize() {
|
||||||
if (!this.element || this.isDestroying || this.isDestroyed) { return; }
|
if (!this.element || this.isDestroying || this.isDestroyed) { return; }
|
||||||
|
|
||||||
let info = this.get('info');
|
let info = this.get('info');
|
||||||
|
@ -39,6 +39,10 @@ export default Ember.Component.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_checkSize() {
|
||||||
|
Ember.run.scheduleOnce('afterRender', this, this._performCheckSize);
|
||||||
|
},
|
||||||
|
|
||||||
// we need to store this so topic progress has something to init with
|
// we need to store this so topic progress has something to init with
|
||||||
_topicScrolled(event) {
|
_topicScrolled(event) {
|
||||||
this.set('info.prevEvent', event);
|
this.set('info.prevEvent', event);
|
||||||
|
@ -62,7 +66,7 @@ export default Ember.Component.extend({
|
||||||
composerOpened() {
|
composerOpened() {
|
||||||
this.set('composerOpen', true);
|
this.set('composerOpen', true);
|
||||||
// we need to do the check after animation is done
|
// we need to do the check after animation is done
|
||||||
setTimeout(()=>this._checkSize(), 500);
|
Ember.run.later(() => this._checkSize(), 500);
|
||||||
},
|
},
|
||||||
|
|
||||||
composerClosed() {
|
composerClosed() {
|
||||||
|
@ -112,7 +116,7 @@ export default Ember.Component.extend({
|
||||||
$('#reply-control').on('div-resized.discourse-topic-navigation', () => this._checkSize());
|
$('#reply-control').on('div-resized.discourse-topic-navigation', () => this._checkSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
Ember.run.scheduleOnce('afterRender', this, this._checkSize);
|
this._checkSize();
|
||||||
},
|
},
|
||||||
|
|
||||||
willDestroyElement() {
|
willDestroyElement() {
|
||||||
|
|
Loading…
Reference in New Issue