mirror of
https://github.com/flarum/framework.git
synced 2025-03-30 19:55:29 +08:00
Refactor start/endComputation into lazyRedraw method
This commit is contained in:
parent
9f28b4e8dc
commit
0474f410a4
@ -179,12 +179,7 @@ export default class DiscussionList extends Component {
|
||||
this.loading = false;
|
||||
this.moreResults = !!results.payload.links.next;
|
||||
|
||||
// Since this may be called during the component's constructor, i.e. in the
|
||||
// middle of a redraw, forcing another redraw would not bode well. Instead
|
||||
// we start/end a computation so Mithril will only redraw if it isn't
|
||||
// already doing so.
|
||||
m.startComputation();
|
||||
m.endComputation();
|
||||
m.lazyRedraw();
|
||||
|
||||
return results;
|
||||
}
|
||||
|
@ -149,12 +149,7 @@ export default class DiscussionPage extends mixin(Component, evented) {
|
||||
.then(this.init.bind(this));
|
||||
}
|
||||
|
||||
// Since this may be called during the component's constructor, i.e. in the
|
||||
// middle of a redraw, forcing another redraw would not bode well. Instead
|
||||
// we start/end a computation so Mithril will only redraw if it isn't
|
||||
// already doing so.
|
||||
m.startComputation();
|
||||
m.endComputation();
|
||||
m.lazyRedraw();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -95,9 +95,7 @@ export default class PostsUserPage extends UserPage {
|
||||
this.loading = true;
|
||||
this.posts = [];
|
||||
|
||||
// Redraw, but only if we're not in the middle of a route change.
|
||||
m.startComputation();
|
||||
m.endComputation();
|
||||
m.lazyRedraw();
|
||||
|
||||
this.loadResults().then(this.parseResults.bind(this));
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ export default class ModalManager extends Component {
|
||||
clear() {
|
||||
this.component = null;
|
||||
|
||||
m.redraw();
|
||||
m.lazyRedraw();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -13,5 +13,15 @@ export default function patchMithril(global) {
|
||||
|
||||
Object.keys(mo).forEach(key => m[key] = mo[key]);
|
||||
|
||||
/**
|
||||
* Redraw only if not in the middle of a computation (e.g. a route change).
|
||||
*
|
||||
* @return {void}
|
||||
*/
|
||||
m.lazyRedraw = function() {
|
||||
m.startComputation();
|
||||
m.endComputation();
|
||||
};
|
||||
|
||||
global.m = m;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user