User: Markhurd/hidetopcontrib.js
< User:Markhurd (Update for en changes) |
(Remove legacy Javascript.) |
||
Line 15: | Line 15: | ||
// 120207 MEH Cater for all skins. | // 120207 MEH Cater for all skins. | ||
// 120321 MEH Cater for [[en:Wikipedia:Added or removed characters|WP:AORC]] by removing support for top not using the mw-uctop class. | // 120321 MEH Cater for [[en:Wikipedia:Added or removed characters|WP:AORC]] by removing support for top not using the mw-uctop class. | ||
// 121123 [[en:User:Waldir]] Allow user configuration of link location and text. | |||
// 150121 MEH Remove legacy Javascript. | |||
// This script hides lines according to who has the top contribution for a page. | // This script hides lines according to who has the top contribution for a page. | ||
Line 45: | Line 47: | ||
b = 2; | b = 2; | ||
if(li[i].innerHTML.match(/<abbr +[^>]*class *= *(['"])?newpage\1/i)==undefined) b++; | if ( li[i].innerHTML.match( /<abbr +[^>]*class *= *(['"])?newpage\1/i ) == undefined) | ||
if(li[i].innerHTML.match(/class *= *(['"])?mw-revdelundel-link\1/i)!=undefined) b++; | b++; | ||
if ( li[i].innerHTML.match( /class *= *(['"])?mw-revdelundel-link\1/i ) != undefined) | |||
b++; | |||
if (typeof links=='undefined' || links.length<(b+1)) | if (typeof links=='undefined' || links.length<(b+1)) | ||
Line 69: | Line 73: | ||
} | } | ||
jQuery( function( $ ) { | |||
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Contributions') { | |||
var htPortletLink = mw.util.addPortletLink( portletId, '#', portletText, 'ca-hidetop', | |||
"Show/hide pages for which you're the top contributor", '' ); | |||
$( htPortletLink ).click( function ( e ) { | |||
e.preventDefault(); | |||
hidetopcontrib(); | |||
}); | |||
} | |||
}); | }); | ||
//</nowiki></pre> | //</nowiki></pre> | ||
//[[Category:Wikipedia scripts]] | //[[Category:Wikipedia scripts]] |
Latest revision as of 15:14, 9 February 2016
//[[User:Markhurd/hidetopcontrib.js]]
// Based on [[en:User:Ais523/hidetopcontrib.js]]
// By a suggestion by [[en: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 [[en: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.
// 110520 User:Waldir Better page check.
// 120206 MEH Cater for IE renderer differences.
// 120207 MEH Cater for all skins.
// 120321 MEH Cater for [[en:Wikipedia:Added or removed characters|WP:AORC]] by removing support for top not using the mw-uctop class.
// 121123 [[en:User:Waldir]] Allow user configuration of link location and text.
// 150121 MEH Remove legacy Javascript.
// 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;
if (typeof portletId=='undefined')
portletId = 'p-cactions';
if (typeof portletText=='undefined')
portletText = 'show/hide top';
function hidetopcontrib()
{
var i,li,a;
li=document.getElementById("bodyContent");
if (li===null)
li=document.getElementById("article");
if (li===null)
li=document.getElementById("mw_main");
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\1/i ) == undefined)
b++;
if ( li[i].innerHTML.match( /class *= *(['"])?mw-revdelundel-link\1/i ) != 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/i)!=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");
}
}
jQuery( function( $ ) {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == 'Contributions') {
var htPortletLink = mw.util.addPortletLink( portletId, '#', portletText, 'ca-hidetop',
"Show/hide pages for which you're the top contributor", '' );
$( htPortletLink ).click( function ( e ) {
e.preventDefault();
hidetopcontrib();
});
}
});
//</nowiki></pre>
//[[Category:Wikipedia scripts]]