User:Sir Intellegent/monobook.js

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
// install [[User:Cacycle/wikEd]] in-browser text editor
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
+ '&action=raw&ctype=text/javascript');

// Adds a drop-down menu to the search box to choose the namespace to search in.

$(function () {
    var searchGoButton = document.getElementById('searchGoButton');
    if (!searchGoButton) return;

    var searchNsHidden = document.createElement('input');
    searchNsHidden.id = 'searchNsHidden';
    searchNsHidden.type = 'hidden';
    searchNsHidden.name = 'ns0';
    searchNsHidden.value = '1';

    var searchNsMenu = document.createElement('select');
    searchNsMenu.id = 'searchNsMenu';
    searchNsMenu.name = 'ns';
    searchNsMenu.options[searchNsMenu.options.length] = new Option('(Main)', 0);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Talk', 1);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('User', 2);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('User talk', 3);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Wikipedia', 4);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Wikipedia talk', 5);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Image', 6);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Image talk', 7);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('MediaWiki', 8);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('MediaWiki talk', 9);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Template', 10);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Template talk', 11);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Help', 12);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Help talk', 13);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Category', 14);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Category talk', 15);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Portal', 100);
    searchNsMenu.options[searchNsMenu.options.length] = new Option('Portal talk', 101);
    searchNsMenu.onchange = function () {
        searchNsHidden.name = 'ns' + (this.selectedIndex < 0 ? '0' : 
this.options[this.selectedIndex].value);
    };
    // From /skins-1.5/monobook/main.css?5:
    searchNsMenu.style.width = '10.9em';
    searchNsMenu.style.margin = '0';
    searchNsMenu.style.fontSize = '95%';
    searchGoButton.parentNode.insertBefore(searchNsHidden, searchGoButton);
    searchGoButton.parentNode.insertBefore(searchNsMenu, searchGoButton);
});