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 }