On the user login form (page & block) when toggling between standard login and OpenID login the elements that appear (that were previously hidden) are always displayed using display: block. This is hardcoded in the jQuery piece of the module (openid.js).
This works fine for the standard Drupal login block (page) because, there, the form elements and links are disposed one below the other (display: block). But what if a themer wants an inline login block? He cannot control the CSS display when form elements and links are shown. He will always get block.
The CSS/JS code needs to be re-factored so that jQuery will switch, not CSS attributes, but CSS classes. Instead of
$openidElements.css("display", "block");
the code will have to do something like this...
$openidElements.removeClass('openid-hidden');
$openidElements.addClass('openid-visible');
so that themers can customize the classes (openid-hidden, openid-visible) according to their needs.
Comments
Comment #1
c960657 commentedA comment above the mentioned line says:
// Use .css('display', 'block') instead of .show() to be Konqueror friendly.This was introduced back in 2007 in #186658: Usability improvements to OpenID login form. I wonder whether this is still relevant with the latest jQuery edition and recent versions of Konqueror. I assume using .show() will fix this issue—right?
Comment #2
c960657 commentedopenid.js now uses .hide() and .show() (and has done so for quite a while). I assume this addresses your concern.