on master help sign in
Update `isClickedOn` to work with new graphics system.
66dc52devancz
core-js/runtime/Signal.js+7−6
@@ -1,5 +1,9 @@
1
1
2var Signal = function() {
2var Signal = function() {
3+ function wrap(elem) {
4+ var p = Value.getSize(elem);
5+ return ["Element", Guid.guid(), ["EHtml",elem], p[0], p[1], 1, Nothing, Nothing];
6+ }
3 function toElmString(str) {
7 function toElmString(str) {
4 var out = ["Nil"];
8 var out = ["Nil"];
5 for (var i = str.length; i--; ) {
9 for (var i = str.length; i--; ) {
@@ -72,12 +76,13 @@ var Signal = function() {
72 this.removeEventListener('mousemove',arguments.callee,false);
76 this.removeEventListener('mousemove',arguments.callee,false);
73 });
77 });
74 var clickedOn = function(elem) {
78 var clickedOn = function(elem) {
79+ var node = Render.render(elem);
75 var click = Elm.Input(false);
80 var click = Elm.Input(false);
76− addListener(elem, 'click', function(e) {
81+ addListener(node, 'click', function(e) {
77 Dispatcher.notify(click.id, true);
82 Dispatcher.notify(click.id, true);
78 Dispatcher.notify(click.id, false);
83 Dispatcher.notify(click.id, false);
79 });
84 });
80− return Value.Tuple(elem, click);
85+ return Value.Tuple(wrap(node), click);
81 };
86 };
82 return {position: position,
87 return {position: position,
83 x:x,
88 x:x,
@@ -242,10 +247,6 @@ var Signal = function() {
242 return { inRange:inRange, randomize:randomize };
247 return { inRange:inRange, randomize:randomize };
243 }();
248 }();
244 var Input = function() {
249 var Input = function() {
245− function wrap(elem) {
246− var p = Value.getSize(elem);
247− return ["Element", Guid.guid(), ["EHtml",elem], p[0], p[1], 1, Nothing, Nothing];
248− }
249 var newTextInput = function(elem, ghostText) {
250 var newTextInput = function(elem, ghostText) {
250 elem.placeholder = Foreign.JavaScript.castStringToJSString(ghostText);
251 elem.placeholder = Foreign.JavaScript.castStringToJSString(ghostText);
251 var str = Elm.Input(["Nil"]);
252 var str = Elm.Input(["Nil"]);