Järjestelmäviesti:Group-editor.js

Seuraavassa artikkelissa aiomme sukeltaa Järjestelmäviesti:Group-editor.js:n kiehtovaan maailmaan. Tutkimme tämän mielenkiintoisen aiheen kaikkia puolia sen alkuperästä sen merkitykseen nykyään. Löydämme sen vaikutuksen yhteiskuntaan, sen vaikutuksen eri alueilla ja miten se on kehittynyt ajan myötä. Laajan ja yksityiskohtaisen lähestymistavan avulla analysoimme sen eri puolia tarjotaksemme täydellisen ja rikastuttavan panoraaman. Liity kanssamme tälle Järjestelmäviesti:Group-editor.js:n tiedon ja löytöjen matkalle.

mw.loader.using( 'mediawiki.util', () => {
	var rformId = '#mw-fr-reviewform';
    if ( $( rformId ).length ) return;
    
    var pageName = mw.config.get( 'wgPageName' );
    var revisionId = mw.config.get( 'wgCurRevisionId' );
    var linkUrl = mw.util.getUrl( pageName, { oldid: revisionId } );
    $( '.mw-fr-stable-unreviewed .cdx-message__content, #mw-fr-revision-details .cdx-dialog__body' ).append(
    	` <b><a href="${ linkUrl }${ rformId }">Tarkista muutokset ...</a></b>`
    );
} );



// Päivittää ensimmäisen arvioinnin tiedotetekstin
if (e=document.getElementById('mw-fr-reviewing-status')) {
   if (f=document.getElementById('mw-fr-revisiontag')) {
      if (f.innerHTML.search("ensiarviointi")>-1) {
         if (g=document.getElementById('wpaccuracy2'))
         {
//            g.checked=true;
         }
         var paragraph=document.createElement('p');
         paragraph.innerHTML="Tämä on artikkelin ensimmäinen arviointi. Ennen hyväksymistä lue artikkeli, poista mahdolliset sotkut ja merkitse ongelmat. (<a href='//fi.wikipedia.orghttps://scientiafi.com/Ohje:Sivujen_arviointi#Ensimm.C3.A4inen_arviointi'>arviointiohje</a>)";    
         e.parentNode.parentNode.insertBefore(paragraph, e.parentNode);
      }
   }
}

// Korjaa muutoksenarviointidiffi-sivun ulkoasubugin
function fwfix_historyview() {

   tables=document.getElementsByTagName("table");
   for (var i = 0; i < tables.length; i++) {

       if (tables.className=='fr-diff-ratings') {
            cols=tables.getElementsByTagName('td');
            tables.style.width='100%';
            for (var j = 0; j < cols.length; j++) {
                 cols.style.width='1000px';  
       
        
            }
     
           tables.style.display='block'; 
       }
    }
}


function add_odottavat_muutokset() {
	$.getJSON("//fi.wikipedia.org/w/api.php?action=query&list=oldreviewedpages&ornamespace=0&format=json&orlimit=50",    function(data)
     {    
     	// Uusi tarkistus tähän, koska ensimmäinen tarkistus voidaan tehdä ennen kuin tämä on astettu jolloin näkyy kaksi lukua
     	if (mw.user.options.get("gadget-pendingChangesLink")==1)
     	{
     		return ;
     	}
        var len=data.query.oldreviewedpages.length;
        if (len) {
          var now=new Date();
          var pending_since=new Date(data.query.oldreviewedpages.pending_since);
          var oldest_in_hours=Math.floor((now-pending_since)/(60*60*1000));
          var titlemsg="Vanhin muutos on odottanut " + oldest_in_hours +" tuntia.";
          
          var titlemsg_short=((len<50) ? len : "50+" ) + " (" + oldest_in_hours + " h)";
          var pc_count_div=$("<div/>");
          var pc_count_span=$("<small/>");

          pc_count_div.addClass("rc-count");
          pc_count_span.text(titlemsg_short);
          pc_count_span.attr("title", titlemsg);
		  pc_count_span.css('padding-left', '0.5em');

          if (len=50)
          {
          	pc_count_span.css('color', 'red');
          }
          pc_count_div.append(pc_count_span);
          pc_count_div.insertAfter("#rc_check_oldest");
          
          // Tarkista muutos -linkki
            if ( e=document.getElementById("pendingcount")) 
            {
            	if (mw.config.get('wgCanonicalSpecialPageName')=="Recentchanges") 
            	{
            		$("<small><b> – <a href='javascript:check_unreviewed()'>Tarkasta muutos</a></b></small>").insertAfter(e.parentNode);
            	}
            	else 
            	{
            		$("<br /><b></b>").insertAfter(e.parentNode);
            	}
            }
        }
        else
        {
        	$("#rc_check_oldest").hide();
        }
     });
}



