diff --git a/examples/mediaplayer/playerapp.html b/examples/mediaplayer/playerapp.html index 7b617f6..9e076e6 100644 --- a/examples/mediaplayer/playerapp.html +++ b/examples/mediaplayer/playerapp.html @@ -10,9 +10,6 @@
- diff --git a/examples/mediaplayer/playerapp.nim b/examples/mediaplayer/playerapp.nim index 7a1ddb4..e611eec 100644 --- a/examples/mediaplayer/playerapp.nim +++ b/examples/mediaplayer/playerapp.nim @@ -19,6 +19,3 @@ proc createDom(): VNode = mplayer("vid4", url) setRenderer createDom - -proc onload() {.exportc.} = - init() diff --git a/examples/todoapp/todoapp.html b/examples/todoapp/todoapp.html index 726070a..488a3bf 100644 --- a/examples/todoapp/todoapp.html +++ b/examples/todoapp/todoapp.html @@ -11,9 +11,6 @@
- diff --git a/examples/todoapp/todoapp.nim b/examples/todoapp/todoapp.nim index 23840f7..f2f0083 100644 --- a/examples/todoapp/todoapp.nim +++ b/examples/todoapp/todoapp.nim @@ -106,11 +106,8 @@ proc createDom(): VNode = text "Clear completed (" & &completedCount & ")" setOnHashChange(proc(hash: cstring) = - if hash == cstring"#/": filter = all - elif hash == cstring"#/completed": filter = completed - elif hash == cstring"#/active": filter = active + if hash == "#/": filter = all + elif hash == "#/completed": filter = completed + elif hash == "#/active": filter = active ) setRenderer createDom - -proc onload() {.exportc.} = - init() diff --git a/src/karax.nim b/src/karax.nim index 99e103b..00efc5e 100644 --- a/src/karax.nim +++ b/src/karax.nim @@ -112,14 +112,11 @@ var dorender: proc (): VNode {.closure.} currentTree: VNode -proc setRenderer*(renderer: proc (): VNode) = - dorender = renderer - proc setTimeout*(action: proc(); ms: int): Timeout {.importc, nodecl.} proc clearTimeout*(t: Timeout) {.importc, nodecl.} #proc targetElem*(e: Event): Element = cast[Element](e.target) -proc getElementById*(id: cstring): Element {.importc: "document.getElementById", nodecl.} +proc getElementById(id: cstring): Element {.importc: "document.getElementById", nodecl.} #proc getElementsByClassName*(cls: cstring): seq[Element] {.importc: # "document.getElementsByClassName", nodecl.} @@ -259,9 +256,13 @@ proc redraw*() = else: dodraw() -proc init*() = +proc init(ev: Event) = reqFrame(dodraw) +proc setRenderer*(renderer: proc (): VNode) = + dorender = renderer + window.onload = init + proc scrollTop*(e: Node): int {.importcpp: "#.scrollTop", nodecl.} proc offsetHeight*(e: Node): int {.importcpp: "#.offsetHeight", nodecl.} proc offsetTop*(e: Node): int {.importcpp: "#.offsetTop", nodecl.}