מדיה ויקי:Gadget-rclast.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/* הוספת כיתוב "(אחרון)" לעריכות בשינויים האחרונים
ואפשרות לסינון העריכות שאינן אחרונות ופעולות יומן. */
function toggleRecentChangesLines ( id, className, action )
{
    if ( action )
    {
        appendCSS ("." + className + " { display:list-item; }");
        document.getElementById(id).replaceChild ( document.createTextNode("הסתרת"), document.getElementById(id).firstChild );
        document.getElementById(id).href='javascript:toggleRecentChangesLines("' + id + '","' + className + '",0)';
    }
     else
    {
        appendCSS ("." + className + " { display:none; }");
        document.getElementById(id).replaceChild ( document.createTextNode("הצגת"), document.getElementById(id).firstChild );
        document.getElementById(id).href='javascript:toggleRecentChangesLines("' + id + '","' + className + '",1)';
    }
}


function rcLast()
{
    function buildRCToggle ( id, className, text )
    {
        var toggle = document.createElement('a');
        toggle.appendChild ( document.createTextNode("הסתרת") );
        toggle.id = id;
        toggle.href = 'javascript:toggleRecentChangesLines("' + id + '","' + className + '",0)';

        brInRcOptions.parentNode.insertBefore(document.createTextNode( " | " ), brInRcOptions);
        brInRcOptions.parentNode.insertBefore(toggle, brInRcOptions);
        brInRcOptions.parentNode.insertBefore(document.createTextNode(text), brInRcOptions);
    }

    // בדיקה אם המשתמש בחר בהצגת רשימת שינויים אחרונים משופרת
    if ( getElementsByClassName(document.getElementById("bodyContent"),"*","mw-enhanced-rc")[0] ) return;

    var items = document.getElementById('bodyContent').getElementsByTagName('LI');
    if ( !items ) return;

    var title, last, a;
    var pages = [];
    for ( var i = 0; i < items.length; i++ ) {
        a = items[i].getElementsByTagName("a");
        if (! a.length)
            continue;
        title = a[0].title;
        if ( title.indexOf("מיוחד:") == 0 ) items[i].className += " rcLogLi";
         else
        {
           if(!pages[title]){
            // לא פעולה ביומן, ועריכה אחרונה עד כה
            pages[title] = true;
            last = document.createElement( "strong" );
            last.appendChild( document.createTextNode( " (אחרון)" ) );
            items[i].appendChild( last );
           items[i].className += " rcLastEditLi";
           }
           else
           {
              items[i].className += " rcNonLastEditLi";
           }
        }
    }

    // add option to filter non last edits
    var rcOptions = document.getElementById('bodyContent').getElementsByTagName('fieldset');
    if ( !rcOptions ) return;
    var brInRcOptions = rcOptions[0].getElementsByTagName('br')[1];

    buildRCToggle ( "rcLastEditsFilter", "rcNonLastEditLi", " עריכות שאינן אחרונות" );
    if ( !getParamValue("hidepatrolled") ) buildRCToggle ( "rcLogFilter", "rcLogLi", " פעולות יומן" );
}

if ( mw.config.get('wgCanonicalSpecialPageName') == "Recentchanges" ) $( rcLast );