]> gitweb.factorcode.org Git - factor.git/blob - extra/fjsc/resources/bootstrap.factor
Fix comments to be ! not #!.
[factor.git] / extra / fjsc / resources / bootstrap.factor
1 IN: namespaces
2 USE: kernel-internals
3 : with-variables ( ns quot -- )
4   swap >n call n> drop ;
5
6 "browser-dom" set-in
7
8 : elements ( string -- result )
9   ! Call JQuery's $ function
10   window { "result" } "" "$" { "string" } alien-invoke ;
11   
12 : html ( string -- element ) 
13   ! Set the innerHTML of element using jQuery
14   { } "" "html" { "string" } alien-invoke ;
15
16 : bind-event ( name element quot -- )
17   >function swap { } "" "with-variables" { "string" "function" } alien-invoke ;
18
19 "scratchpad" set-in
20
21 : example1 ( -- )
22   "<button id='test'>Press Me</button>" "#playground" elements html ;
23
24 : example2 ( -- )
25   "click" "#test" elements [ "clicked" alert ] bind-event ;
26
27 : example3 ( -- )
28   [
29     [
30       >r "click" "#test" elements r> [ continue ] curry bind-event
31       "Waiting for click on button" alert
32       continue
33     ] callcc0
34     drop "Click done!" alert 
35   ] callcc0 ;
36   
37 : alert ( string -- )
38   ! Display the string in an alert box
39   window { } "" "alert" { "string" } alien-invoke ;