MediaWiki:Common.js: Difference between revisions

From Wikimedia Foundation Governance Wiki
Content deleted Content added
Cary Bass (talk | contribs)
No edit summary
Reedy (talk | contribs)
Update foundation url
 
(36 intermediate revisions by 10 users not shown)
Line 1: Line 1:
/**
/* Any JavaScript here will be loaded for all users on every page load. */
* Collapsible tables
var currentTab = 1;
*
* Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].
*
* @version 2.0.3 (2014-03-14)
* @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
* @author [[User:R. Koot]]
* @author [[User:Krinkle]]
* @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
* is supported in MediaWiki core.
*/


var autoCollapse = 2;
function showHideTabs(tabNo){
var collapseCaption = 'hide';
if(tabNo==1){
var expandCaption = 'show';
document.getElementById('table1').style.display='';
document.getElementById('table2').style.display='none';
document.getElementById('table3').style.display='none';
} else if(tabNo==2){
document.getElementById('table1').style.display='none';
document.getElementById('table2').style.display='';
document.getElementById('table3').style.display='none';
} else if(tabNo==3){
document.getElementById('table1').style.display='none';
document.getElementById('table2').style.display='none';
document.getElementById('table3').style.display='';
}
var currentTab = tabNo;
}


function changeColor(tabNo,inOut){
function collapseTable( tableIndex ) {
var Button = document.getElementById( 'collapseButton' + tableIndex );
var tabNames = new Array("Tab1","Tab2","Tab3");
var tabObj = document.getElementById(tabNames[tabNo+1]);
var Table = document.getElementById( 'collapsibleTable' + tableIndex );

if(currentTab==tabNo){
if(inOut==0){
if ( !Table || !Button ) {
return false;
tabObj.style.background='#EAEAC3';
} else {
tabObj.style.background='#F9F9E3';
}
}

} else {
var Rows = Table.rows;
if(inOut==0){
var i;
tabObj.style.background='#DADAA3';

if ( Button.firstChild.data === collapseCaption ) {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = 'none';
}
Button.firstChild.data = expandCaption;
} else {
} else {
for ( i = 1; i < Rows.length; i++ ) {
tabObj.style.background='#E9E9C3';
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
}
}
}

function createClickHandler( tableIndex ) {
return function ( e ) {
e.preventDefault();
collapseTable( tableIndex );
};
}

/**
* Code for fundraising Thank You pages
* e.g. https://foundation.wikimedia.org/wiki/Thank_You/en
*
* @author: [[User:Pcoombe (WMF)]]
*/

if ( mw.config.get('wgPageName').substring(0,9) === 'Thank_You' ) {

mw.loader.using( 'mediawiki.util', function() {

var paymentMethod = mw.util.getParamValue('payment_method'),
country = mw.util.getParamValue('country');

if ( paymentMethod === 'bt' ) {
document.getElementById('ty-banktransfer').style.display = 'block';
}
if ( paymentMethod === 'bitcoin' ) {
document.getElementById('ty-bitcoin').style.display = 'block';
}
if ( paymentMethod === 'bpay' ) {
document.getElementById('ty-bpay').style.display = 'block';
}

if ( country === 'US' || country === 'CA' ) {
document.getElementById('ty-store').style.display = 'block';
}

});

}

/**
* This throws a "ReferenceError: createCollapseButtons is not defined" in every browser now that the createCollapseButtons function is gone.
* On the other hand, why is this code even here? It's clearly marked as deprecated
* since about four versions ago...
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
*/

Latest revision as of 00:45, 31 July 2018

/**
 * Collapsible tables
 *
 * Allows tables to be collapsed, showing only the header. See  [[Wikipedia:NavFrame]].
 *
 * @version 2.0.3 (2014-03-14)
 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
 * @author [[User:R. Koot]]
 * @author [[User:Krinkle]]
 * @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
 * is supported in MediaWiki core.
 */

var autoCollapse = 2;
var collapseCaption = 'hide';
var expandCaption = 'show';

function collapseTable( tableIndex ) {
    var Button = document.getElementById( 'collapseButton' + tableIndex );
    var Table = document.getElementById( 'collapsibleTable' + tableIndex );

    if ( !Table || !Button ) {
        return false;
    }

    var Rows = Table.rows;
    var i;

    if ( Button.firstChild.data === collapseCaption ) {
        for ( i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = 'none';
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}

function createClickHandler( tableIndex ) {
    return function ( e ) {
        e.preventDefault();
        collapseTable( tableIndex );
    };
}

/**
 * Code for fundraising Thank You pages
 * e.g. https://foundation.wikimedia.org/wiki/Thank_You/en
 *
 * @author: [[User:Pcoombe (WMF)]]
 */

if ( mw.config.get('wgPageName').substring(0,9) === 'Thank_You' ) {

    mw.loader.using( 'mediawiki.util', function() {

        var paymentMethod = mw.util.getParamValue('payment_method'),
            country = mw.util.getParamValue('country');

        if ( paymentMethod === 'bt' ) {
            document.getElementById('ty-banktransfer').style.display = 'block';
        }
        if ( paymentMethod === 'bitcoin' ) {
            document.getElementById('ty-bitcoin').style.display = 'block';
        }
        if ( paymentMethod === 'bpay' ) {
            document.getElementById('ty-bpay').style.display = 'block';
        }

        if ( country === 'US' || country === 'CA' ) {
            document.getElementById('ty-store').style.display = 'block';
        }

    });

}

/**
 * This throws a "ReferenceError: createCollapseButtons is not defined" in every browser now that the createCollapseButtons function is gone.
 * On the other hand, why is this code even here? It's clearly marked as deprecated
 * since about four versions ago...
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
 */