MediaWiki:Common.js: Difference between revisions
From Freegle Wiki
Jump to navigationJump to search
Created page with '→Any JavaScript here will be loaded for all users on every page load.: /** Collapsible tables ********************************************************* * * Description…' |
Update Common.js for MediaWiki 1.43 compatibility - replace deprecated hasClass/addHandler functions with modern mw-collapsible |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
/** Collapsible tables ********************************************************* | /** Collapsible tables ********************************************************* | ||
* | * | ||
* Description: | * Description: Modern collapsible tables using MediaWiki's built-in functionality | ||
* | * Updated for MediaWiki 1.43+ compatibility | ||
* | * | ||
* Note: MediaWiki 1.43 provides native collapsible table support via the | |||
* "mw-collapsible" class. The old custom implementation has been removed | |||
* as it relied on deprecated functions (hasClass, addHandler, killEvt). | |||
* | |||
* To use collapsible tables, simply add the "mw-collapsible" class to your table: | |||
* {| class="wikitable mw-collapsible" | |||
* | |||
* For tables that start collapsed, add "mw-collapsed": | |||
* {| class="wikitable mw-collapsible mw-collapsed" | |||
*/ | */ | ||
// Initialize collapsible elements on page load | |||
// MediaWiki's jquery.makeCollapsible module handles this automatically | |||
// for elements with the mw-collapsible class | |||
mw.hook( 'wikipage.content' ).add( function( $content ) { | |||
// Backwards compatibility: convert old "collapsible" class to "mw-collapsible" | |||
$content.find( 'table.collapsible' ).each( function() { | |||
var $table = $( this ); | |||
// Add the modern class | |||
$table.addClass( 'mw-collapsible' ); | |||
// If it had the old "collapsed" class, use the modern equivalent | |||
if ( $table.hasClass( 'collapsed' ) ) { | |||
$table.addClass( 'mw-collapsed' ); | |||
function | |||
{ | |||
} | } | ||
// Handle autocollapse | |||
if ( $table.hasClass( 'autocollapse' ) ) { | |||
if ( hasClass( | // Count how many collapsible tables exist | ||
var collapsibleCount = $content.find( 'table.mw-collapsible' ).length; | |||
if ( collapsibleCount >= 2 ) { | |||
$table.addClass( 'mw-collapsed' ); | |||
var | |||
} | } | ||
} | } | ||
} | } ); | ||
} | } ); | ||
Latest revision as of 09:29, 6 October 2025
/* Any JavaScript here will be loaded for all users on every page load. */
/** Collapsible tables *********************************************************
*
* Description: Modern collapsible tables using MediaWiki's built-in functionality
* Updated for MediaWiki 1.43+ compatibility
*
* Note: MediaWiki 1.43 provides native collapsible table support via the
* "mw-collapsible" class. The old custom implementation has been removed
* as it relied on deprecated functions (hasClass, addHandler, killEvt).
*
* To use collapsible tables, simply add the "mw-collapsible" class to your table:
* {| class="wikitable mw-collapsible"
*
* For tables that start collapsed, add "mw-collapsed":
* {| class="wikitable mw-collapsible mw-collapsed"
*/
// Initialize collapsible elements on page load
// MediaWiki's jquery.makeCollapsible module handles this automatically
// for elements with the mw-collapsible class
mw.hook( 'wikipage.content' ).add( function( $content ) {
// Backwards compatibility: convert old "collapsible" class to "mw-collapsible"
$content.find( 'table.collapsible' ).each( function() {
var $table = $( this );
// Add the modern class
$table.addClass( 'mw-collapsible' );
// If it had the old "collapsed" class, use the modern equivalent
if ( $table.hasClass( 'collapsed' ) ) {
$table.addClass( 'mw-collapsed' );
}
// Handle autocollapse
if ( $table.hasClass( 'autocollapse' ) ) {
// Count how many collapsible tables exist
var collapsibleCount = $content.find( 'table.mw-collapsible' ).length;
if ( collapsibleCount >= 2 ) {
$table.addClass( 'mw-collapsed' );
}
}
} );
} );