- Patch #788166 by TR: password_confirm() element breaks if there is more than 1 on a page.
parent
18516bd971
commit
7c2bcffab1
|
@ -204,7 +204,7 @@ dl.multiselect .form-item {
|
|||
/**
|
||||
* Password strength indicator
|
||||
*/
|
||||
#password-strength {
|
||||
.password-strength {
|
||||
width: 17em;
|
||||
float: right; /* LTR */
|
||||
margin-top: 1.4em;
|
||||
|
@ -212,16 +212,16 @@ dl.multiselect .form-item {
|
|||
.password-strength-title {
|
||||
display: inline;
|
||||
}
|
||||
#password-strength-text {
|
||||
.password-strength-text {
|
||||
float: right; /* LTR */
|
||||
font-weight: bold;
|
||||
}
|
||||
#password-indicator {
|
||||
.password-indicator {
|
||||
background-color: #C4C4C4;
|
||||
height: 0.3em;
|
||||
width: 100%;
|
||||
}
|
||||
#password-indicator div {
|
||||
.password-indicator div {
|
||||
height: 100%;
|
||||
width: 0%;
|
||||
background-color: #47C965;
|
||||
|
|
|
@ -13,9 +13,7 @@ Drupal.behaviors.password = {
|
|||
var innerWrapper = $(this).parent();
|
||||
var outerWrapper = $(this).parent().parent();
|
||||
|
||||
// Add the password strength layers.
|
||||
var passwordStrength = $('span.password-strength', innerWrapper);
|
||||
var passwordResult = $('span.password-result', passwordStrength);
|
||||
// Add identifying class to password element parent.
|
||||
innerWrapper.addClass('password-parent');
|
||||
|
||||
// Add the password confirmation layer.
|
||||
|
@ -25,10 +23,10 @@ Drupal.behaviors.password = {
|
|||
var confirmChild = $('span', confirmResult);
|
||||
|
||||
// Add the description box.
|
||||
var passwordMeter = '<div id="password-strength"><div id="password-strength-text" aria-live="assertive"></div><div class="password-strength-title">' + translate.strengthTitle + '</div><div id="password-indicator"><div id="indicator"></div></div></div>';
|
||||
var passwordMeter = '<div class="password-strength"><div class="password-strength-text" aria-live="assertive"></div><div class="password-strength-title">' + translate['strengthTitle'] + '</div><div class="password-indicator"><div class="indicator"></div></div></div>';
|
||||
$(confirmInput).parent().after('<div class="password-suggestions description"></div>');
|
||||
$(innerWrapper).prepend(passwordMeter);
|
||||
var passwordDescription = $("div.password-suggestions", outerWrapper).hide();
|
||||
var passwordDescription = $('div.password-suggestions', outerWrapper).hide();
|
||||
|
||||
// Check the password strength.
|
||||
var passwordCheck = function () {
|
||||
|
@ -50,10 +48,10 @@ Drupal.behaviors.password = {
|
|||
}
|
||||
|
||||
// Adjust the length of the strength indicator.
|
||||
$('#indicator').css('width', result.strength + '%');
|
||||
$(innerWrapper).find('.indicator').css('width', result.strength + '%');
|
||||
|
||||
// Update the strength indication text.
|
||||
$("#password-strength-text").html(result.indicatorText);
|
||||
$(innerWrapper).find('.password-strength-text').html(result.indicatorText);
|
||||
|
||||
passwordCheckMatch();
|
||||
};
|
||||
|
|
|
@ -3361,7 +3361,12 @@ function user_form_process_password_confirm($element) {
|
|||
);
|
||||
|
||||
$element['#attached']['js'][] = drupal_get_path('module', 'user') . '/user.js';
|
||||
$element['#attached']['js'][] = array('data' => $js_settings, 'type' => 'setting');
|
||||
// Ensure settings are only added once per page.
|
||||
static $already_added = FALSE;
|
||||
if (!$already_added) {
|
||||
$already_added = TRUE;
|
||||
$element['#attached']['js'][] = array('data' => $js_settings, 'type' => 'setting');
|
||||
}
|
||||
|
||||
return $element;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue