summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js')
-rw-r--r--www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js43
1 files changed, 23 insertions, 20 deletions
diff --git a/www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js b/www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js
index 989e6896..95dc9a47 100644
--- a/www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js
+++ b/www/wiki/extensions/Translate/resources/js/ext.translate.editor.shortcuts.js
@@ -1,9 +1,8 @@
/*!
* Translate editor shortcuts
*/
-( function ( $, mw ) {
+( function () {
'use strict';
-
var translateEditorShortcuts = {
showShortcuts: function () {
var editorOffset, minTop, maxTop, maxLeft, middle, rtl;
@@ -15,34 +14,27 @@
minTop = editorOffset.top;
maxTop = minTop + this.$editor.outerHeight();
middle = minTop + ( maxTop - minTop ) / 2;
-
- maxLeft = editorOffset.left;
- if ( !rtl ) {
- maxLeft += this.$editor.outerWidth();
- }
+ maxLeft = rtl ? editorOffset.left : editorOffset.left + this.$editor.outerWidth();
this.hideShortcuts();
// For scrolling up and down
$( '<div>' )
.text( '↑' )
- .offset( { top: middle - 10, left: maxLeft } )
.addClass( 'shortcut-popup' )
- .appendTo( 'body' );
+ .appendTo( 'body' )
+ .offset( { top: middle - 15, left: maxLeft } )
+ .css( 'transform', 'translate( -50%, 0 )' );
$( '<div>' )
.text( '↓' )
- .offset( { top: middle + 10, left: maxLeft } )
.addClass( 'shortcut-popup' )
- .appendTo( 'body' );
+ .appendTo( 'body' )
+ .offset( { top: middle + 15, left: maxLeft } )
+ .css( 'transform', 'translate( -50%, 0 )' );
this.$editor.find( '.shortcut-activated:visible' ).each( function ( index ) {
- var $this = $( this ),
- offset = $this.offset();
-
- if ( rtl ) {
- offset.left += $this.outerWidth();
- }
+ var offset = getStartCornerOffsetOf( $( this ), rtl );
// Let's not have numbers appear outside the editor over other content
if ( offset.top > maxTop || offset.top < minTop ) {
@@ -51,9 +43,10 @@
$( '<div>' )
.text( index + 1 )
- .offset( offset )
.addClass( 'shortcut-popup' )
- .appendTo( 'body' );
+ .appendTo( 'body' )
+ .offset( offset )
+ .css( 'transform', 'translate( -50%, -50% )' );
} );
},
@@ -62,7 +55,17 @@
}
};
+ function getStartCornerOffsetOf( $element, rtl ) {
+ var offset = $element.offset();
+
+ if ( rtl ) {
+ offset.left += $element.outerWidth();
+ }
+
+ return offset;
+ }
+
mw.translate.editor = mw.translate.editor || {};
$.extend( mw.translate.editor, translateEditorShortcuts );
-}( jQuery, mediaWiki ) );
+}() );