normalize arrays
This commit is contained in:
parent
8ff54ccbfd
commit
1e829f1657
2 changed files with 24 additions and 1 deletions
14
mithril.js
14
mithril.js
|
|
@ -20,7 +20,19 @@ Mithril = m = new function app(window) {
|
||||||
}
|
}
|
||||||
if (classes.length > 0) cell.attrs[classAttrName] = classes.join(" ")
|
if (classes.length > 0) cell.attrs[classAttrName] = classes.join(" ")
|
||||||
|
|
||||||
cell.children = hasAttrs ? args[2] : args[1]
|
var children = hasAttrs ? args[2] : args[1]
|
||||||
|
if (children instanceof Array) {
|
||||||
|
cell.children = []
|
||||||
|
for (var i = 0; i < children.length; i++) {
|
||||||
|
var child = children[i]
|
||||||
|
if (child instanceof Array) children.push.apply(cell.children, child)
|
||||||
|
else cell.children.push(child)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cell.children = children
|
||||||
|
}
|
||||||
|
|
||||||
for (var attrName in attrs) {
|
for (var attrName in attrs) {
|
||||||
if (attrName == classAttrName) cell.attrs[attrName] = (cell.attrs[attrName] || "") + " " + attrs[attrName]
|
if (attrName == classAttrName) cell.attrs[attrName] = (cell.attrs[attrName] || "") + " " + attrs[attrName]
|
||||||
else cell.attrs[attrName] = attrs[attrName]
|
else cell.attrs[attrName] = attrs[attrName]
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,17 @@ function testMithril(mock) {
|
||||||
m.render(root, [[], m("div")])
|
m.render(root, [[], m("div")])
|
||||||
return root.childNodes.length == 1 && root.childNodes[0].nodeName == "DIV"
|
return root.childNodes.length == 1 && root.childNodes[0].nodeName == "DIV"
|
||||||
})
|
})
|
||||||
|
test(function() {
|
||||||
|
//https://github.com/lhorie/mithril.js/issues/156
|
||||||
|
var root = mock.document.createElement("div")
|
||||||
|
m.render(root, m("div", [
|
||||||
|
["a", "b", "c", "d"].map(function() {
|
||||||
|
return [m("div"), " "]
|
||||||
|
}),
|
||||||
|
m("span")
|
||||||
|
]))
|
||||||
|
return root.childNodes[0].childNodes[8].nodeName == "SPAN"
|
||||||
|
})
|
||||||
//end m.render
|
//end m.render
|
||||||
|
|
||||||
//m.redraw
|
//m.redraw
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue