diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2012-05-03 13:01:35 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2012-05-03 13:01:35 +0200 |
commit | d9022f63880ce039446fba8364f68e656b7bf4cb (patch) | |
tree | 16b40fbf17bf7c9ee6f4ead25b16dd192378050a /resources/mediawiki.special/mediawiki.special.changeemail.js | |
parent | 27cf83d177256813e2e802241085fce5dd0f3fb9 (diff) |
Update to MediaWiki 1.19.0
Diffstat (limited to 'resources/mediawiki.special/mediawiki.special.changeemail.js')
-rw-r--r-- | resources/mediawiki.special/mediawiki.special.changeemail.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/resources/mediawiki.special/mediawiki.special.changeemail.js b/resources/mediawiki.special/mediawiki.special.changeemail.js new file mode 100644 index 00000000..6b4ed81d --- /dev/null +++ b/resources/mediawiki.special/mediawiki.special.changeemail.js @@ -0,0 +1,40 @@ +/* + * JavaScript for Special:ChangeEmail + */ +( function( $, mw ) { + +/** + * Given an email validity status (true, false, null) update the label CSS class + */ +var updateMailValidityLabel = function( mail ) { + var isValid = mw.util.validateEmail( mail ), + $label = $( '#mw-emailaddress-validity' ); + + // We allow empty address + if( isValid === null ) { + $label.text( '' ).removeClass( 'valid invalid' ); + + // Valid + } else if ( isValid ) { + $label.text( mw.msg( 'email-address-validity-valid' ) ).addClass( 'valid' ).removeClass( 'invalid' ); + + // Not valid + } else { + $label.text( mw.msg( 'email-address-validity-invalid' ) ).addClass( 'invalid' ).removeClass( 'valid' ); + } +}; + +// Lame tip to let user know if its email is valid. See bug 22449 +// Only bind once for 'blur' so that the user can fill it in without errors +// After that look at every keypress for direct feedback if it was invalid onblur +$( '#wpNewEmail' ).one( 'blur', function() { + if ( $( '#mw-emailaddress-validity' ).length === 0 ) { + $(this).after( '<label for="wpNewEmail" id="mw-emailaddress-validity"></label>' ); + } + updateMailValidityLabel( $(this).val() ); + $(this).keyup( function() { + updateMailValidityLabel( $(this).val() ); + } ); +} ); + +} )( jQuery, mediaWiki ); |