prop and withAttr work in progress

This commit is contained in:
Leo Horie 2016-05-21 01:48:11 -04:00
parent e1473dcce8
commit 477e73f300
4 changed files with 32 additions and 8 deletions

View file

@ -1,14 +1,16 @@
"use strict" "use strict"
var m = require("./render/hyperscript") var m = require("./render/hyperscript")
var rendererService = require("./render/render")(window) var renderService = require("./render/render")(window)
var redrawService = require("./api/pubsub")() var redrawService = require("./api/pubsub")()
m.request = require("./request/request")(window, Promise).ajax m.request = require("./request/request")(window, Promise).ajax
m.route = require("./api/router")(window, rendererService, redrawService) m.route = require("./api/router")(window, renderService, redrawService)
m.mount = require("./api/mount")(rendererService, redrawService) m.mount = require("./api/mount")(renderService, redrawService)
m.trust = require("./render/trust") m.trust = require("./render/trust")
m.render = rendererService.render m.prop = require("./util/prop")
m.withAttr = require("./util/withAttr")
m.render = renderService.render
m.redraw = redrawService.publish m.redraw = redrawService.publish
module.exports = m module.exports = m

View file

@ -84,7 +84,7 @@ function changeNS(ns, vnode) {
} }
} }
var m = hyperscript var m = hyperscript
var rendererService = function($window) { var renderService = function($window) {
var $doc = $window.document var $doc = $window.document
var onevent var onevent
function setEventCallback(callback) {return onevent = callback} function setEventCallback(callback) {return onevent = callback}
@ -889,7 +889,7 @@ m.route = function($window, renderer, pubsub) {
route.prefix = router.setPrefix route.prefix = router.setPrefix
return route return route
}(window, rendererService, redrawService) }(window, renderService, redrawService)
m.mount = function(renderer, pubsub) { m.mount = function(renderer, pubsub) {
return function(root, component) { return function(root, component) {
var run = autoredraw(root, renderer, pubsub, function() { var run = autoredraw(root, renderer, pubsub, function() {
@ -898,10 +898,19 @@ m.mount = function(renderer, pubsub) {
run() run()
} }
}(rendererService, redrawService) }(renderService, redrawService)
m.trust = function(html) { m.trust = function(html) {
return Node("<", undefined, undefined, html, undefined, undefined) return Node("<", undefined, undefined, html, undefined, undefined)
} }
m.render = rendererService.render m.prop = function(store) {
return function() {
if (arguments.length > 0) store = arguments[0]
return store
}
}
m.withAttr = function(attrName, callback, context) {
return callback.call(context || this, attrName in e.currentTarget ? e.currentTarget[attrName] : e.currentTarget.getAttribute(attrName))
}
m.render = renderService.render
m.redraw = redrawService.publish m.redraw = redrawService.publish
module.exports = m module.exports = m

8
util/prop.js Normal file
View file

@ -0,0 +1,8 @@
"use strict"
module.exports = function(store) {
return function() {
if (arguments.length > 0) store = arguments[0]
return store
}
}

5
util/withAttr.js Normal file
View file

@ -0,0 +1,5 @@
"use strict"
module.exports = function(attrName, callback, context) {
return callback.call(context || this, attrName in e.currentTarget ? e.currentTarget[attrName] : e.currentTarget.getAttribute(attrName))
}