Browse Source

Fix repeated key binder.

Bind using jQuery to match unbind.
Herby Vojčík 4 years ago
parent
commit
65f2a2b5d7
2 changed files with 10 additions and 8 deletions
  1. 7 5
      src/Helios-Core.js
  2. 3 3
      src/Helios-Core.st

+ 7 - 5
src/Helios-Core.js

@@ -2038,9 +2038,11 @@ $1=$self._wrapper();
 if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
-$2=$self.wrapper;
-$recv($2)._onKeyDown_(keyDownBlock);
-$recv($2)._onKeyUp_(keyUpBlock);
+var wrappr;
+wrappr=$receiver;
+$2=$recv(wrappr)._asJQuery();
+$recv($2)._keydown_(keyDownBlock);
+$recv($2)._keyup_(keyUpBlock);
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2049,11 +2051,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["keyDownBlock", "keyUpBlock"],
-source: "bindKeyDown: keyDownBlock keyUp: keyUpBlock\x0a\x09self wrapper ifNotNil: [ wrapper\x0a\x09\x09onKeyDown: keyDownBlock;\x0a\x09\x09onKeyUp: keyUpBlock ]",
+source: "bindKeyDown: keyDownBlock keyUp: keyUpBlock\x0a\x09self wrapper ifNotNil: [ :wrappr | wrappr asJQuery\x0a\x09\x09keydown: keyDownBlock;\x0a\x09\x09keyup: keyUpBlock ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["ifNotNil:", "wrapper", "onKeyDown:", "onKeyUp:"]
+messageSends: ["ifNotNil:", "wrapper", "keydown:", "asJQuery", "keyup:"]
 }),
 $globals.HLWidget);
 

+ 3 - 3
src/Helios-Core.st

@@ -600,9 +600,9 @@ defaultTabLabel
 !HLWidget methodsFor: 'keybindings'!
 
 bindKeyDown: keyDownBlock keyUp: keyUpBlock
-	self wrapper ifNotNil: [ wrapper
-		onKeyDown: keyDownBlock;
-		onKeyUp: keyUpBlock ]
+	self wrapper ifNotNil: [ :wrappr | wrappr asJQuery
+		keydown: keyDownBlock;
+		keyup: keyUpBlock ]
 !
 
 registerBindings