https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112860

Revision: 112860
Author:   inez
Date:     2012-03-02 00:34:31 +0000 (Fri, 02 Mar 2012)
Log Message:
-----------
Fix bug in Chrome when moving cursor with left/right arrow in between <table> 
and textnode

Modified Paths:
--------------
    trunk/extensions/VisualEditor/modules/ve/ce/ve.es.Surface.js

Modified: trunk/extensions/VisualEditor/modules/ve/ce/ve.es.Surface.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/ve.es.Surface.js        
2012-03-02 00:31:33 UTC (rev 112859)
+++ trunk/extensions/VisualEditor/modules/ve/ce/ve.es.Surface.js        
2012-03-02 00:34:31 UTC (rev 112860)
@@ -274,7 +274,6 @@
 };
 
 ve.es.Surface.prototype.onKeyDown = function( e ) {
-       console.log("keyDown");
        switch ( e.keyCode ) {
                // Left arrow
                case 37:
@@ -283,27 +282,26 @@
                                var     globalOffset = this.getOffset( 
rangySel.anchorNode, rangySel.anchorOffset, true ),
                                        node = 
this.documentView.getNodeFromOffset( globalOffset ),
                                        nodeOffset = 
surfaceView.documentView.getOffsetFromNode( node );
-                                       
-                               
                                if ( nodeOffset + 1 === globalOffset ) {
                                        var newOffset = 
this.documentView.model.getRelativeContentOffset( globalOffset, -1 );
-                                       console.log('newOffset', newOffset);
                                        this.showCursorAt(newOffset);
                                        e.preventDefault();
-                                       //return false;
                                }
-                               
-                               //debugger;
-                               
-                                       
-                               
                        }
-
-                       console.log( 'left' );
                        break;
                // Right arrow
                case 39:
-                       console.log( 'right' );
+                       var rangySel = rangy.getSelection();
+                       if ( rangySel.anchorOffset === 
rangySel.anchorNode.length ) {
+                               var     globalOffset = this.getOffset( 
rangySel.anchorNode, rangySel.anchorOffset, true ),
+                                       node = 
this.documentView.getNodeFromOffset( globalOffset ),
+                                       nodeOffset = 
surfaceView.documentView.getOffsetFromNode( node );
+                               if ( nodeOffset + 1 + node.getContentLength() 
=== globalOffset ) {
+                                       var newOffset = 
this.documentView.model.getRelativeContentOffset( globalOffset, 1 );
+                                       this.showCursorAt(newOffset);
+                                       e.preventDefault();
+                               }
+                       }
                        break;
        }
 };


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to