CommentFileSizeAuthor
admin_menu-rtl.css_.patch320 bytesavinoam

Comments

michaelbn’s picture

I have the same problem. The patch solved that on all my Drupal 7 Hebrew enabled sites

Status: Needs review » Needs work

The last submitted patch, admin_menu-rtl.css_.patch, failed testing.

avinoam’s picture

Status: Needs work » Needs review

admin_menu-rtl.css_.patch queued for re-testing.

Status: Needs review » Needs work

The last submitted patch, admin_menu-rtl.css_.patch, failed testing.

sun’s picture

Status: Needs work » Closed (duplicate)

Why was #725840: No dropdown menus in RTL language duplicated into a new issue?

mr.hadimollaei’s picture

Issue summary: View changes

Hi
I don't have time to read all comments but I find a simple way to fix this problem. but I hope some of this module's administrators can replace bellow code in file: 'admin_menu.js' on line ~215:

/**
 * Apply JavaScript-based hovering behaviors.
 *
 * @todo This has to run last.  If another script registers additional behaviors
 *   it will not run last.
 */
Drupal.admin.behaviors.hover = function (context, settings, $adminMenu) {
  // Delayed mouseout.
if($('html').attr('dir') == 'ltr'){
  $('li.expandable', $adminMenu).hover(
    function () {
      // Stop the timer.
      clearTimeout(this.sfTimer);
      // Display child lists.
      $('> ul', this)
        .css({left: 'auto', display: 'block'})
        // Immediately hide nephew lists.
        .parent().siblings('li').children('ul').css({left: '-999em', display: 'none'});
    },
    function () {
      // Start the timer.
      var uls = $('> ul', this);
      this.sfTimer = setTimeout(function () {
        uls.css({left: '-999em', display: 'none'});
      }, 400);
    }
  );
}else{
  $('li.expandable', $adminMenu).hover(
    function () {
      // Stop the timer.
      clearTimeout(this.sfTimer);
      // Display child lists.
      $('> ul', this)
        .css({right: 'auto', display: 'block'})
        // Immediately hide nephew lists.
        .parent().siblings('li').children('ul').css({right: '-999em', display: 'none'});
    },
    function () {
      // Start the timer.
      var uls = $('> ul', this);
      this.sfTimer = setTimeout(function () {
        uls.css({right: '-999em', display: 'none'});
      }, 400);
    }
  );
}
};

And this will work at theme that had put this code in tag 'html':
<html ... dir="<?php print $language->dir ?>" ...>
so you don't need to change CSS files.

danymill’s picture

#6 works for me well, thx

UPDATE: But the deeper levels are not displayed as needed