Bundled output for commit ad46a21a7d [skip ci]
This commit is contained in:
parent
ad46a21a7d
commit
9ece9a9297
3 changed files with 56 additions and 50 deletions
21
mithril.js
21
mithril.js
|
|
@ -431,7 +431,7 @@ var coreRenderer = function($window) {
|
|||
if (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks)
|
||||
switch (tag) {
|
||||
case "#": return createText(parent, vnode, nextSibling)
|
||||
case "<": return createHTML(parent, vnode, nextSibling)
|
||||
case "<": return createHTML(parent, vnode, ns, nextSibling)
|
||||
case "[": return createFragment(parent, vnode, hooks, ns, nextSibling)
|
||||
default: return createElement(parent, vnode, hooks, ns, nextSibling)
|
||||
}
|
||||
|
|
@ -443,11 +443,16 @@ var coreRenderer = function($window) {
|
|||
insertNode(parent, vnode.dom, nextSibling)
|
||||
return vnode.dom
|
||||
}
|
||||
function createHTML(parent, vnode, nextSibling) {
|
||||
var possibleParents = {caption: "table", thead: "table", tbody: "table", tfoot: "table", tr: "tbody", th: "tr", td: "tr", colgroup: "table", col: "colgroup"}
|
||||
function createHTML(parent, vnode, ns, nextSibling) {
|
||||
var match1 = vnode.children.match(/^\s*?<(\w+)/im) || []
|
||||
var parent1 = {caption: "table", thead: "table", tbody: "table", tfoot: "table", tr: "tbody", th: "tr", td: "tr", colgroup: "table", col: "colgroup"}[match1[1]] || "div"
|
||||
var temp = $doc.createElement(parent1)
|
||||
temp.innerHTML = vnode.children
|
||||
var temp = $doc.createElement(possibleParents[match1[1]] || "div")
|
||||
if (ns === "http://www.w3.org/2000/svg") {
|
||||
temp.innerHTML = "<svg xmlns=\"http://www.w3.org/2000/svg\">" + vnode.children + "</svg>"
|
||||
temp = temp.firstChild
|
||||
} else {
|
||||
temp.innerHTML = vnode.children
|
||||
}
|
||||
vnode.dom = temp.firstChild
|
||||
vnode.domSize = temp.childNodes.length
|
||||
var fragment = $doc.createDocumentFragment()
|
||||
|
|
@ -768,7 +773,7 @@ var coreRenderer = function($window) {
|
|||
}
|
||||
switch (oldTag) {
|
||||
case "#": updateText(old, vnode); break
|
||||
case "<": updateHTML(parent, old, vnode, nextSibling); break
|
||||
case "<": updateHTML(parent, old, vnode, ns, nextSibling); break
|
||||
case "[": updateFragment(parent, old, vnode, recycling, hooks, nextSibling, ns); break
|
||||
default: updateElement(old, vnode, recycling, hooks, ns)
|
||||
}
|
||||
|
|
@ -786,10 +791,10 @@ var coreRenderer = function($window) {
|
|||
}
|
||||
vnode.dom = old.dom
|
||||
}
|
||||
function updateHTML(parent, old, vnode, nextSibling) {
|
||||
function updateHTML(parent, old, vnode, ns, nextSibling) {
|
||||
if (old.children !== vnode.children) {
|
||||
toFragment(old)
|
||||
createHTML(parent, vnode, nextSibling)
|
||||
createHTML(parent, vnode, ns, nextSibling)
|
||||
}
|
||||
else vnode.dom = old.dom, vnode.domSize = old.domSize
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue