MediaWiki:Monobook.js: Difference between revisions

From Halopedia, the Halo wiki

(teh Splarks told meh to.)
No edit summary
Line 51: Line 51:
ta['ca-nstab-help'] = new Array('c','View the help page');
ta['ca-nstab-help'] = new Array('c','View the help page');
ta['ca-nstab-category'] = new Array('c','View the category page');
ta['ca-nstab-category'] = new Array('c','View the category page');
// ==================================================
// Collapsible Portlets (experimental)
// ==================================================
function foldingPortlets()
{
var portlets = getElementsByClassName(document.getElementById('column-one'),'div','portlet');
var portskip = ['p-personal', 'p-cactions', 'p-logo', 'ads-top-left', 'p-search', 'p-tbx', 'p-wikicities-nav', 'p-lang'];
var first=true;
for(var i=0;i<portlets.length;i++)
{
if(portskip.join(' ').indexOf(portlets[i].id)==-1)
{
var pd = portlets[i].getElementsByTagName('div')[0];
var ph = portlets[i].getElementsByTagName('h5')[0];
ph.className = 'portletCollapsible'
pd.setAttribute('id','pbody-'+i);
pd.style.display='none';
var link = document.createElement('a');
var head = getAllText(ph);
while(ph.firstChild) ph.removeChild(ph.firstChild);
link.appendChild(document.createTextNode(head));
link.setAttribute('href','javascript:showPortlet(\'' + i + '\');');
link.setAttribute('id','plink-'+i);
link.className = 'portletClosed';
ph.appendChild(link);
if(first==true)
{
first=false;
showPortlet(i);
}
}
}
}
if(skin=='monobook'&&!window.portletsNormal) addOnloadHook(foldingPortlets)
function getAllText(thing)
{
if (thing.nodeType == 3) return thing.nodeValue;
var text = new Array(); var i=0;
while(thing.childNodes[i])
{
text[text.length] = getAllText(thing.childNodes[i]);
i++;
}
return text.join('');
}
function showPortlet(id)
{
var pd = document.getElementById('pbody-'+id);
var pl = document.getElementById('plink-'+id);
if(pd.style.display=='none')
{
pd.style.display='block';
pl.className = 'portletOpened';
}
else
{
pd.style.display='none';
pl.className = 'portletClosed';
}
}
// ==================================================
// End Collapsible Portlets
// ==================================================

Revision as of 03:56, September 4, 2007

/* <pre><nowiki> */

/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','My user page');
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as');
ta['pt-mytalk'] = new Array('n','My talk page');
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address');
ta['pt-preferences'] = new Array('','My preferences');
ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.');
ta['pt-mycontris'] = new Array('y','List of my contributions');
ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
ta['pt-logout'] = new Array('o','Log out');
ta['ca-talk'] = new Array('t','Discussion about the content page');
ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.');
ta['ca-addsection'] = new Array('+','Add a comment to this discussion.');
ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.');
ta['ca-history'] = new Array('h','Past versions of this page.');
ta['ca-protect'] = new Array('=','Protect this page');
ta['ca-delete'] = new Array('d','Delete this page');
ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted');
ta['ca-move'] = new Array('m','Move this page');
ta['ca-watch'] = new Array('w','Add this page to your watchlist');
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist');
ta['search'] = new Array('f','Search this wiki');
ta['p-logo'] = new Array('','Main Page');
ta['n-mainpage'] = new Array('z','Visit the Main Page');
ta['n-portal'] = new Array('','About the project, what you can do, where to find things');
ta['n-currentevents'] = new Array('','Find background information on current events');
ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.');
ta['n-randompage'] = new Array('x','Load a random page');
ta['n-help'] = new Array('','The place to find out.');
ta['n-sitesupport'] = new Array('','Support us');
ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here');
ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page');
ta['feed-rss'] = new Array('','RSS feed for this page');
ta['feed-atom'] = new Array('','Atom feed for this page');
ta['t-contributions'] = new Array('','View the list of contributions of this user');
ta['t-emailuser'] = new Array('','Send a mail to this user');
ta['t-upload'] = new Array('u','Upload images or media files');
ta['t-specialpages'] = new Array('q','List of all special pages');
ta['ca-nstab-main'] = new Array('c','View the content page');
ta['ca-nstab-user'] = new Array('c','View the user page');
ta['ca-nstab-media'] = new Array('c','View the media page');
ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.');
ta['ca-nstab-project'] = new Array('a','View the project page');
ta['ca-nstab-image'] = new Array('c','View the image page');
ta['ca-nstab-mediawiki'] = new Array('c','View the system message');
ta['ca-nstab-template'] = new Array('c','View the template');
ta['ca-nstab-help'] = new Array('c','View the help page');
ta['ca-nstab-category'] = new Array('c','View the category page');

// ==================================================
//	Collapsible Portlets (experimental)
// ==================================================

function foldingPortlets()
{
	var portlets = getElementsByClassName(document.getElementById('column-one'),'div','portlet');
	var portskip = ['p-personal', 'p-cactions', 'p-logo', 'ads-top-left', 'p-search', 'p-tbx', 'p-wikicities-nav', 'p-lang'];
	var first=true;

	for(var i=0;i<portlets.length;i++)
	{
		if(portskip.join(' ').indexOf(portlets[i].id)==-1)
		{
			var pd = portlets[i].getElementsByTagName('div')[0];
			var ph = portlets[i].getElementsByTagName('h5')[0];
			ph.className = 'portletCollapsible'
			pd.setAttribute('id','pbody-'+i);
			pd.style.display='none';

			var link = document.createElement('a');
			var head = getAllText(ph);
			while(ph.firstChild) ph.removeChild(ph.firstChild);
			link.appendChild(document.createTextNode(head));
			link.setAttribute('href','javascript:showPortlet(\'' + i + '\');');
			link.setAttribute('id','plink-'+i);
			link.className = 'portletClosed';
			ph.appendChild(link);

			if(first==true)
			{
				first=false; 
				showPortlet(i);
			}
		}
	}
}
if(skin=='monobook'&&!window.portletsNormal) addOnloadHook(foldingPortlets)

function getAllText(thing)
{
	if (thing.nodeType == 3) return thing.nodeValue;
	var text = new Array(); var i=0;
	while(thing.childNodes[i])
	{
		text[text.length] = getAllText(thing.childNodes[i]);
		i++;
	}
	return text.join('');
}

function showPortlet(id)
{
	var pd = document.getElementById('pbody-'+id);
	var pl = document.getElementById('plink-'+id);

	if(pd.style.display=='none')
	{
		pd.style.display='block';
		pl.className = 'portletOpened';
	}
	else
	{
		pd.style.display='none';
		pl.className = 'portletClosed';
	}
}

// ==================================================
//	End Collapsible Portlets
// ==================================================