editor: canvas - new ctrlx handler
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 4 Aug 2014 12:32:11 +0000 (14:32 +0200)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Thu, 14 Aug 2014 14:07:47 +0000 (16:07 +0200)
src/editor/modules/documentCanvas/canvas/keyboard.js

index e2479a5..f06f1f1 100644 (file)
@@ -179,14 +179,6 @@ var selectsWholeTextElement = function(cursor) {
     return false;
 };
 
     return false;
 };
 
-handlers.push({key: KEYS.X,
-    keydown: function(event, canvas) {
-        if(event.ctrlKey && selectsWholeTextElement(canvas.getCursor())) {
-            event.preventDefault();
-        }
-    }
-});
-
 handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE],
     keydown: function(event, canvas) {
         var cursor = canvas.getCursor(),
 handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE],
     keydown: function(event, canvas) {
         var cursor = canvas.getCursor(),
@@ -289,6 +281,19 @@ var handleKeyEvent = function(e, s) {
 };
 // todo: whileRemoveWholetext
 var keyEventHandlers = [
 };
 // todo: whileRemoveWholetext
 var keyEventHandlers = [
+    {
+        applies: function(e, s) {
+            return e.ctrlKey &&
+                e.key === KEYS.X &&
+                s.type === 'textSelection' &&
+                s.startsAtBeginning() &&
+                s.endsAtEnd();
+        },
+        run: function(e,s) {
+            void(s);
+            e.preventDefault();
+        }
+    },
     {
         applies: function(e, s) {
             return e.key === KEYS.ARROW_UP && s.type === 'caret';
     {
         applies: function(e, s) {
             return e.key === KEYS.ARROW_UP && s.type === 'caret';