globaleaks / whistleblowing-software

GlobaLeaks is free, open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.
https://www.globaleaks.org
Other
1.22k stars 268 forks source link

When using RTL design tooltips are not correctly aligned #1755

Open evilaliv3 opened 8 years ago

evilaliv3 commented 8 years ago

When using RTL design toolstips are not correctly aligned.

The issue is visible in the following screenshot: screenshot from 2016-08-26 18-24-50

evilaliv3 commented 8 years ago

@MohammadYounes i was thinking this issue solved in bootstrap-inline-rtl.

Wasn't it?

MohammadYounes commented 8 years ago

It should be, see the tooltip at the demo site.

Can you provide me with a live demo ?

evilaliv3 commented 8 years ago

Sorry @MohammadYounes i think to know why we are facing this. We do not use only your patched library, but we use also angular-ui-bootstrap that implements all the javascript using the native angular javascript and that is probably buggy.

MohammadYounes commented 8 years ago

Yes, the native angular version uses its own scripts.

NSkelsey commented 7 years ago

Tried using popover-placement="auto" to handle elements that whistleblowers see. The results are not great.

The UI-Bootstrap libraries handling of auto postioning results in errors due to some unknown intraction with our css and html when top-left is chosen.

schermata 2016-12-12 alle 1 19 12 pm

schermata 2016-12-12 alle 1 19 34 pm

NSkelsey commented 7 years ago

Exporting a function in GLTranslate and using like below will not work because the directive expects a literal string for good reason.

<label uib-popover="message" popover-placement="GLTranslate.displayRightToLeft() ? 'top' : 'right"></label>

Accompanying JS.

  function langIsRTL(lang) {
    return ["ar", "he", "ur"].indexOf(lang) !== -1;
  }

  // displayRTL can be used by interface elements to make decisions about how they
  // ought to lay them selves out.
  function displayRightToLeft() {
    return langIsRTL(indirect.applanguage);
  }