MediaWiki:Common.js: Difference between revisions

From Wikimedia Foundation Governance Wiki
Content deleted Content added
add code for Fundraising TY pages
+ prefill Special:Upload
Line 81: Line 81:
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
*/
*/

/**
* Prefill Special:Upload with standard template to prevent
* uploads whiteout source and author.
* @rev: 1
*/
var prefill = [
'== {{int:filedesc}} ==',
'{{Information',
'|Description=',
'|Source=',
'|Date=',
'|Author=',
'|other_versions=',
'}}',
'',
'== {{int:license-header}} =='].join('\n');
if (!mw.util.getParamValue('wpUploadDescription') && !mw.util.getParamValue('wpForReUpload')) {
$('#wpUploadDescription').val(prefill);
}

Revision as of 11:44, 26 May 2016

/**
 * 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://wikimediafoundation.org/wiki/Thank_You/en
 *
 * @author: [[User:Pcoombe (WMF)]]
 */

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

    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 );
 */

/**
  * Prefill Special:Upload with standard template to prevent
  * uploads whiteout source and author.
  * @rev: 1
 */
var prefill = [
    '== {{int:filedesc}} ==',
    '{{Information',
    '|Description=',
    '|Source=',
    '|Date=',
    '|Author=',
    '|other_versions=',
    '}}',
    '',
    '== {{int:license-header}} =='].join('\n');
if (!mw.util.getParamValue('wpUploadDescription') && !mw.util.getParamValue('wpForReUpload')) {
	$('#wpUploadDescription').val(prefill);
}