Mercurial > repos > tabletprog
comparison src/editor.tp @ 124:1157639353e7
Add dummy handler for clicking a symbol while a lambda is selected. Fix the code for selecting the first inner node of an object literal.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 05 Aug 2013 21:38:38 -0700 |
parents | d5dc9507d612 |
children | 2b25d0ce2946 |
comparison
equal
deleted
inserted
replaced
123:da7f585bf626 | 124:1157639353e7 |
---|---|
228 } | 228 } |
229 | 229 |
230 lambdaClick <- :domnode astnode event { | 230 lambdaClick <- :domnode astnode event { |
231 selectNode: domnode | 231 selectNode: domnode |
232 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { | 232 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { |
233 domnode textContent!: key | 233 console log: "foooobar!" |
234 astnode name!: key | |
235 } | 234 } |
236 inner <- if: ((astnode args) length) > 0 { | 235 inner <- if: ((astnode args) length) > 0 { |
237 (astnode args) getEl: 0 | 236 (astnode args) getEl: 0 |
238 } else: { | 237 } else: { |
239 (astnode expressions) getEl: 0 | 238 (astnode expressions) getEl: 0 |
245 objectClick <- :domnode astnode event { | 244 objectClick <- :domnode astnode event { |
246 selectNode: domnode | 245 selectNode: domnode |
247 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { | 246 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { |
248 console log: "fooobar!" | 247 console log: "fooobar!" |
249 } | 248 } |
249 setSelection: astnode withInNode: ((astnode messages) getEl: 0) | |
250 event stopPropagation: (foreign: undefined) | 250 event stopPropagation: (foreign: undefined) |
251 } | 251 } |
252 | 252 |
253 visible <- "showops" | 253 visible <- "showops" |
254 | 254 |
290 li appendChild: nel | 290 li appendChild: nel |
291 (q: "#browser ul") appendChild: li | 291 (q: "#browser ul") appendChild: li |
292 } | 292 } |
293 } | 293 } |
294 } | 294 } |
295 | 295 |
296 //bind handlers for editor buttons | 296 //bind handlers for editor buttons |
297 each: (qall: ".controls li") :idx el { | 297 each: (qall: ".controls li") :idx el { |
298 el onclick!: :event { | 298 el onclick!: :event { |
299 srcel <- (q: "#src") | 299 srcel <- (q: "#src") |
300 srcel textContent!: (srcel textContent) + (el textContent) | 300 srcel textContent!: (srcel textContent) + (el textContent) |
304 showOps | 304 showOps |
305 } | 305 } |
306 (q: "#lit_button") onclick!: :event { | 306 (q: "#lit_button") onclick!: :event { |
307 showLit | 307 showLit |
308 } | 308 } |
309 | 309 |
310 (q: "#in") onclick!: :event { | 310 (q: "#in") onclick!: :event { |
311 console log: "inwards" | 311 console log: "inwards" |
312 if: (selection valid?) { | 312 if: (selection valid?) { |
313 selection in | 313 selection in |
314 } | 314 } |
315 } | 315 } |
316 | 316 |
317 (q: "#out") onclick!: :event { | 317 (q: "#out") onclick!: :event { |
318 console log: "outwards" | 318 console log: "outwards" |
319 if: (selection valid?) { | 319 if: (selection valid?) { |
320 selection out | 320 selection out |
321 } | 321 } |
322 } | 322 } |
323 | 323 |
324 path <- (window location) pathname | 324 path <- (window location) pathname |
325 if: (path indexOf: "/edit/") = 0 { | 325 if: (path indexOf: "/edit/") = 0 { |
326 editFile: (path substr: 5) | 326 editFile: (path substr: 5) |
327 } | 327 } |
328 } | 328 } |