[render/hyperscript] Normalize to class attrs to className, ignore only nullish values
This commit is contained in:
parent
15cf47a829
commit
32b319d140
2 changed files with 21 additions and 13 deletions
|
|
@ -51,15 +51,17 @@ function execSelector(state, attrs, children) {
|
||||||
attrs[key] = state.attrs[key]
|
attrs[key] = state.attrs[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (className || state.attrs.className) attrs[classAttr] =
|
if (className != null || state.attrs.className != null) attrs.className =
|
||||||
className
|
className != null
|
||||||
? state.attrs.className
|
? state.attrs.className != null
|
||||||
? state.attrs.className + " " + className
|
? state.attrs.className + " " + className
|
||||||
: className
|
: className
|
||||||
: state.attrs.className
|
: state.attrs.className != null
|
||||||
? state.attrs.className
|
? state.attrs.className
|
||||||
: null
|
: null
|
||||||
|
|
||||||
|
if (classAttr === "class") attrs.class = null
|
||||||
|
|
||||||
for (var key in attrs) {
|
for (var key in attrs) {
|
||||||
if (hasOwn.call(attrs, key) && key !== "key") {
|
if (hasOwn.call(attrs, key) && key !== "key") {
|
||||||
hasAttrs = true
|
hasAttrs = true
|
||||||
|
|
|
||||||
|
|
@ -25,37 +25,43 @@ o.spec("hyperscript", function() {
|
||||||
o(m("a", {
|
o(m("a", {
|
||||||
class: undefined
|
class: undefined
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: undefined
|
class: null
|
||||||
})
|
})
|
||||||
o(m("a", {
|
o(m("a", {
|
||||||
class: false
|
class: false
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: false
|
class: null,
|
||||||
|
className: false
|
||||||
})
|
})
|
||||||
o(m("a", {
|
o(m("a", {
|
||||||
class: true
|
class: true
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: true
|
class: null,
|
||||||
|
className: true
|
||||||
})
|
})
|
||||||
o(m("a.x", {
|
o(m("a.x", {
|
||||||
class: null
|
class: null
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: "x"
|
class: null,
|
||||||
|
className: "x"
|
||||||
})
|
})
|
||||||
o(m("a.x", {
|
o(m("a.x", {
|
||||||
class: undefined
|
class: undefined
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: "x"
|
class: null,
|
||||||
|
className: "x"
|
||||||
})
|
})
|
||||||
o(m("a.x", {
|
o(m("a.x", {
|
||||||
class: false
|
class: false
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: "x"
|
class: null,
|
||||||
|
className: "x false"
|
||||||
})
|
})
|
||||||
o(m("a.x", {
|
o(m("a.x", {
|
||||||
class: true
|
class: true
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
class: "x true"
|
class: null,
|
||||||
|
className: "x true"
|
||||||
})
|
})
|
||||||
o(m("a", {
|
o(m("a", {
|
||||||
className: null
|
className: null
|
||||||
|
|
@ -90,7 +96,7 @@ o.spec("hyperscript", function() {
|
||||||
o(m("a.x", {
|
o(m("a.x", {
|
||||||
className: false
|
className: false
|
||||||
}).attrs).deepEquals({
|
}).attrs).deepEquals({
|
||||||
className: "x"
|
className: "x false"
|
||||||
})
|
})
|
||||||
o(m("a.x", {
|
o(m("a.x", {
|
||||||
className: true
|
className: true
|
||||||
|
|
@ -288,7 +294,7 @@ o.spec("hyperscript", function() {
|
||||||
o("handles merging classes w/ class property", function() {
|
o("handles merging classes w/ class property", function() {
|
||||||
var vnode = m(".a", {class: "b"})
|
var vnode = m(".a", {class: "b"})
|
||||||
|
|
||||||
o(vnode.attrs.class).equals("a b")
|
o(vnode.attrs.className).equals("a b")
|
||||||
})
|
})
|
||||||
o("handles merging classes w/ className property", function() {
|
o("handles merging classes w/ className property", function() {
|
||||||
var vnode = m(".a", {className: "b"})
|
var vnode = m(".a", {className: "b"})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue