jenkins-bot has submitted this change and it was merged.

Change subject: Calculate the position of the menu near the cog properly
......................................................................


Calculate the position of the menu near the cog properly

Instead of magic numbers, use a proper calculation according
to the elements' positions.

Bug: 49471
Change-Id: I9093b2c684f557e9e562762b7ef25ced37b8848b
---
M resources/js/ext.uls.interface.js
1 file changed, 14 insertions(+), 9 deletions(-)

Approvals:
  Nikerabbit: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/js/ext.uls.interface.js 
b/resources/js/ext.uls.interface.js
index e243b24..ed60f97 100644
--- a/resources/js/ext.uls.interface.js
+++ b/resources/js/ext.uls.interface.js
@@ -286,23 +286,28 @@
                        $ulsSettingsTrigger.languagesettings( {
                                defaultModule: 'display',
                                onVisible: function () {
-                                       var left,
+                                       var topRowHeight, caretHeight, 
caretWidth,
+                                               $caretBefore = $( '<span>' 
).addClass( 'caret-before' ),
+                                               $caretAfter = $( '<span>' 
).addClass( 'caret-after' ),
+                                               ulsTriggerWidth = 
$ulsSettingsTrigger.width(),
                                                ulsTriggerOffset = 
$ulsSettingsTrigger.offset();
 
                                        this.$window.addClass( 'callout' );
+                                       this.$window.prepend( $caretBefore, 
$caretAfter );
+
                                        if ( rtlPage ) {
-                                               left = ulsTriggerOffset.left - 
this.$window.width() - 30;
+                                               caretWidth = parseInt( 
$caretBefore.css( 'border-left-width' ), '10' );
+                                               this.left = 
ulsTriggerOffset.left - this.$window.width() - caretWidth;
                                        } else {
-                                               left = ulsTriggerOffset.left + 
30;
+                                               caretWidth = parseInt( 
$caretBefore.css( 'border-right-width' ), '10' );
+                                               this.left = 
ulsTriggerOffset.left + ulsTriggerWidth + caretWidth;
                                        }
 
-                                       this.left = left;
-                                       this.top = ulsTriggerOffset.top - 50;
+                                       topRowHeight = this.$window.find( 
'.row' ).height();
+                                       caretHeight = parseInt( 
$caretBefore.css( 'top' ), '10' );
+                                       this.top = ulsTriggerOffset.top - 
topRowHeight - caretHeight / 2;
+
                                        this.position();
-                                       this.$window.prepend(
-                                               $( '<span>' ).addClass( 
'caret-before' ),
-                                               $( '<span>' ).addClass( 
'caret-after' )
-                                       );
                                }
                        } );
                } else if ( anonMode ) {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I9093b2c684f557e9e562762b7ef25ced37b8848b
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Amire80 <amir.ahar...@mail.huji.ac.il>
Gerrit-Reviewer: Nikerabbit <niklas.laxst...@gmail.com>
Gerrit-Reviewer: Pginer <pgi...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to