MediaWiki:Gadget-GradientHeaders.js: Difference between revisions

From Elwiki
No edit summary
No edit summary
Line 1: Line 1:
$('tr:not(.rainbow, .section-border tr, .nmbox tr, .fancy table tr, table[cellpadding="5"][border="1"][style] tr, .job-change-collapsible tr, .skill-tree tr, .skillnav tr, .forcenav tr)').each(function(){
$('tr:not(.rainbow, .section-border tr, .nmbox tr, .fancy table tr, table[cellpadding="5"][border="1"][style] tr, .section tr, .skill-tree tr, .skillnav tr, .forcenav tr)').each(function(){
     var getGrayscale = function(color){
     var getGrayscale = function(color){
         var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/;
         var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/;

Revision as of 13:55, 1 May 2022

$('tr:not(.rainbow, .section-border tr, .nmbox tr, .fancy table tr, table[cellpadding="5"][border="1"][style] tr, .section tr, .skill-tree tr, .skillnav tr, .forcenav tr)').each(function(){
    var getGrayscale = function(color){
        var regAlpha = /rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+,\s*(0?\.\d+|[01](\.0*)?)\s*\)/;
        var Pc = bgcolor.match(regAlpha);
        Pc = Pc && Pc[1] ? Pc[1] : 1;
        Pc = Math.round(255 - 17 * Pc);
        return 'rgb(' + [Pc, Pc, Pc].join() + ')';
    };

    var tr = $(this);
    var bgcolor = tr.css('background-color');
    var bgimage = tr.css('background-image');

    if(bgcolor != 'Rainbow' && bgimage == 'none'){
        var grayscale = getGrayscale(bgcolor);
        tr.children('th').each(function(){
            var th = $(this);
            var Hbgcolor = th.css('background-color');
            var Hbgimage = th.css('background-image');

            if(Hbgcolor != 'Rainbow' && Hbgimage == 'none'){
                var Hgrayscale = (Hbgcolor == bgcolor) ? grayscale : getGrayscale(Hbgcolor);
                th.css('background-image', 'linear-gradient(to bottom, ' + Hgrayscale + ', ' + Hbgcolor + ')');
            }
        });
    }
});