Järjestelmäviesti:Gadget-wikidatafix.js

Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.

  • Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
  • Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
  • Internet Explorer ja Edge: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
  • Opera: Paina Ctrl-F5.
function filter_wikidata_edits_ui()
{
	var rcfilters=$("dd.mw-changeslist-legend-wikibase-edit");
	
	if (rcfilters.length)
	{
		var container=$("<span>");
		container.addClass('gadget-wikidatafix-ui');
		var checkbox=$('<input id="gadget-wikidatafix-state" type="checkbox" />');
		checkbox.css('zoom', '0.85');
		checkbox.click(function()
		{
			$("li.gadget-wikidatafix-hide").toggle(this.checked);	
		});
		container.append(checkbox);
		rcfilters.append(container);
	}
}

function filter_wikidata_edits()
{
	console.log('filter_wikidata_edits');
	var re1 = /^(fi|sv|se|en|de|fr|ee|no):/;
	var re2 = /: (fi|sv|se|en|de|fr|ee|no)wiki/;	
	var re3 = /\[(fi|sv|se|en|de|fr|ee|no)\]/;
	var re4 = /\[(fi|sv|se|en|de|fr|ee|no)wiki/;
	
	$("li.mw-changeslist-src-mw-wikibase").not("li.mw-changeslist-ns-0").addClass('gadget-wikidatafix-hide');
	$("li.mw-changeslist-src-mw-wikibase.mw-changeslist-bot").addClass('gadget-wikidatafix-hide');
	
	$("div.mw-changeslist")
		.find("li.mw-changeslist-src-mw-wikibase")
		.find(".comment")
		.each(function() {
			var e=$(this);
			var extiwtext=e.find(".extiw").text();
			var text=e.text();
			if ((extiwtext.search(re1) == -1) && (extiwtext.search(/^[a-z\-]{2,4}(:|wiki)/) != -1) )
			{
				e.closest("li").addClass('gadget-wikidatafix-hide');
			}
			else if ((text.search(re2) == -1) && (text.search(/Kielilinkki/) != -1)) 
			{
				e.closest("li").addClass('gadget-wikidatafix-hide');				
			}
			else if ((text.search(re3) == -1) && (text.search(/(alias|-kuvaus)/) != -1)) 
			{
				e.closest("li").addClass('gadget-wikidatafix-hide');				
			}
			else if ((text.search(re4) == -1) && (text.search(/(linkki|merkkej)/) != -1) && (text.search(/tähän sivuun/) == -1)) 
			{
				e.closest("li").addClass('gadget-wikidatafix-hide');				
			}
		}
	);
	
	var rows=$("li.gadget-wikidatafix-hide");
	if (rows.length)
	{
		if ($('#gadget-wikidatafix-state').prop('checked')===false)
		{
			rows.hide();
		}
		rows.css('background-color','silver');
	}
}



var page=mw.config.get('wgCanonicalSpecialPageName');
if (page == "Watchlist" || page == "Recentchanges" || page == "Recentchangeslinked")
{
	$(function() {
		filter_wikidata_edits_ui();
		mw.hook( 'wikipage.content' ).add(filter_wikidata_edits);
	});
}