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">