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 }