Jump to content

User:Beetstra/vector.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* <pre><nowiki> */

//[[User:Markhurd/hidetopcontrib.js]]
// Based on [[User:Ais523/hidetopcontrib.js]]
// By a suggestion by [[User:Discospinster]]
// 090325 MEH Fixed where it is not hiding all (top)s, starting with redirects
//            and continuing after any regex mismatch.
// 090615 MEH Cater for new <span class="mw-uctop">
//            Add userHideAllSubsequent user setting.
//            Fix issue reported by [[User talk:Markhurd/hidetopcontrib.js#Bug|Lenore]].
// 100407 MEH Use simplified regex that works on IE8.
// 100413 MEH Cater for new pages.
// 100428 MEH Cater better for new pages.
// 100519 User:Ale_jrb Cater for Single-Revision Deletion, newly available to Admins.
 
// This script hides lines according to who has the top contribution for a page.
// If userHideAllSubsequent=true, all subsequent contributions are hidden too, more like watchlists.
 
//<pre><nowiki>
 
if (typeof userHideAllSubsequent=='undefined')
 userHideAllSubsequent=false;
 
function hidetopcontrib()
{
   var i,li,a;
   li=document.getElementById("bodyContent");
   li=li.getElementsByTagName("li");
   i=-1;
   a=new Array();
   while(++i<li.length)
   {
     var s,t,links,b;
     links=li[i].getElementsByTagName("a");
 
     b = 2;
     if(li[i].innerHTML.match(/<abbr +[^>]*class *= *"newpage"/)==undefined) b++;
     if(li[i].innerHTML.match(/class *= *"mw-revdelundel-link"/)!=undefined) b++;
 
     if (typeof links=='undefined' || links.length<(b+1))
           continue;
 
     t=links[b].innerHTML;
 
     if(li[i].getElementsByTagName("strong").length>0||li[i].innerHTML.match(/mw\-uctop/)!=undefined)
       s="none";
     else
       s="";
 
     if(a[t]!=undefined)
       s=userHideAllSubsequent?"none":a[t];
     else
       a[t]=s;
 
     if(s!="")
       // li[i].innerHTML=li[i].innerHTML + ":'" + s + "'";
       li[i].style.display=(li[i].style.display=="none"?"list-item":"none");
   }
 }
 
$.when(
	mw.loader.using( [ 'mediawiki.util' ] ),
	$.ready
).done( function () {
	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions' ) {
		mw.util.addPortletLink(
			'p-cactions',
			'javascript:hidetopcontrib()',
			'show/hide top',
			'ca-hidetop',
			"Show/hide pages for which you're the top contributor"
		);
	}
	// You can use this loader / ready wrapper for any additional
	// mw.util.addPortletLink() calls in the future.
} 
);
 
importScript('User:Beetstra/Gadget-Spam-blacklist-Handler.js'); 
importScript('User:Beetstra/Gadget-Spam-whitelist-Handler.js'); 
importScript('User:Beetstra/Gadget-Spamblacklistlog.js');
//</nowiki></pre>

LinkClassifierOnDemand=true;
//importScript('User:Anomie/linkclassifier.js'); // Linkback: [[User:Anomie/linkclassifier.js]]
//importStylesheet('User:Anomie/linkclassifier.css'); // Linkback: [[User:Anomie/linkclassifier.css]]
//mw.util.addPortletLink('p-cactions', 'javascript:LinkClassifier.onDemand()', 'Link Classifier');

importScript('Wikipedia:WikiProject User scripts/Scripts/CloseAFD.js');

//importScript( 'User:Enterprisey/reply-link.js' ); // Backlink: [[User:Enterprisey/reply-link.js]] to get reply links on talkpages.  (I was thinking to write this myself)
importScript( 'User:Enterprisey/reply-link.js' ); // Backlink: [[User:Enterprisey/reply-link.js]];