From 7764479c14363fc6561cb5761310a573a86ace8c Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Fri, 29 Jan 2016 14:30:48 +0100 Subject: [PATCH] Schedule inserting elements afterRender It will ensure that log element is already loaded. --- app/components/log-content.js | 36 ++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/app/components/log-content.js b/app/components/log-content.js index ca0f832e..9db46eba 100644 --- a/app/components/log-content.js +++ b/app/components/log-content.js @@ -152,28 +152,30 @@ export default Ember.Component.extend({ willChange: 'noop' }); parts = parts.slice(0); - return this.partsDidChange(parts, 0, null, parts.length); + this.partsDidChange(parts, 0, null, parts.length); } }, partsDidChange(parts, start, _, added) { - var i, j, len, part, ref, ref1, ref2, results; - if (Log.DEBUG) { - console.log('log view: parts did change'); - } - if (this.get('_state') !== 'inDOM') { - return; - } - ref = parts.slice(start, start + added); - results = []; - for (i = j = 0, len = ref.length; j < len; i = ++j) { - part = ref[i]; - if ((ref1 = this.engine) != null ? (ref2 = ref1.limit) != null ? ref2.limited : void 0 : void 0) { - break; + Ember.run.schedule('afterRender', this, function() { + var i, j, len, part, ref, ref1, ref2, results; + if (Log.DEBUG) { + console.log('log view: parts did change'); } - results.push(this.engine.set(part.number, part.content)); - } - return results; + if (this.get('_state') !== 'inDOM') { + return; + } + ref = parts.slice(start, start + added); + results = []; + for (i = j = 0, len = ref.length; j < len; i = ++j) { + part = ref[i]; + if ((ref1 = this.engine) != null ? (ref2 = ref1.limit) != null ? ref2.limited : void 0 : void 0) { + break; + } + results.push(this.engine.set(part.number, part.content)); + } + return results; + }); }, plainTextLogUrl: function() {