FIX: More safety for going back while stuff is uncloaking
This commit is contained in:
parent
8e382fa5ea
commit
3521fb97e4
|
@ -607,7 +607,12 @@ Discourse.TopicController = Discourse.ObjectController.extend(Discourse.Selected
|
|||
postStream.prependMore().then(function() {
|
||||
Em.run.next(function () {
|
||||
$elem = $('#post-cloak-' + post.get('post_number'));
|
||||
$('html, body').scrollTop($elem.position().top + distToElement);
|
||||
|
||||
// Quickly going back might mean the element is destroyed
|
||||
var position = $elem.position();
|
||||
if (position && position.top) {
|
||||
$('html, body').scrollTop(position.top + distToElement);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -186,7 +186,7 @@
|
|||
|
||||
Em.run.schedule('afterRender', this, function() {
|
||||
onscreenCloaks.forEach(function (v) {
|
||||
if(v && v.uncloak && (v._state || v.state) === 'inDOM') {
|
||||
if(v && v.uncloak) {
|
||||
v.uncloak();
|
||||
}
|
||||
});
|
||||
|
@ -298,6 +298,9 @@
|
|||
@method uncloak
|
||||
*/
|
||||
uncloak: function() {
|
||||
var state = this._state || this.state;
|
||||
if (state !== 'inDOM' && state !== 'preRender') { return; }
|
||||
|
||||
if (!this._containedView) {
|
||||
var model = this.get('content'),
|
||||
controller = null,
|
||||
|
|
Loading…
Reference in New Issue