onblur event now works
This commit is contained in:
parent
44c7015a26
commit
d9330cbab9
2 changed files with 5 additions and 4 deletions
|
|
@ -38,7 +38,7 @@ proc editInput(i: int; d: cstring): VNode =
|
|||
entries[i] = val
|
||||
selectedEntry = -1
|
||||
result = enterInput("todo-edit", d, onTodoChange)
|
||||
#result.setOnfocuslost(proc (ev: Event; n: VNode) = selectedEntry = -1)
|
||||
result.setOnfocuslost(proc (ev: Event; n: VNode) = selectedEntry = -1)
|
||||
|
||||
proc createEntry(i: int; d: cstring; selected: bool): VNode =
|
||||
# implement caching:
|
||||
|
|
|
|||
|
|
@ -46,11 +46,12 @@ proc vnodeToDom(n: VNode): Element =
|
|||
let myn = n
|
||||
for e, h in items(n.events):
|
||||
proc wrapper(): proc (ev: Event) =
|
||||
let hh = h
|
||||
result = proc (ev: Event) =
|
||||
assert myn != nil
|
||||
h(ev, myn)
|
||||
hh(ev, myn)
|
||||
result.addEventListener(toEventName[e], wrapper())
|
||||
if n.kind == VNodeKind.input:
|
||||
if n.kind == VNodeKind.input and toFocus.isNil:
|
||||
toFocus = result
|
||||
|
||||
proc same(n: VNode, e: Element): bool =
|
||||
|
|
@ -148,7 +149,7 @@ proc dodraw() =
|
|||
|
||||
proc redraw*() =
|
||||
# we buffer redraw requests:
|
||||
when false:
|
||||
when true:
|
||||
if drawTimeout != nil:
|
||||
clearTimeout(drawTimeout)
|
||||
drawTimeout = setTimeout(dodraw, 30)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue