pavone@11: #{ pavone@11: //mquery functions pavone@11: q <- foreign: :query {} pavone@11: qall <- foreign: :query {} pavone@11: each <- foreign: :iterable fun {} pavone@11: addClass <- foreign: :node className {} pavone@11: removeClass <- foreign: :node className {} pavone@12: get <- foreign: :url onSuccess onFail onOther {} pavone@11: pavone@11: //tabletprog JS helpers pavone@11: setP <- foreign: :object property val {} pavone@11: getP <- foreign: :object property {} pavone@11: pavone@11: //js builtins pavone@11: console <- foreign: #{ pavone@11: log <- foreign: #{} pavone@11: } pavone@11: pavone@11: main <- { pavone@12: //bind handlers for file browser links pavone@12: each: (qall: "a") :idx el { pavone@12: el setP: "onclick" :event { pavone@12: console log: "click" pavone@12: link <- foreign: this pavone@12: get: (link getP: "href") :request { pavone@12: addClass: (q: "body") "editorMode" pavone@12: console log: (request getP: "responseText") pavone@12: (q: "#src") setP: "textContent" (request getP: "responseText") pavone@12: } pavone@12: console log: "returning false" pavone@12: foreign: false pavone@12: } pavone@12: } pavone@12: pavone@12: //bind handlers for editor buttons pavone@12: each: (qall: ".controls li") :idx el { pavone@11: el setP: "onclick" :event { pavone@11: srcel <- (q: "#src") pavone@12: srcel setP: "textContent" (srcel getP: "textContent") + (el getP: "textContent") pavone@11: } pavone@11: } pavone@11: (q: "#ops_button") setP: "onclick" :event { pavone@11: addClass: (q: ".controls") "showops" pavone@11: } pavone@11: pavone@11: (q: "#builtin_button") setP: "onclick" :event { pavone@11: removeClass: (q: ".controls") "showops" pavone@11: } pavone@11: } pavone@11: pavone@11: }