Difference between revisions of "MediaWiki:Monobook.js"
From SWGANH Wiki
(New page: →tooltips and access keys: var 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'...) |
|||
Line 58: | Line 58: | ||
document.write('<style type="text/css">/*<![CDATA[*/ h1.firstHeading { display: none !important; } /*]]>*/</style>'); | document.write('<style type="text/css">/*<![CDATA[*/ h1.firstHeading { display: none !important; } /*]]>*/</style>'); | ||
} | } | ||
+ | |||
+ | /** Dynamic Navigation Bars (experimental) ************************************* | ||
+ | * | ||
+ | * Description: See http://en.wikipedia.org/wiki/Wikipedia:NavFrame | ||
+ | */ | ||
+ | var strHide = '▼'; | ||
+ | var strShow = '►'; | ||
+ | |||
+ | function toggleNavigationBar(indexNavigationBar) { | ||
+ | var NavToggle = document.getElementById('NavToggle' + indexNavigationBar); | ||
+ | var NavFrame = document.getElementById('NavFrame' + indexNavigationBar); | ||
+ | |||
+ | if (!NavFrame || !NavToggle) return false; | ||
+ | |||
+ | for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | ||
+ | if (NavChild.className == 'NavContent') { | ||
+ | NavChild.style.display = (NavChild.style.display=='none') ? 'block' : 'none'; | ||
+ | } | ||
+ | } | ||
+ | NavToggle.firstChild.data = (NavToggle.firstChild.data==strShow) ? strHide : strShow; | ||
+ | } | ||
+ | |||
+ | function createNavigationBarToggleButton() { | ||
+ | var indexNavigationBar = 0; | ||
+ | for(var i=0; NavFrame = document.getElementsByTagName('div')[i]; i++) { | ||
+ | if (NavFrame.className == 'NavFrame') { | ||
+ | indexNavigationBar++; | ||
+ | |||
+ | var NavToggle = document.createElement('a'); | ||
+ | NavToggle.className = 'NavToggle'; | ||
+ | NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | ||
+ | NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | ||
+ | var NavToggleText = document.createTextNode(strHide); | ||
+ | NavToggle.appendChild(NavToggleText); | ||
+ | |||
+ | // Find the NavHead and attach the toggle link | ||
+ | for(var j=0; j < NavFrame.childNodes.length; j++) { | ||
+ | if (NavFrame.childNodes[j].className == 'NavHead') { | ||
+ | NavFrame.childNodes[j].appendChild(NavToggle); | ||
+ | } | ||
+ | } | ||
+ | switch (NavFrame.getAttribute('id')) { | ||
+ | case 'hide': | ||
+ | NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); | ||
+ | toggleNavigationBar(indexNavigationBar); | ||
+ | break; | ||
+ | default: | ||
+ | NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | addLoadEvent(createNavigationBarToggleButton); |
Revision as of 10:28, 17 September 2007
/* tooltips and access keys */ var 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('','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'); /* Main page hacks. Remove default "Main Page" header */ var mpTitle = "Main Page"; var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle); var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1)); if (isMainPage && !isDiff) { document.write('<style type="text/css">/*<![CDATA[*/ h1.firstHeading { display: none !important; } /*]]>*/</style>'); } /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See http://en.wikipedia.org/wiki/Wikipedia:NavFrame */ var strHide = '▼'; var strShow = '►'; function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById('NavToggle' + indexNavigationBar); var NavFrame = document.getElementById('NavFrame' + indexNavigationBar); if (!NavFrame || !NavToggle) return false; for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if (NavChild.className == 'NavContent') { NavChild.style.display = (NavChild.style.display=='none') ? 'block' : 'none'; } } NavToggle.firstChild.data = (NavToggle.firstChild.data==strShow) ? strHide : strShow; } function createNavigationBarToggleButton() { var indexNavigationBar = 0; for(var i=0; NavFrame = document.getElementsByTagName('div')[i]; i++) { if (NavFrame.className == 'NavFrame') { indexNavigationBar++; var NavToggle = document.createElement('a'); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(strHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link for(var j=0; j < NavFrame.childNodes.length; j++) { if (NavFrame.childNodes[j].className == 'NavHead') { NavFrame.childNodes[j].appendChild(NavToggle); } } switch (NavFrame.getAttribute('id')) { case 'hide': NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); toggleNavigationBar(indexNavigationBar); break; default: NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } } addLoadEvent(createNavigationBarToggleButton);