MediaWiki:EditTemplates.js

From Donate
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
$(document).ready(function() {

    mw.loader.load( '/w/index.php?title=MediaWiki:EditTemplates.css&action=raw&ctype=text/css', 'text/css' );
    
    $( '#p-logo' ).after( '<div id="toolBox" style="display: none;"></div>' );
    
    $( '#toolBox' ).append( '<div id="toolLink">Tools ▶</div>' )

    var toolListHTML = `
<div id="toolList" style="display: none;">
    <h4>Edit templates</h4>
    <ul>
        <li><a href="/wiki/Template:Lp-layout-default?action=edit">Overall Layout</a></li>
        <li><a href="/wiki/Template:Appeal/@appeal/@language?action=edit">Appeal</a></li>
        <li><a href="/wiki/Template:2012FR/Form-template-default?action=edit">Form Template</a></li>
        <li>- <a href="/wiki/Template:2012FR/@formCS/@country?action=edit">Form Content</a></li>
        <li><a href="/wiki/Template:Infobox/@infobox/@language?action=edit">Infobox</a></li>
        <li><a href="/wiki/Template:Optin/Default">Opt-in template</a></li>
        <li><a href="/wiki/Template:OptinText">Opt-in texts</a></li>
    </ul>
    <h4>Files</h4>
    <ul>
        <li><a href="/wiki/Special:AllPages?namespace=6">All files</a></li>
        <li><a href="/wiki/Special:Upload">Upload file</a></li>
    </ul>
    <h4>Lists</h4>
    <ul>
        <li><a href="/wiki/Special:AllPages">All pages</a></li>
        <li><a href="/wiki/Special:PrefixIndex">All pages with prefix</a></li>
        <li><a href="/wiki/Special:PrefixIndex?prefix=Appeal/&namespace=10">All appeals</a></li>
        <li><a href="/wiki/Special:PrefixIndex?prefix=2012FR/Form-&namespace=10">All forms</a></li>
        <li><a href="/wiki/Special:PrefixIndex?prefix=Infobox/&namespace=10">All infoboxes</a></li>
        <li><a href="/wiki/Special:PrefixIndex?prefix=Styles&namespace=10">All styles</a></li>
    </ul>
    <h4>Other</h4>
    <ul>
        <li><a href="/wiki/Template:2012FR/Form-section/Paymentmethods">Payment methods</a></li>
        <li><a href="/wiki/MediaWiki:Common.js">Site JavaScript</a></li>
        <li><a href="/wiki/MediaWiki:DonationForm.js">Donation form JavaScript</a></li>
        <li><a href="/wiki/Template:CountryNope">Blocked country message</a></li>
        <li><a href="/wiki/Special:CategoryTree?target=Category%3ACategories">Category tree</a></li>
        <li><a href="/wiki/Special:SpecialPages">Special pages</a></li>
        <li><a href="/wiki/Special:MyContributions">My contributions</a></li>
        <li><a href="/wiki/MediaWiki:EditTemplates.js">This toolbox</a></li>
    </ul>
    <h4><a href="/wiki/Support_pages">Support pages</a></h4>
    <h4><a href="https://collab.wikimedia.org/wiki/Fundraising/Donatewiki_documentation" target="_blank">Documentation</a></h4>
</div>`;

    var country  = mw.util.getParamValue( 'country' ) || 'XX';
    var language = mw.util.getParamValue( 'uselang' ) || 'en';
    var appeal   = mw.util.getParamValue( 'appeal'  ) || 'default';
    appeal = appeal.replace( 'Appeal-', '' );
    var formCS   = mw.util.getParamValue( 'form-countryspecific' ) || 'Form-countryspecific-control';
    var infobox  = mw.util.getParamValue( 'infobox' ) || 'Default';

    toolListHTML = toolListHTML.replace( /@country/g, country );
    toolListHTML = toolListHTML.replace( /@language/g, language );
    toolListHTML = toolListHTML.replace( /@appeal/g, appeal );
    toolListHTML = toolListHTML.replace( /@formCS/g, formCS );
    toolListHTML = toolListHTML.replace( /@infobox/g, infobox );

    $( '#toolBox' ).append( toolListHTML );
    $( '#toolBox' ).show();

    $( '#toolLink' ).click( function() {
        $( '#toolList' ).toggle();
    });
    
});