fixes #141
This commit is contained in:
parent
6b753009ac
commit
02038d40c1
1 changed files with 5 additions and 1 deletions
|
|
@ -154,7 +154,9 @@ proc getVNodeById*(id: cstring; kxi: KaraxInstance = kxi): VNode =
|
||||||
|
|
||||||
proc toDom*(n: VNode; useAttachedNode: bool; kxi: KaraxInstance = nil): Node =
|
proc toDom*(n: VNode; useAttachedNode: bool; kxi: KaraxInstance = nil): Node =
|
||||||
if useAttachedNode:
|
if useAttachedNode:
|
||||||
if n.dom != nil: return n.dom
|
if n.dom != nil:
|
||||||
|
if n.id != nil: kxi.byId[n.id] = n
|
||||||
|
return n.dom
|
||||||
if n.kind == VNodeKind.text:
|
if n.kind == VNodeKind.text:
|
||||||
result = document.createTextNode(n.text)
|
result = document.createTextNode(n.text)
|
||||||
attach n
|
attach n
|
||||||
|
|
@ -383,6 +385,8 @@ proc addPatchV(kxi: KaraxInstance; parent: VNode; pos: int; newChild: VNode) =
|
||||||
proc moveDom(dest, src: VNode) =
|
proc moveDom(dest, src: VNode) =
|
||||||
dest.dom = src.dom
|
dest.dom = src.dom
|
||||||
src.dom = nil
|
src.dom = nil
|
||||||
|
if dest.id != nil:
|
||||||
|
kxi.byId[dest.id] = dest
|
||||||
assert dest.len == src.len
|
assert dest.len == src.len
|
||||||
for i in 0..<dest.len:
|
for i in 0..<dest.len:
|
||||||
moveDom(dest[i], src[i])
|
moveDom(dest[i], src[i])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue