Amire80 has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/62452


Change subject: Update from upstream
......................................................................

Update from upstream

Change-Id: I376b19a7c686de2769ee64f4fc8258c4b0ceec1f
---
M lib/jquery.ime/jquery.ime.js
1 file changed, 29 insertions(+), 7 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/52/62452/1

diff --git a/lib/jquery.ime/jquery.ime.js b/lib/jquery.ime/jquery.ime.js
index 4323068..dc1d2a4 100644
--- a/lib/jquery.ime/jquery.ime.js
+++ b/lib/jquery.ime/jquery.ime.js
@@ -1,4 +1,4 @@
-/*! jquery.ime - v0.1.0 - 2013-04-23
+/*! jquery.ime - v0.1.0 - 2013-05-06
 * https://github.com/wikimedia/jquery.ime
 * Copyright (c) 2013 Santhosh Thottingal; Licensed GPL, MIT */
 ( function ( $ ) {
@@ -329,6 +329,7 @@
                        range,
                        textInputRange,
                        len,
+                       newLines,
                        endRange;
 
                if ( typeof el.selectionStart === 'number' && typeof 
el.selectionEnd === 'number' ) {
@@ -341,6 +342,7 @@
                        if ( range && range.parentElement() === el ) {
                                len = el.value.length;
                                normalizedValue = el.value.replace( /\r\n/g, 
'\n' );
+                               newLines = normalizedValue.match( /\n/g );
 
                                // Create a working TextRange that lives only 
in the input
                                textInputRange = el.createTextRange();
@@ -353,16 +355,18 @@
                                endRange.collapse( false );
 
                                if ( textInputRange.compareEndPoints( 
'StartToEnd', endRange ) > -1 ) {
-                                       start = end = len;
+                                       if ( newLines ) {
+                                               start = end = len - 
newLines.length;
+                                       } else {
+                                               start = end = len;
+                                       }
                                } else {
                                        start = -textInputRange.moveStart( 
'character', -len );
-                                       start += normalizedValue.slice( 0, 
start ).split( '\n' ).length - 1;
 
                                        if ( textInputRange.compareEndPoints( 
'EndToEnd', endRange ) > -1 ) {
                                                end = len;
                                        } else {
                                                end = -textInputRange.moveEnd( 
'character', -len );
-                                               end += normalizedValue.slice( 
0, end ).split( '\n' ).length - 1;
                                        }
                                }
                        }
@@ -641,6 +645,12 @@
                        // Possible resize of textarea
                        imeselector.$element.on( 'mouseup.ime', $.proxy( 
this.position, this ) );
                        imeselector.$element.on( 'keydown.ime', $.proxy( 
this.keydown, this ) );
+
+                       // Update IM selector position when window is resized
+                       // or browser window is zoomed in or zoomed out
+                       $( window ).resize( function () {
+                               imeselector.position();
+                       });
                },
 
                /**
@@ -682,8 +692,12 @@
 
                        position = this.$element.offset();
                        top = position.top + this.$element.outerHeight();
-                       left = position.left + this.$element.outerWidth()
-                               - this.$imeSetting.outerWidth();
+                       left = position.left;
+                       // RTL element position fix:
+                       if ( this.$element.css( 'direction' ) === 'ltr' ) {
+                               left = position.left + 
this.$element.outerWidth() -
+                                       this.$imeSetting.outerWidth();
+                       }
                        room = $( window ).height() - top;
 
                        if ( room < this.$imeSetting.outerHeight() ) {
@@ -709,9 +723,16 @@
                        } );
 
                        if ( parseInt( this.$menu.css( 'min-width' ) ) > left ) 
{
-                               this.$menu
+                               // RTL element position fix
+                               if ( this.$element.css( 'direction' ) === 'rtl' 
) {
+                                       this.$menu
+                                       .css( { left: 0 } )
+                                       .addClass( 'left' );
+                               } else {
+                                       this.$menu
                                        .css( { left: position.left } )
                                        .addClass( 'right' );
+                               }
                        }
                },
 
@@ -1025,6 +1046,7 @@
 
 }( jQuery ) );
 
+
 ( function ( $ ) {
        'use strict';
 

-- 
To view, visit https://gerrit.wikimedia.org/r/62452
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I376b19a7c686de2769ee64f4fc8258c4b0ceec1f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>

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

Reply via email to