// Mikäli muokkaajia on ollut useita, niin muutokset tarkistuksen yhteyteen lisätään lista muokkaajista
// "Näytettyjen versioiden välissä on 3 versiota, jotka ovat 2 eri käyttäjän tekemiä" -tekstin alle.
// Lisännyt Zache 26.5.2012

if ($) {
$(".diff-multi").each(function(i) {
  title=mw.config.get('wgPageName');
  $.get("//fi.wikipedia.org/w/index.php?title=" + title +"&action=history",function(data)
  {
  	var datasplit = data.split("<ul id=\"pagehistory\">");
  	if (!datasplit || !datasplit) return;
    var parts= datasplit.split("</ul>");
    tmplist=$("<ul>").html(parts);
    list=$("<ul>");
    list.css("text-align", "left");
    tmplist.find(".flaggedrevs-pending").each(function () {
//      revid=$(this).find("input").attr("value");
      oldid=$(this).find("input").attr("value");
      $(this).css("background-color", "white");
      row=$('<li><a href="//fi.wikipedia.org/w/index.php?title='+title+'&diff=prev&oldid=' + oldid+ '">(ero)</a> </li>').append(this);

      row.find(".mw-history-histlinks").css("display", "none");
      row.find("input").css("display", "none");
      row.appendTo(list);
    });
    list.appendTo('.diff-multi');
  });
});
}




// Päivittää luvun joka näyttää kuinka monta muutosta on odottamassa.
if (document.getElementById("pendingcount")) {
  if ($) {
      $.getJSON("//fi.wikipedia.org/w/api.php?action=query&list=oldreviewedpages&ornamespace=0&format=json&orlimit=50"
      ,
        function(data) {
            if (data && data.query && data.query.oldreviewedpages) {
               var l=data.query.oldreviewedpages.length;
               document.getElementById("pendingcount").innerHTML=(l<50) ? l : l +"+" ;
            }
      })
  } else {
      alert("JQeury not ready");
  }
}

if (document.getElementById("mw-fr-diff-headeritems")) {
$(fwfix_historyview);
}

var link_title="Odottavat muutokset";
$("<li><a  style='white-space:nowrap' href='//fi.wikipedia.orghttps://scientiafi.com/Toiminnot:Odottavat_muutokset' id='rc_check_oldest' href='#'>"+ link_title +"</a></li>").insertAfter("#n-recentchanges");
// Käytetään tässä olevaa funtiota ainoastaan jos pienoisohjelma ei ole käytössä
if (mw.user.options.get("gadget-pendingChangesLink")!=1)
{
	$(add_odottavat_muutokset);
}

/*
// Mikäli pendingChangesDiff-pienoisohjelma EI OLE käytössä ja ollaan odottavat muutokset sivulla, niin lisätään ''Näytä muutokset'' -nappi
if ((mw.config.get('wgCanonicalSpecialPageName')=="PendingChanges" ) && (mw.user.options.get("gadget-PendingChangesDiff")!=1))
{
    var button=$("<input id='showPendingChangesDiffsButton' type='button' value='Näytä muutokset' />");
    button.click(function(event) {
        $(this).attr('disabled', 'disabled');
        $(this).off(event);
        $.getScript('//fi.wikipedia.org/w/index.php?title=J%C3%A4rjestelm%C3%A4viesti:Gadget-PendingChangesDiff.js&action=raw', 
        function () {
           showPendingChangesDiffs();
        }); 
    });
    $("fieldset").append(button);
}
*/

