Added support for converting numbers, booleans and nils to virtual DOM as strings. Fixes #13.
This commit is contained in:
parent
3c7b438f0e
commit
8248706ce5
1 changed files with 12 additions and 4 deletions
|
@ -30,11 +30,14 @@
|
||||||
(defn- get-element-state [x]
|
(defn- get-element-state [x]
|
||||||
;;(get element-state-lookup x)
|
;;(get element-state-lookup x)
|
||||||
(when-let [node-id (get-node-id x)]
|
(when-let [node-id (get-node-id x)]
|
||||||
(aget element-state-lookup node-id))
|
(aget element-state-lookup node-id)))
|
||||||
)
|
|
||||||
|
(extend-protocol IElementSpec
|
||||||
|
boolean
|
||||||
|
(-get-virtual-dom [x] (str x)))
|
||||||
|
|
||||||
(defn- get-virtual-dom [x]
|
(defn- get-virtual-dom [x]
|
||||||
(when x
|
(if x
|
||||||
(cond
|
(cond
|
||||||
(dom-node? x)
|
(dom-node? x)
|
||||||
(when-let [state (get-element-state x)]
|
(when-let [state (get-element-state x)]
|
||||||
|
@ -44,7 +47,12 @@
|
||||||
|
|
||||||
(vector? x) x
|
(vector? x) x
|
||||||
|
|
||||||
:default (-get-virtual-dom x))))
|
(number? x) (str x)
|
||||||
|
|
||||||
|
:default (-get-virtual-dom x))
|
||||||
|
|
||||||
|
;; nil values treated as empty "placeholder" text nodes
|
||||||
|
""))
|
||||||
|
|
||||||
(defn- reset-element-spec! [dom-node spec]
|
(defn- reset-element-spec! [dom-node spec]
|
||||||
(set! (.-element-spec (get-element-state dom-node)) spec))
|
(set! (.-element-spec (get-element-state dom-node)) spec))
|
||||||
|
|
Loading…
Reference in a new issue