comparison editor.tp @ 17:7400bb42e0c9

Add direct file edit link support
author Mike Pavone <pavone@retrodev.com>
date Sun, 25 Mar 2012 15:31:10 -0700
parents 85fb6ba15bc6
children 4dd99fde5f63
comparison
equal deleted inserted replaced
16:59e83296e331 17:7400bb42e0c9
18 18
19 //js builtins 19 //js builtins
20 console <- foreign: #{ 20 console <- foreign: #{
21 log <- foreign: #{} 21 log <- foreign: #{}
22 } 22 }
23 window <- #{}
23 24
25 //kernel definitions
26 true <- #{
27 if:else <- :self trueblock :elseblock {
28 trueblock:
29 }
30 }
31
32 false <- #{
33 if:else <- :self trueblock :elseblock {
34 elseblock:
35 }
36 }
37
38 editFile <- :path {
39 get: path :request {
40 addClass: (q: "body") "editorMode"
41 src <- request getP: "responseText"
42 console log: src
43 ast <- parser parse: src
44 console log: ast
45 ast toHTML: (q: "#src")
46 //(q: "#src") setP: "textContent" (request getP: "responseText")
47 }
48 }
49
50 //editor code
24 main <- { 51 main <- {
25 //bind handlers for file browser links 52 //bind handlers for file browser links
26 each: (qall: "a") :idx el { 53 each: (qall: "a") :idx el {
27 el setP: "onclick" :event { 54 el setP: "onclick" :event {
28 console log: "click" 55 console log: "click"
29 link <- foreign: this 56 link <- foreign: this
30 get: (link getP: "href") :request { 57 editFile: (link getP: "href")
31 addClass: (q: "body") "editorMode"
32 src <- request getP: "responseText"
33 console log: src
34 ast <- parser parse: src
35 console log: ast
36 ast toHTML: (q: "#src")
37 //(q: "#src") setP: "textContent" (request getP: "responseText")
38 }
39 foreign: false 58 foreign: false
40 } 59 }
41 } 60 }
42 61
43 //bind handlers for editor buttons 62 //bind handlers for editor buttons
52 } 71 }
53 72
54 (q: "#builtin_button") setP: "onclick" :event { 73 (q: "#builtin_button") setP: "onclick" :event {
55 removeClass: (q: ".controls") "showops" 74 removeClass: (q: ".controls") "showops"
56 } 75 }
76
77 path <- (window getP: "location") getP: "pathname"
78 if: (path indexOf: "/edit/") = 0 {
79 editFile: (path substr: 5)
80 } else: {
81 console log: "not edit page"
82 }
57 } 83 }
58 84
59 } 85 }