parent
85c81d8c0e
commit
0b43ee44d9
3 changed files with 17 additions and 0 deletions
|
|
@ -472,10 +472,18 @@ proc diff(newNode, oldNode: VNode; parent, current: Node; kxi: KaraxInstance) =
|
||||||
if result == similar:
|
if result == similar:
|
||||||
updateStyles(newNode, oldNode)
|
updateStyles(newNode, oldNode)
|
||||||
updateAttributes(newNode, oldNode)
|
updateAttributes(newNode, oldNode)
|
||||||
|
|
||||||
if oldNode.kind == VNodeKind.text:
|
if oldNode.kind == VNodeKind.text:
|
||||||
oldNode.text = newNode.text
|
oldNode.text = newNode.text
|
||||||
oldNode.dom.nodeValue = newNode.text
|
oldNode.dom.nodeValue = newNode.text
|
||||||
|
|
||||||
|
# Set the value of the input field to update
|
||||||
|
if oldNode.kind == VNodeKind.input:
|
||||||
|
oldNode.dom.value = newNode.text
|
||||||
|
|
||||||
|
let checked = newNode.getAttr("checked")
|
||||||
|
oldNode.dom.checked = if checked.isNil: false else: true
|
||||||
|
|
||||||
if newNode.events.len != 0 or oldNode.events.len != 0:
|
if newNode.events.len != 0 or oldNode.events.len != 0:
|
||||||
mergeEvents(newNode, oldNode, kxi)
|
mergeEvents(newNode, oldNode, kxi)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,10 @@ when not declared(dom.DomApiVersion):
|
||||||
|
|
||||||
else:
|
else:
|
||||||
import dom
|
import dom
|
||||||
|
|
||||||
|
when not declared(dom.checked):
|
||||||
|
proc checked*(n: Node): bool {.importcpp: "#.checked", nodecl.}
|
||||||
|
when not declared(dom.`checked=`):
|
||||||
|
proc `checked=`*(n: Node; v: bool) {.importcpp: "#.checked = #", nodecl.}
|
||||||
|
|
||||||
export dom
|
export dom
|
||||||
|
|
|
||||||
|
|
@ -1203,6 +1203,9 @@ proc `class=`*(n: Node; v: cstring) {.importcpp: "#.className = #", nodecl.}
|
||||||
proc value*(n: Node): cstring {.importcpp: "#.value", nodecl.}
|
proc value*(n: Node): cstring {.importcpp: "#.value", nodecl.}
|
||||||
proc `value=`*(n: Node; v: cstring) {.importcpp: "#.value = #", nodecl.}
|
proc `value=`*(n: Node; v: cstring) {.importcpp: "#.value = #", nodecl.}
|
||||||
|
|
||||||
|
proc checked*(n: Node): bool {.importcpp: "#.checked", nodecl.}
|
||||||
|
proc `checked=`*(n: Node; v: bool) {.importcpp: "#.checked = #", nodecl.}
|
||||||
|
|
||||||
proc `disabled=`*(n: Node; v: bool) {.importcpp: "#.disabled = #", nodecl.}
|
proc `disabled=`*(n: Node; v: bool) {.importcpp: "#.disabled = #", nodecl.}
|
||||||
|
|
||||||
proc getElementsByClass*(n: Node; name: cstring): seq[Node] {.
|
proc getElementsByClass*(n: Node; name: cstring): seq[Node] {.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue