rollback dom.value behaviour; fixes removeEventListener problem

This commit is contained in:
Andreas Rumpf 2017-06-29 11:04:43 +02:00
commit e739909466

View file

@ -213,6 +213,7 @@ proc updateStyles(newNode, oldNode: VNode) =
proc mergeEvents(newNode, oldNode: VNode; kxi: KaraxInstance) = proc mergeEvents(newNode, oldNode: VNode; kxi: KaraxInstance) =
let d = oldNode.dom let d = oldNode.dom
if d != nil:
for i in 0..<oldNode.events.len: for i in 0..<oldNode.events.len:
let k = oldNode.events[i][0] let k = oldNode.events[i][0]
let name = case k let name = case k
@ -275,8 +276,8 @@ proc diff(newNode, oldNode: VNode; parent, current: Node; kxi: KaraxInstance): E
if result == similar: updateStyles(newNode, oldNode) if result == similar: updateStyles(newNode, oldNode)
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)
if newNode.kind == VNodeKind.input or newNode.kind == VNodeKind.textarea: #if newNode.kind == VNodeKind.input or newNode.kind == VNodeKind.textarea:
oldNode.dom.value = newNode.text # oldNode.dom.value = newNode.text
let newLength = newNode.len let newLength = newNode.len
var oldLength = oldNode.len var oldLength = oldNode.len