Bug: 45143
Change-Id: Ib8a36913df1ec4ae966551d1d5b8de712c34b96c
* (bug 42430) Calling numRows on MySQL no longer propagates unrelated errors.
* (bug 44719) Removed mention of non-existing maintenance/migrateCurStubs.php
script in includes/DefaultSettings.php
* (bug 42430) Calling numRows on MySQL no longer propagates unrelated errors.
* (bug 44719) Removed mention of non-existing maintenance/migrateCurStubs.php
script in includes/DefaultSettings.php
+* (bug 45143) jquery.badge: Treat non-Latin variants of zero as zero as well.
=== API changes in 1.21 ===
* prop=revisions can now report the contentmodel and contentformat.
=== API changes in 1.21 ===
* prop=revisions can now report the contentmodel and contentformat.
'jquery.badge' => array(
'scripts' => 'resources/jquery/jquery.badge.js',
'styles' => 'resources/jquery/jquery.badge.css',
'jquery.badge' => array(
'scripts' => 'resources/jquery/jquery.badge.js',
'styles' => 'resources/jquery/jquery.badge.css',
+ 'dependencies' => 'mediawiki.language',
),
'jquery.byteLength' => array(
'scripts' => 'resources/jquery/jquery.byteLength.js',
),
'jquery.byteLength' => array(
'scripts' => 'resources/jquery/jquery.byteLength.js',
*
* This program is distributed WITHOUT ANY WARRANTY.
*/
*
* This program is distributed WITHOUT ANY WARRANTY.
*/
/**
* Allows you to put a "badge" on an item on the page. The badge container
* will be appended to the selected element(s).
* See mediawiki.org/wiki/ResourceLoader/Default_modules#jQuery.badge
*
* @param {number|string} text The value to display in the badge. If the value is falsey (0,
/**
* Allows you to put a "badge" on an item on the page. The badge container
* will be appended to the selected element(s).
* See mediawiki.org/wiki/ResourceLoader/Default_modules#jQuery.badge
*
* @param {number|string} text The value to display in the badge. If the value is falsey (0,
- * null, false, '', etc.), any existing badge will be removed.
+ * null, false, '', etc.), any existing badge will be removed.
* @param {boolean} inline True if the badge should be displayed inline, false
* @param {boolean} inline True if the badge should be displayed inline, false
- * if the badge should overlay the parent element (default is inline)
+ * if the badge should overlay the parent element (default is inline)
* @param {boolean} displayZero True if the number zero should be displayed,
* @param {boolean} displayZero True if the number zero should be displayed,
- * false if the number zero should result in the badge being hidden
- * (default is zero will result in the badge being hidden)
+ * false if the number zero should result in the badge being hidden
+ * (default is zero will result in the badge being hidden)
*/
$.fn.badge = function ( text, inline, displayZero ) {
var $badge = this.find( '.mw-badge' ),
badgeStyleClass = 'mw-badge-' + ( inline ? 'inline' : 'overlay' ),
*/
$.fn.badge = function ( text, inline, displayZero ) {
var $badge = this.find( '.mw-badge' ),
badgeStyleClass = 'mw-badge-' + ( inline ? 'inline' : 'overlay' ),
+ isImportant = true, displayBadge = true;
// If we're displaying zero, ensure style to be non-important
// If we're displaying zero, ensure style to be non-important
- if ( text === 0 && displayZero ) {
+ if ( mw.language.convertNumber( text, true ) === 0 ) {
+ if ( !displayZero ) {
+ displayBadge = false;
+ }
+ // If text is falsey (besides 0), hide the badge
+ } else if ( !text ) {
+ displayBadge = false;
// If a badge already exists, reuse it
if ( $badge.length ) {
$badge
// If a badge already exists, reuse it
if ( $badge.length ) {
$badge
.addClass( badgeStyleClass )
.toggleClass( 'mw-badge-important', isImportant )
.append(
.addClass( badgeStyleClass )
.toggleClass( 'mw-badge-important', isImportant )
.append(
- $( '<span class="mw-badge-content"></span>' ).text ( text )
+ $( '<span class="mw-badge-content"></span>' ).text( text )
+}( jQuery, mediaWiki ) );