diff --git a/src/wp-admin/js/user-profile.js b/src/wp-admin/js/user-profile.js index 247f29c92b..e591cb588d 100644 --- a/src/wp-admin/js/user-profile.js +++ b/src/wp-admin/js/user-profile.js @@ -98,26 +98,31 @@ } ); } + function resetToggle() { + $toggleButton + .data( 'toggle', 0 ) + .attr({ + 'aria-label': userProfileL10n.ariaHide + }) + .find( '.text' ) + .text( userProfileL10n.hide ) + .end() + .find( '.dashicons' ) + .removeClass( 'dashicons-visibility' ) + .addClass( 'dashicons-hidden' ); + + $pass1Text.focus(); + + $pass1Label.attr( 'for', 'pass1-text' ); + } + function bindToggleButton() { $toggleButton = $pass1Row.find('.wp-hide-pw'); $toggleButton.show().on( 'click', function () { if ( 1 === parseInt( $toggleButton.data( 'toggle' ), 10 ) ) { $pass1Wrap.addClass( 'show-password' ); - $toggleButton - .data( 'toggle', 0 ) - .attr({ - 'aria-label': userProfileL10n.ariaHide - }) - .find( '.text' ) - .text( userProfileL10n.hide ) - .end() - .find( '.dashicons' ) - .removeClass('dashicons-visibility') - .addClass('dashicons-hidden'); - $pass1Text.focus(); - - $pass1Label.attr( 'for', 'pass1-text' ); + resetToggle(); if ( ! _.isUndefined( $pass1Text[0].setSelectionRange ) ) { $pass1Text[0].setSelectionRange( 0, 100 ); @@ -234,6 +239,8 @@ $generateButton.show(); $passwordWrapper.hide(); + resetToggle(); + // Clear password field to prevent update $pass1.val( '' ).trigger( 'pwupdate' ); $submitButtons.prop( 'disabled', false );