Mercurial > repos > tabletprog
comparison editor.js @ 29:18cec540238a
Prevent event bubbling so lambda click handler doesn't get called when clicking on an element inside it
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 05 Apr 2012 21:06:43 -0700 |
parents | 93bbc4c8be95 |
children | 648659961e0e |
comparison
equal
deleted
inserted
replaced
28:93bbc4c8be95 | 29:18cec540238a |
---|---|
12 | 12 |
13 lambda.prototype.toHTML = function(node) { | 13 lambda.prototype.toHTML = function(node) { |
14 var astNode = this; | 14 var astNode = this; |
15 var el = newEl('div', { | 15 var el = newEl('div', { |
16 className: 'lambda', | 16 className: 'lambda', |
17 onclick: function() { | 17 onclick: function(event) { |
18 return mainModule.lambdaClick(this, astNode); | 18 mainModule.lambdaClick(this, astNode, event); |
19 } | 19 } |
20 }); | 20 }); |
21 var args = newEl('div', { | 21 var args = newEl('div', { |
22 className: 'args' | 22 className: 'args' |
23 }); | 23 }); |
94 for (var i in parts ) { | 94 for (var i in parts ) { |
95 if(parts[i]) { | 95 if(parts[i]) { |
96 base.appendChild(newEl('span', { | 96 base.appendChild(newEl('span', { |
97 textContent: parts[i] + (this.receiver && parts.length == 1 ? '' : ':'), | 97 textContent: parts[i] + (this.receiver && parts.length == 1 ? '' : ':'), |
98 className: 'funpart', | 98 className: 'funpart', |
99 onclick: function() { | 99 onclick: function(event) { |
100 return mainModule.funClick(this, astNode); | 100 mainModule.funClick(this, astNode, event); |
101 }})); | 101 }})); |
102 if (this.args[i]) { | 102 if (this.args[i]) { |
103 this.args[i].toHTML(base); | 103 this.args[i].toHTML(base); |
104 } | 104 } |
105 } | 105 } |
113 symbol.prototype.toHTML = function(node) { | 113 symbol.prototype.toHTML = function(node) { |
114 var astNode = this; | 114 var astNode = this; |
115 node.appendChild(newEl('span', { | 115 node.appendChild(newEl('span', { |
116 className: 'symbol', | 116 className: 'symbol', |
117 textContent: this.name, | 117 textContent: this.name, |
118 onclick: function() { | 118 onclick: function(event) { |
119 return mainModule.symbolClick(this, astNode); | 119 mainModule.symbolClick(this, astNode, event); |
120 } | 120 } |
121 })); | 121 })); |
122 } | 122 } |