MediaWiki:Gadget/Friendly/friendlytabs.js

From OpenWetWare

Jump to: navigation, search

Note - After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh); Konqueror: click Reload or press F5; Opera: clear the cache in Tools → Preferences; Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.

// If FriendlyConfig aint exist.
if( typeof( FriendlyConfig ) == 'undefined' ) {
    FriendlyConfig = {};
}
 
/**
 FriendlyConfig.idsToRename ( array )
 An array of hashes that defines the ids of the tabs to be renamed and what they should be renamed to.
 */
if( typeof( FriendlyConfig.idsToRename ) == 'undefined' ) {
    FriendlyConfig.idsToRename = [
        { id: 'ca-nstab-main', name: 'Main', mainPageOnly: true },
        { id: 'ca-main', name: 'Main', mainPageOnly: true },
        { id: 'ca-nstab-help', name: 'Help' },
        { id: 'ca-history', name: 'History' },
        { id: 'ca-nstab-special', name: 'Special' },
        { id: 'ca-special', name: 'Special' },
        { id: 'ca-nstab-project', name: 'Project' },
        { id: 'ca-project', name: 'Project' },
        { id: 'ca-nstab-user', name: 'User' },
        { id: 'ca-user', name: 'User' },
        { id: 'ca-edit', name: 'Edit' },
        { id: 'ca-viewsource', name: 'Source' },
        { id: 'ca-talk', name: 'Talk' },
        { id: 'ca-undelete', name: 'Undelete' },
        { id: 'ca-addsection', name: '+' }
    ];
}
 
function friendlyFindTabCaption(tab) {
    while (tab.nodeType != 3) { //Until we find a text node
        tab = tab.firstChild;
    }
    return tab.parentNode;
}
 
function friendlytabs() {
    for(i = 0; i < FriendlyConfig.idsToRename.length; i++) {
        if(document.getElementById(FriendlyConfig.idsToRename[i].id)) {
            if(typeof( FriendlyConfig.idsToRename[i].mainPageOnly ) == 'boolean' && FriendlyConfig.idsToRename[i].mainPageOnly  ) {
                if( wgPageName == 'Main_Page' ) {
                    friendlyFindTabCaption( document.getElementById( FriendlyConfig.idsToRename[i].id ) ).innerHTML = FriendlyConfig.idsToRename[i].name;
                }
            } else {
                friendlyFindTabCaption( document.getElementById( FriendlyConfig.idsToRename[i].id ) ).innerHTML = FriendlyConfig.idsToRename[i].name;
            }
        }
    }
}
 
addOnloadHook(friendlytabs);
Personal tools