User:Austin J. Che/monobook.js: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
No edit summary
 
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* <nowiki> */
/* <pre> */


/* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */
/* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */
Line 6: Line 6:
  * Initialises function loading on page load
  * Initialises function loading on page load
  */
  */
addOnloadHook(myLoadFuncs);
addMyEditButtons();


if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false);
/*
else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs);
document.write('<script type="text/javascript" src="'
else
            + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
{
            + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
    window.oldonload = window.onload;
popupShortcutKeys=true;
    window.onload = function()
*/
    {
        window.oldonload();
        myLoadFuncs();
    }
}
 
/**
* Loads functions
*/
 
function myLoadFuncs()
{
    addPurge();
    //addForceSummary();
    addEditSection0();
    changeLinks();
    addToolBoxLinks();
}


/**
document.write('<script type="text/javascript" ' +
* Forces edit summary
    'src="http://openwetware.org/index.php?' +
*/
    'title=MediaWiki:extraeditbuttons.js' +
    '&action=raw&ctype=text/css&dontcountme=s"></script>');


function addForceSummary()
// based on addButton in wikibits.js
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
{
    if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
mwCustomEditButtons[mwCustomEditButtons.length] =
    if(/&section=new/.test(window.location.href)) return;
{"imageFile": imageFile,
    if(!document.forms.editform) return;
"speedTip": speedTip,
    document.forms.editform.wpSave.onclick = forceSummary;
"tagOpen": tagOpen,
    document.forms.editform.wpSave.onfocus = forceSummary;
"tagClose": tagClose,
"sampleText": sampleText};
}
}


function forceSummary()
function addMyEditButtons()
{
{
     if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
     addCustomButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'','');
     {
     addCustomButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'>\n</style></html>",'','');
        var r = prompt('Are you sure you want to submit without adding a summary?\nTo add a summary, type it in the box below:',document.forms.editform.wpSummary.value);
        if(r == null) { return false; }
        document.forms.editform.wpSummary.value = r;
    }
    return true;
}
}


/**
/**
  * Adds a "purge" tab
  * Loads functions
  */
  */


function addPurge()
function myLoadFuncs()
{
{
     ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
     changeTopLinks();
    if(!document.getElementById) return;
    var x = document.getElementById('ca-history');
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if(!x) { return; }
    if(x.children) { x = x.children[0]; }
    else { x = x.childNodes[0]; }
    addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge');
}
}


Line 86: Line 61:
     tabs.appendChild(li);
     tabs.appendChild(li);
     return li;
     return li;
}
/**
* Adds an "edit section 0" tab
*/
function addEditSection0()
{
    ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page'];
    if(!document.getElementById) return;
    var x = document.getElementById('ca-edit');
    if(!x) return;
    var y = document.createElement('LI');
    y.id = 'ca-edit-0';
    if(x.className == 'selected'){
      if(/&action=edit&section=0$/.test(window.location.href)){
        x.className = 'istalk';
        y.className = 'selected';
      } else {
        x.className = 'selected istalk';
      }
    } else if(x.className == 'selected istalk'){
      if(/&action=edit&section=0$/.test(window.location.href)){
        x.className = 'istalk';
        y.className = 'selected istalk';
      } else {
        y.className = 'istalk';
      }
    } else {
      y.className = x.className;
      x.className = 'istalk';
    }
    var z = document.createElement('A');
    if(x.children){
        z.href = x.children[0].href + '&section=0';
        z.appendChild(document.createTextNode('0'));
        y.appendChild(z);
        document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling);
    }else{
        z.href = x.childNodes[0].href + '&section=0';
        z.appendChild(document.createTextNode('0'));
        y.appendChild(z);
        document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling);
    }
}
}


Line 137: Line 67:
  */
  */


function changeLinks()
function changeTopLinks()
{
{
     if(!document.getElementById) return;
     if(!document.getElementById) return;
     // remove the "my" bits
     // remove the "my" bits
     document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
     document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
    document.getElementById('pt-preferences').firstChild.innerHTML = 'preferences';
     document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
     document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
     document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions';
     document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions';
Line 147: Line 78:
     var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];
     var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];


     addlilink(toplinks, '/wiki/User:Austin/monobook.js', 'monobook.js', '');
     addlilink(toplinks, '/index.php?title=User:Austin_J._Che/monobook.js&action=edit', 'monobook.js', '');


/*
     // add a clock
     // add a clock
     addlilink(toplinks, '', '', 'utcdate');
     addlilink(toplinks, '', '', 'utcdate');
     showtime();
     showtime();
*/
}
}


Line 168: Line 101:
}
}


/**
/* </pre> */
* Add stuff in the toolbox
*/
 
function addToolBoxLinks()
{
    var tb = document.getElementById('p-navigation').getElementsByTagName('ul')[0];
    addlilink(tb, '/wiki/Special:Recentchangeslimit/Knight,Endy,Synthetic Biology,OpenWetWare,Austin,n=4,n=5,n=8,n=9,n=0^nc=:&limit=500&days=30', 'My recent changes', '');
 
    var tb = document.getElementById('p-resources').getElementsByTagName('ul')[0];
    addlilink(tb, '/wiki/Sandbox', 'Sandbox', '');
    addlilink(tb, '/wiki/Synthetic_Biology', 'Synthetic Biology', '');
    addlilink(tb, '/wiki/Endy', 'Endy lab', '');
    addlilink(tb, '/wiki/Knight', 'Knight lab', '');
 
}
 
/* </nowiki> */

Latest revision as of 05:45, 6 May 2009

/* <pre> */

/* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */

/**
 * Initialises function loading on page load
 */
addOnloadHook(myLoadFuncs);
addMyEditButtons();

/*
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
popupShortcutKeys=true;
*/

document.write('<script type="text/javascript" ' +
    'src="http://openwetware.org/index.php?' +
    'title=MediaWiki:extraeditbuttons.js' +
    '&action=raw&ctype=text/css&dontcountme=s"></script>');

// based on addButton in wikibits.js
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
	mwCustomEditButtons[mwCustomEditButtons.length] =
		{"imageFile": imageFile,
		 "speedTip": speedTip,
		 "tagOpen": tagOpen,
		 "tagClose": tagClose,
		 "sampleText": sampleText};
}

function addMyEditButtons()
{
    addCustomButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'','');
    addCustomButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'>\n</style></html>",'','');
}

/**
 * Loads functions
 */

function myLoadFuncs()
{
    changeTopLinks();
}

/**
 * Adds tabs
 */

function addlilink(tabs, url, name, id)
{
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    li.id = id;
    li.appendChild(na);
    tabs.appendChild(li);
    return li;
}

/**
 * Changes the top links
 */

function changeTopLinks()
{
    if(!document.getElementById) return;
    // remove the "my" bits
    document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
    document.getElementById('pt-preferences').firstChild.innerHTML = 'preferences';
    document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
    document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions';

    var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];

    addlilink(toplinks, '/index.php?title=User:Austin_J._Che/monobook.js&action=edit', 'monobook.js', '');

/*
    // add a clock
    addlilink(toplinks, '', '', 'utcdate');
    showtime();
*/
}

/**
 * Makes the clock work
 */

function showtime()
{
    var timerID;
    var now = new Date();
    // var timeValue = now.toUTCString().replace(/GMT/, "UTC");
    var timeValue = now;
    document.getElementById('utcdate').firstChild.innerHTML = timeValue;
    timerID = setTimeout('showtime()', 100);
}

/* </pre> */