Snippets/MySandbox

From MediaWiki.org
Jump to: navigation, search
How to use Snippets
List of Snippets
Crystal Clear action run.png
MySandbox
Language(s): javascript
Compatible with:

MediaWiki 1.20+ (Vector; Monobook)

Description[edit]

Add a "Sandbox" link to the personal portlet menu.

Code[edit]

/**
 * Add a "My sandbox" link to the personal portlet menu.
 * Dependencies: mediawiki.util, mediawiki.Title, mediawiki.Uri
 *
 * @source mediawiki.org/wiki/Snippets/MySandbox
 * @version 3
 */
( function ( mw, $ ) {
 
        $( document ).ready( function () {
                var conf, title, url;
 
                // Customize/Translate this to your needs
                conf = {
                        subpageName: 'sandbox',
                        portletLabel: 'Sandbox',
                        portletTooltip: 'Go to your sandbox',
                        editintroPagename: 'Template:User_sandbox',
                        preloadPagename: 'Template:User_sandbox/preload'
                };
                // Don't alter the code below
 
                // Use Special:MyPage (as opposed to mw.user.getName()) so that it
                // works for logged-out users as well.
                title = new mw.Title( 'Special:MyPage/' + conf.subpageName );
 
                url = new mw.Uri( title.getUrl() );
                url.extend({
                        action: 'edit',
                        redlink: 1,
                        editintro: new mw.Title( conf.editintroPagename ),
                        preload: new mw.Title( conf.preloadPagename )
                });
 
                mw.util.addPortletLink(
                        'p-personal',
                        url,
                        conf.portletLabel,
                        'pt-sandbox',
                        conf.portletTooltip,
                        null,
                        '#pt-preferences'
                );
        });
}( mediaWiki, jQuery ) );