refactor redraw into pubsub and autoredraw
- pubsub is a basic pubsub impl - autoredraw is glue code to register callback to pubsub and onevent moved e.redraw to autoredraw
This commit is contained in:
parent
db46bb4414
commit
0005cf26ee
13 changed files with 149 additions and 105 deletions
15
api/pubsub.js
Normal file
15
api/pubsub.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
"use strict"
|
||||
|
||||
module.exports = function() {
|
||||
var callbacks = []
|
||||
function unsubscribe(callback) {
|
||||
var index = callbacks.indexOf(callback)
|
||||
if (index > -1) callbacks.splice(index, 1)
|
||||
}
|
||||
function publish() {
|
||||
for (var i = 0; i < callbacks.length; i++) {
|
||||
callbacks[i].apply(this, arguments)
|
||||
}
|
||||
}
|
||||
return {subscribe: callbacks.push.bind(callbacks), unsubscribe: unsubscribe, publish: publish}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue