User:MinuteElectron/Scripts/epictabs.js
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
// Splits the tabs into two sections (page and discussion page) with their own things for all default actions // except for watch\unwatch which applies to both anyway. Not for delete\block etc yet (on the to-do list) though. // Originally by [[User:Alex Smotrov]], with heavy modifications by [[User:MinuteElectron]] if (wgNamespaceNumber >= 0) addOnloadHook(function(){ var pCactions = document.getElementById('p-cactions'); if (!pCactions) return; var caMain = pCactions.getElementsByTagName('li')[0]; var caTalk = document.getElementById('ca-talk'); var caEdit = document.getElementById('ca-edit'); var caMove = document.getElementById('ca-move'); if (!caEdit) caEdit = document.getElementById('ca-viewsource'); var caHistory = document.getElementById('ca-history'); if (!caMain || !caTalk || !caEdit || !caMove || !caHistory) return; var el_move, el_create, id2; addPortletLink('p-cactions', href + '?action=purge', 'purge', 'ca-purge', 'Purge server cache for this page', '0'); if (wgNamespaceNumber % 2) { //talk space el_move = caTalk; el_create = caMain; id2 = ''; } else { el_move = caMain; el_create = caTalk; id2 = 'discussion'; } caEdit.firstChild.innerHTML = 'edit'; caHistory.firstChild.innerHTML = 'hist'; var caPurge = document.getElementById('ca-purge'); el_move.parentNode.insertBefore(caPurge, el_move.nextSibling); el_move.parentNode.insertBefore(caMove, el_move.nextSibling); el_move.parentNode.insertBefore(caHistory, el_move.nextSibling); el_move.parentNode.insertBefore(caEdit, el_move.nextSibling); var href = el_create.firstChild.getAttribute('href', 2); if (el_create.className.indexOf('new') < 0){ addPortletLink('p-cactions', href + '?action=purge', 'purge', 'ca-purge-'+id2, 'Purge '+id2, '', el_create.nextSibling); addPortletLink('p-cactions', href + '?action=move', 'move', 'ca-move-'+id2, 'Move '+id2, '', el_create.nextSibling); addPortletLink('p-cactions', href + '?action=history', 'hist', 'ca-history-'+id2, id2+' history', '', el_create.nextSibling); addPortletLink('p-cactions', href + '?action=edit', 'edit', 'ca-edit-'+id2, 'Edit '+id2, '', el_create.nextSibling); } caMain.style.marginRight = '0.3em'; caTalk.style.marginRight = '0.3em'; caTalk.style.marginLeft = '1.6em'; })

