Fix positioning of the language change popup when sidebar is on the right

This fixes the same issue as 1d395d4966,
but for the little language change popup (shown after you change the
language) instead of the main interface.

Change-Id: I28d3e8baeebf4619f4f810869c8a2a3fb60496d9
This commit is contained in:
Bartosz Dziewoński
2017-05-20 11:08:42 +02:00
parent 1e2c238aba
commit fa0ad11222

View File

@@ -181,7 +181,7 @@
* @param {string} previousAutonym
*/
function showUndoTooltip( previousLang, previousAutonym ) {
var $ulsTrigger, ulsPopup,
var $ulsTrigger, ulsPopup, ulsPopupPosition,
ulsPosition = mw.config.get( 'wgULSPosition' );
$ulsTrigger = ( ulsPosition === 'interlanguage' ) ?
@@ -242,13 +242,26 @@
if ( ulsPopup ) {
ulsPopup.$element.remove();
}
if ( ulsPosition === 'interlanguage' ) {
if ( $ulsTrigger.offset().left > $( window ).width() / 2 ) {
ulsPopupPosition = 'before';
} else {
ulsPopupPosition = 'after';
}
// Reverse for RTL
if ( $( 'html' ).prop( 'dir' ) === 'rtl' ) {
ulsPopupPosition = ( ulsPopupPosition === 'after' ) ? 'before' : 'after';
}
} else {
ulsPopupPosition = 'below';
}
ulsPopup = new OO.ui.PopupWidget( {
padded: true,
width: 300,
classes: [ 'uls-tipsy' ],
// Automatically positioned relative to the trigger
$floatableContainer: $ulsTrigger,
position: ( ulsPosition === 'interlanguage' ) ? 'after' : 'below',
position: ulsPopupPosition,
$content: ( function () {
var link = $( '<a>' ).text( previousAutonym )
.attr( {