Follow-up r92924: move the CSS/JS for e-mail validation to Special:ChangeEmail.
authorRobin Pepermans <robin@users.mediawiki.org>
Sat, 17 Dec 2011 18:31:25 +0000 (18:31 +0000)
committerRobin Pepermans <robin@users.mediawiki.org>
Sat, 17 Dec 2011 18:31:25 +0000 (18:31 +0000)
Also merge the different LTR/RTL styles, it is flipped anyway.

includes/specials/SpecialChangeEmail.php
resources/Resources.php
resources/mediawiki.special/mediawiki.special.changeemail.css [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.changeemail.js [new file with mode: 0644]
resources/mediawiki.special/mediawiki.special.preferences.css [deleted file]
resources/mediawiki.special/mediawiki.special.preferences.js

index 9f03ecf..0f85f51 100644 (file)
@@ -67,6 +67,7 @@ class SpecialChangeEmail extends UnlistedSpecialPage {
 
                $out = $this->getOutput();
                $out->disallowUserJs();
+               $out->addModules( 'mediawiki.special.changeemail' );
 
                $this->mPassword = $request->getVal( 'wpPassword' );
                $this->mNewEmail = $request->getVal( 'wpNewEmail' );
index 33243f2..74a8e0f 100644 (file)
@@ -720,6 +720,11 @@ return array(
        'mediawiki.special.block' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
        ),
+       'mediawiki.special.changeemail' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.changeemail.js',
+               'styles' => 'resources/mediawiki.special/mediawiki.special.changeemail.css',
+               'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
+       ),
        'mediawiki.special.changeslist' => array(
                'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
                'dependencies' => array( 'jquery.makeCollapsible' ),
@@ -730,8 +735,6 @@ return array(
        ),
        'mediawiki.special.preferences' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
-               'styles' => 'resources/mediawiki.special/mediawiki.special.preferences.css',
-               'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
        ),
        'mediawiki.special.recentchanges' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
diff --git a/resources/mediawiki.special/mediawiki.special.changeemail.css b/resources/mediawiki.special/mediawiki.special.changeemail.css
new file mode 100644 (file)
index 0000000..3d53e8d
--- /dev/null
@@ -0,0 +1,17 @@
+#mw-emailaddress-validity {
+       padding: 2px 1em;
+}
+#mw-emailaddress-validity {
+       border-bottom-right-radius: 0.8em;
+       border-top-right-radius: 0.8em;
+}
+#mw-emailaddress-validity.valid {
+       border: 1px solid #80FF80;
+       background-color: #C0FFC0;
+       color: black;
+}
+#mw-emailaddress-validity.invalid {
+       border: 1px solid #FF8080;
+       background-color: #FFC0C0;
+       color: black;
+}
diff --git a/resources/mediawiki.special/mediawiki.special.changeemail.js b/resources/mediawiki.special/mediawiki.special.changeemail.js
new file mode 100644 (file)
index 0000000..578a15e
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * 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 );
\ No newline at end of file
diff --git a/resources/mediawiki.special/mediawiki.special.preferences.css b/resources/mediawiki.special/mediawiki.special.preferences.css
deleted file mode 100644 (file)
index 8f628a9..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#mw-emailaddress-validity {
-       padding: 2px 1em;
-}
-body.ltr #mw-emailaddress-validity {
-       border-bottom-right-radius: 0.8em;
-       border-top-right-radius: 0.8em;
-}
-body.rtl #mw-emailaddress-validity {
-       border-bottom-left-radius: 0.8em;
-       border-top-left-radius: 0.8em;
-}
-#mw-emailaddress-validity.valid {
-       border: 1px solid #80FF80;
-       background-color: #C0FFC0;
-       color: black;
-}
-#mw-emailaddress-validity.invalid {
-       border: 1px solid #FF8080;
-       background-color: #FFC0C0;
-       color: black;
-}
index 63e3885..b720082 100644 (file)
@@ -58,41 +58,6 @@ $( function() {
        }
 } );
 
-/**
- * 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
-$( '#mw-input-wpemailaddress' ).one( 'blur', function() {
-       if ( $( '#mw-emailaddress-validity' ).length === 0 ) {
-               $(this).after( '<label for="mw-input-wpemailaddress" id="mw-emailaddress-validity"></label>' );
-       }
-       updateMailValidityLabel( $(this).val() );
-       $(this).keyup( function() {
-               updateMailValidityLabel( $(this).val() );
-       } );
-} );
-
-
 
 /**
 * Timezone functions.