Correct user-card positioning for rtl layouts
This commit is contained in:
parent
0dfb9261ea
commit
1bdf43d5cc
|
@ -84,12 +84,25 @@ export default Discourse.View.extend(CleansUp, {
|
||||||
},
|
},
|
||||||
|
|
||||||
_willShow(target) {
|
_willShow(target) {
|
||||||
|
//const direction = $('html').css('direction');
|
||||||
if (!target) { return; }
|
if (!target) { return; }
|
||||||
const width = this.$().width();
|
const width = this.$().width();
|
||||||
|
|
||||||
Ember.run.schedule('afterRender', () => {
|
Ember.run.schedule('afterRender', () => {
|
||||||
if (target) {
|
if (target) {
|
||||||
let position = target.offset();
|
let position = target.offset();
|
||||||
if (position) {
|
if (position) {
|
||||||
|
|
||||||
|
// Check for a right to left layout
|
||||||
|
if (($('html').css('direction')) === 'rtl') {
|
||||||
|
position.right = $(window).width() - position.left + 10;
|
||||||
|
position.left = 'auto';
|
||||||
|
const overage = ($(window).width() - 50) - (position.right + width);
|
||||||
|
if (overage < 0) {
|
||||||
|
position.right += overage;
|
||||||
|
position.top += target.height() + 48;
|
||||||
|
}
|
||||||
|
} else { // The site direction is ltr
|
||||||
position.left += target.width() + 10;
|
position.left += target.width() + 10;
|
||||||
|
|
||||||
const overage = ($(window).width() - 50) - (position.left + width);
|
const overage = ($(window).width() - 50) - (position.left + width);
|
||||||
|
@ -97,6 +110,7 @@ export default Discourse.View.extend(CleansUp, {
|
||||||
position.left += overage;
|
position.left += overage;
|
||||||
position.top += target.height() + 48;
|
position.top += target.height() + 48;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
position.top -= $('#main-outlet').offset().top;
|
position.top -= $('#main-outlet').offset().top;
|
||||||
this.$().css(position);
|
this.$().css(position);
|
||||||
|
|
Loading…
Reference in New Issue