MediaWiki:Gadget-EdytujWNondanych.js

Z Nonsensopedii, polskiej encyklopedii humoru
Wersja z dnia 16:25, 6 cze 2019 autorstwa Eksekk (dyskusja • edycje) (bugfix, SMW traktuje nieistniejące strony jako posiadające każdy atrybut)

Uwaga: aby zobaczyć zmiany po zapisaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5 lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer: Przytrzymaj Ctrl jednocześnie klikając Odśwież lub naciśnij klawisze Ctrl+F5
  • Konqueror: Kliknij polecenie Odśwież lub naciśnij klawisz F5
  • Opera: Wyczyść pamięć podręczną w Narzędzia → Preferencje
$(document).ready(function()
{
	if (mw.config.get("wgNamespaceNumber") == 108)
	{
		//przycisk "Edytuj w Nondanych"
		$("#ca-view").after("<li id='ca-nondaneEdit'><span><a href='https://dane.nonsa.pl/wiki/" + encodeURI(mw.config.get("wgPageName")) + "?action=formedit'>Edytuj w Nondanych</a></span></li>");
		
		//button pokazujący, czy dana strona została już uzupełniona w Nondanych
		var tytul = mw.config.get("wgPageName").replace(/_/g, " ");
		var kodWypelnionej = "<img src='https://upload.wikimedia.org/wikipedia/commons/1/1e/Button_Icon_GreenForest.svg' width='20px' height='20px' style='padding: 0px 0px 3px 10px;' title='Ta strona została już uzupełniona w Nondanych'>";
		var kodNiewypelnionej = "<img src='https://upload.wikimedia.org/wikipedia/commons/0/07/Button_Icon_Red.svg' width='20px' height='20px' style='padding: 0px 0px 3px 10px;' title='Ta strona nie została jeszcze uzupełniona w Nondanych'>";
	
		mw.loader.using( 'mediawiki.ForeignApi' ).done( function ()
		{
		    var api = new mw.ForeignApi("https://dane.nonsa.pl/api.php");
		    api.post(
		    {
		        action: 'ask',
		        format: 'json',
		        query: '[[Nie posiada typu strony Gry::true]] [[' + tytul + ']]'
		    }).done(function(dane)
		    {
		        var wypelniona = (typeof dane.query.results[tytul] === "undefined");
		        if (wypelniona)
				{
					api.post (
					{
						action: 'query',
						format: 'json',
						titles: tytul
					}).done(function(dane)
					{
						if (typeof dane.query.pages["-1"] === "undefined")
						{
							$("#firstHeading").append(kodWypelnionej);
						}
						else
						{
							$("#firstHeading").append(kodNiewypelnionej);
						}
					}).fail(function(error)
				    {
				        console.log(error);
				    });
				}
				else
				{
					$("#firstHeading").append(kodNiewypelnionej);
				}
		    }).fail(function(error)
		    {
		        console.log(error);
		    });
		});
	}
});