Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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:
|
||||
updateStyles(newNode, oldNode)
|
||||
updateAttributes(newNode, oldNode)
|
||||
|
||||
if oldNode.kind == VNodeKind.text:
|
||||
oldNode.text = 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:
|
||||
mergeEvents(newNode, oldNode, kxi)
|
||||
|
||||
|
|
|
|||
|
|
@ -7,4 +7,10 @@ when not declared(dom.DomApiVersion):
|
|||
|
||||
else:
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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; 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 getElementsByClass*(n: Node; name: cstring): seq[Node] {.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue