Mercurial > repos > tabletprog
view editor.tp @ 16:59e83296e331
Add populateSymbols method to AST
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 25 Mar 2012 14:25:33 -0700 |
parents | 85fb6ba15bc6 |
children | 7400bb42e0c9 |
line wrap: on
line source
#{ //mquery functions q <- foreign: :query {} qall <- foreign: :query {} each <- foreign: :iterable fun {} addClass <- foreign: :node className {} removeClass <- foreign: :node className {} get <- foreign: :url onSuccess onFail onOther {} //JS interop helpers setP <- foreign: :object property val {} getP <- foreign: :object property {} //TP Parser parser <- foreign: #{ parse <- foreign: :str {} } //js builtins console <- foreign: #{ log <- foreign: #{} } main <- { //bind handlers for file browser links each: (qall: "a") :idx el { el setP: "onclick" :event { console log: "click" link <- foreign: this get: (link getP: "href") :request { addClass: (q: "body") "editorMode" src <- request getP: "responseText" console log: src ast <- parser parse: src console log: ast ast toHTML: (q: "#src") //(q: "#src") setP: "textContent" (request getP: "responseText") } foreign: false } } //bind handlers for editor buttons each: (qall: ".controls li") :idx el { el setP: "onclick" :event { srcel <- (q: "#src") srcel setP: "textContent" (srcel getP: "textContent") + (el getP: "textContent") } } (q: "#ops_button") setP: "onclick" :event { addClass: (q: ".controls") "showops" } (q: "#builtin_button") setP: "onclick" :event { removeClass: (q: ".controls") "showops" } } }