Support for skipping redraws (#1049)

Mostly useful for event handlers, setting `e.redraw = false` will prevent mithril from re-rendering.
This commit is contained in:
Pat Cavit 2016-05-20 11:50:41 -07:00
parent 2ca8fa6e66
commit 04eaa25ab1
4 changed files with 76 additions and 1 deletions

View file

@ -7,6 +7,7 @@ module.exports = function(callback) {
var timeout = typeof requestAnimationFrame === "function" ? requestAnimationFrame : setTimeout
return function(synchronous) {
var now = new Date().getTime()
if (typeof synchronous === "object" && "redraw" in synchronous && !synchronous.redraw) return
if (synchronous === true || last === 0 || now - last >= time) {
last = now
callback()