/*

Näyttää odottavien muutosten arvioinnin yhteydessä arviointimuistiinpanolaatikon jonka sisältö tulee artikkelinkeskustelusivulla olevasta
arviointimuistiinpanot-mallineesta.

*/

function review_notes_help(new_talk_page)
{
   // Jos luodaan uusi keskustelusivu niin voidaan preloadata sivun sisältö
   var url="";
   var labeltext="Lisää arviointimuistiinpano";
   if (new_talk_page)
   {
      var pagename=mw.config.get("wgPageName");
      var preload="Malline:Arviointimuistiinpanot/esimerkki";
      url="//fi.wikipedia.orghttps://scientiafi.com/Keskustelu:" + pagename + "?action=edit&section=0&preload=" + preload;
      if (new_talk_page==2)
      {
         labeltext="Näytä arviointimuistiinpano";
         url="//fi.wikipedia.orghttps://scientiafi.com/Keskustelu:" + pagename ;
      }
   }
   else
   {
      // Koska sivu on olemassa, niin ihmisen pitää tehdä manuaalista työtä
      url="javascript:alert('Voit luoda viestin lisäämällä artikkelin keskustelusivun alkuun mallineen \"{{Arviointimuistiinpanot|viesti=haluamasi viesti}}\"')";
   }
   var msg=$("<div><i><a>" + labeltext + "</a></i></div>");             
   msg.css("float", "right");
   msg.find("a").attr('href', url);
   $("#mw-fr-confirmreview").append(msg);        
}


function get_review_notes()
{
    var e=$("#bodyContent").find("#mw-content-text").find("#mw-fr-reviewform");
    
    // Arviointimuistiinpanot näytetään silloin kun ollaan arvioimassa arvioimatonta diffiä
    if (e.length)
    {        
        var pagename=mw.config.get("wgPageName");
        var url="//fi.wikipedia.orghttps://scientiafi.com/Keskustelu:" + pagename;
        $.get( url, function( data ) {
           var my_div= $.parseHTML(data);
           if ($(my_div).find("#review_notes").length)
           {
              var review_notes=$(my_div).find("#review_notes");
              review_notes.find(".review_notes_title").hide();
              review_notes.css('padding-bottom',' 0.5em');
              if (review_notes.find(".review_notes_text").text().trim() != "")
              {
                 var wgStableRevisionId = mw.config.get("wgStableRevisionId");
                 var wgRevisionId = mw.config.get("wgRevisionId");

                 // Arviointimuistiinpanot näytetään ainoastaan silloin jos ollaan arvioimassa arvioimatonta muutosta
                 if (wgRevisionId > wgStableRevisionId)
                 {
                   $("#mw-fr-reviewform").append(review_notes);
                 }
                 else
                 {
                   review_notes_help(2);
                 }        
              }
              else
              {
                 review_notes_help(1); 
              }
           }
           else
           {
              review_notes_help(0); 
           }
        }).fail(function() {
           review_notes_help(1);
        });
    }
}
jQuery( document ).ready( get_review_notes );


if (mw.config.get('wgCanonicalSpecialPageName')=='PendingChanges' )
{
	var category=$("#wpCategory").attr("value");	
	if (typeof(category) != "undefined" && category !="")
	{
    	var label=$("label");
    	var link=$("<A>");
    	link.attr("href", "//fi.wikipedia.orghttps://scientiafi.com/luokka:" + encodeURI(category.replace(" ", "_")));
    	link.html(label.html());
    	label.empty().append(link);
	}
}