Mercurial > repos > tabletprog
changeset 17:7400bb42e0c9
Add direct file edit link support
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 25 Mar 2012 15:31:10 -0700 |
parents | 59e83296e331 |
children | 4dd99fde5f63 |
files | editor.tp index.html |
diffstat | 2 files changed, 47 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/editor.tp Sun Mar 25 14:25:33 2012 -0700 +++ b/editor.tp Sun Mar 25 15:31:10 2012 -0700 @@ -20,22 +20,41 @@ console <- foreign: #{ log <- foreign: #{} } +window <- #{} +//kernel definitions +true <- #{ + if:else <- :self trueblock :elseblock { + trueblock: + } +} + +false <- #{ + if:else <- :self trueblock :elseblock { + elseblock: + } +} + +editFile <- :path { + get: path :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") + } +} + +//editor code 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") - } + editFile: (link getP: "href") foreign: false } } @@ -54,6 +73,13 @@ (q: "#builtin_button") setP: "onclick" :event { removeClass: (q: ".controls") "showops" } + + path <- (window getP: "location") getP: "pathname" + if: (path indexOf: "/edit/") = 0 { + editFile: (path substr: 5) + } else: { + console log: "not edit page" + } } }
--- a/index.html Sun Mar 25 14:25:33 2012 -0700 +++ b/index.html Sun Mar 25 15:31:10 2012 -0700 @@ -2,22 +2,22 @@ <html> <head> <title>Awesome!</title> - <script src="mquery.js"></script> - <script src="peg.js"></script> - <script src="mquery.js"></script> - <script src="parser.js"></script> - <script src="compiler.js"></script> - <script src="jsbackend.js"></script> - <script src="editor.js"></script> - <script src="scripttags.js"></script> - <script src="editor.tp" type="text/tabletprog"></script> - <link rel="stylesheet" href="editor.css"> + <script src="/mquery.js"></script> + <script src="/peg.js"></script> + <script src="/mquery.js"></script> + <script src="/parser.js"></script> + <script src="/compiler.js"></script> + <script src="/jsbackend.js"></script> + <script src="/editor.js"></script> + <script src="/scripttags.js"></script> + <script src="/editor.tp" type="text/tabletprog"></script> + <link rel="stylesheet" href="/editor.css"> </head> <body> <div id="browser"> <ul> - <li><a href="editor.tp">editor.tp</a></li> - <li><a href="samples/fib.tp">samples/fib.tp</a></li> + <li><a href="/edit/editor.tp">editor.tp</a></li> + <li><a href="/edit/samples/fib.tp">samples/fib.tp</a></li> </ul> </div> <div id="editor">