Wikipedysta:Persino/Gadget-DodatkiSkrypt3.js/LibreLua.js

Uwaga: aby zobaczyć zmiany po opublikowaniu, 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 / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
/*Moduł JavaScript modułu Nazw zdefiniowanych poprzez język Lua*/
DodatkiSkrypt.LibreLua=new Array();
DodatkiSkrypt.LibreLua.ApiLua=function(wikikod,aktualna_strona){
	return DodatkiSkrypt.api.ZadaniaApi({
		action: 'expandtemplates',
		format: 'json',
		prop: 'wikitext',
		title: aktualna_strona||mw.config.get('wgPageName'),
		text: wikikod,
		smaxage:600,
		maxage:600,
		maxlag:600,
	}).DodatkiSkryptThen(function(data){
		return Promise.resolve(data.expandtemplates.wikitext);
	}).DodatkiSkryptCatch(function(data){return Promise.reject();});
}
DodatkiSkrypt.LibreLua.ApiLuaParse=function(wikikod){
	return DodatkiSkrypt.api.ZadaniaApi({
		action: 'parse',
		format: 'json',
		prop: 'text|categories',
		title: mw.config.get('wgPageName'),
		text: wikikod,
		disabletoc: true,
		disablelimitreport: true,
		disablestylededuplication: true,
		contentmodel: 'wikitext',
		smaxage:600,
		maxage:600,
		maxlag:600,
	}).DodatkiSkryptThen(function(data){
		return Promise.resolve(data);
	}).DodatkiSkryptCatch(function(data){return Promise.reject(data);});
}
var OgolneApiNazwy=function(funkcja,nazwa,klucz_projektu,kod_jezyka,kod_projektu,parametry){
	nazwa=(nazwa?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(nazwa)):nazwa);
	klucz_projektu=(klucz_projektu?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(klucz_projektu)):klucz_projektu);
	kod_jezyka=(kod_jezyka?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(kod_jezyka)):kod_jezyka);
	kod_projektu=(kod_projektu?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(kod_projektu)):kod_projektu);
	return DodatkiSkrypt.LibreLua.ApiLua("{{"+funkcja+"|nazwa="+nazwa+((klucz_projektu)?("|klucz projektu="+klucz_projektu):"")+((kod_jezyka)?("|kod języka="+kod_jezyka):"")+((kod_projektu)?("|kod projektu="+kod_projektu):"")+((parametry)?("|"+parametry):"")+"|bez dodatkowych sprawdzeń=tak}}");
}
var nazwy_tab_fun={
	"NAZWAPRZESTRZENI":true,
	"PRZEDMIOTOWAPRZESTRZEŃ":true,
	"PRZESTRZEŃDYSKUSJI":true,
	"NAZWASTRONY":true,
	"BAZOWANAZWASTRONY":true,
	"PEŁNANAZWASTRONY":true,
	"PEŁNABAZOWANAZWASTRONY":true,
	"PRZEDMIOTOWABAZOWANAZWASTRONY":true,
	"BAZOWANAZWASTRONYDYSKUSJI":true,
	"PRZEDMIOTOWANAZWASTRONY":true,
	"NAZWASTRONYDYSKUSJI":true,
	"NAZWAKSIĄŻKI":true,
	"PEŁNANAZWAKSIĄŻKI":true,
	"NAZWAARTYKUŁUKSIĄŻKI":true,
	"NAZWAARTYKUŁUKSIĄŻKI2":true,
	"PEŁNANAZWAARTYKUŁUKSIĄŻKI":true,
	"NAZWAPRZESTRZENIKSIĄŻKI":true,
	"PEŁNANAZWAPRZESTRZENIKSIĄŻKI":true,
	"NAZWASUBSTRONY":true,
	"SUBNAZWAKSIĄŻKI":true,
	"NAZWAKORZENIASTRONY":true,
	"PEŁNANAZWAKORZENIASTRONY":true
};
DodatkiSkrypt.LibreLua.Nazwy=new Array();
for(var FUNKCJA in nazwy_tab_fun){
	(function(FUNKCJA){
		DodatkiSkrypt.LibreLua.Nazwy[FUNKCJA]=function(nazwa,klucz_projektu,kod_jezyka,kod_projektu){
			return OgolneApiNazwy(FUNKCJA,nazwa,klucz_projektu,kod_jezyka,kod_projektu,null);
		}
	})(FUNKCJA);
}
var NpLubNpDane=function(funkcja,nazwa,klucz_projektu,kod_jezyka,kod_projektu,id,przedmiotowa,dyskusja,kanoniczna,z_myslnikami_dolnymi,wyswietlana,nazwij_projektem,nazwij_dyskusja_projektu,istnieje,wynik_bledu_nietekstowy){
	var parametry=((id)?"id=tak":null);
	parametry=((przedmiotowa)?((parametry)?(parametry+"|"):"")+"przedmiotowa=tak":parametry);
	parametry=((dyskusja)?((parametry)?(parametry+"|"):"")+"dyskusja=tak":parametry);
	parametry=((kanoniczna)?((parametry)?(parametry+"|"):"")+"kanoniczna=tak":parametry);
	parametry=((z_myslnikami_dolnymi)?((parametry)?(parametry+"|"):"")+"z myślnikami dolnymi=tak":parametry);
	parametry=((wyswietlana)?((parametry)?(parametry+"|"):"")+"wyświetlana=tak":parametry);
	parametry=((nazwij_projektem)?((parametry)?(parametry+"|"):"")+"nazwij projektem=tak":parametry);
	parametry=((nazwij_dyskusja_projektu)?((parametry)?(parametry+"|"):"")+"nazwij dyskusją projektu=tak":parametry);
	parametry=((istnieje)?((parametry)?(parametry+"|"):"")+"istnieje=tak":parametry);
	parametry=((wynik_bledu_nietekstowy)?((parametry)?(parametry+"|"):"")+"wynik błędu nietekstowy=tak":parametry);
	/**/
	nazwa=(nazwa?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(nazwa)):nazwa);
	klucz_projektu=(klucz_projektu?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(klucz_projektu)):klucz_projektu);
	kod_jezyka=(kod_jezyka?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(kod_jezyka)):kod_jezyka);
	kod_projektu=(kod_projektu?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(kod_projektu)):kod_projektu);
	/**/
	return OgolneApiNazwy(funkcja,nazwa,klucz_projektu,kod_jezyka,kod_projektu,parametry);
}
DodatkiSkrypt.LibreLua.Nazwy.Np=function(args){
	return NpLubNpDane("Np",args.nazwa,null,null,null,args.id,args.przedmiotowa,args.dyskusja,args.kanoniczna,args["z myslnikami dolnymi"],args["wyświetlana"],args["nazwij projektem"],args["nazwij dyskusja projektu"],args.istnieje,args["wynik błedu nietekstowy"]);
}
DodatkiSkrypt.LibreLua.Nazwy.NpDane=function(args){
	return NpLubNpDane("NpDane",args.nazwa,args["klucz projektu"],args["kod języka"],args["kod projektu"],args.id,args.przedmiotowa,args.dyskusja,args.kanoniczna,args["z myslnikami dolnymi"],args["wyświetlana"],args["nazwij projektem"],args["nazwij dyskusja projektu"],args.istnieje,args["wynik błedu nietekstowy"]);
}
DodatkiSkrypt.LibreLua.Techniczne=new Array();
DodatkiSkrypt.LibreLua.Techniczne.PrzekierowanieDoStrony=function(artykul){
	return DodatkiSkrypt.LibreLua.ApiLua("{{#invoke:Techniczne|PrzekierowanieDoStrony|"+DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(artykul)+"|wyspecjalizowana=tak}}");
}
DodatkiSkrypt.LibreLua.Szablon=new Array();
DodatkiSkrypt.LibreLua.Szablon.PrzetworzonyTylkoLinkURL=function(strona,nazwa,klucz_projektu,kod_jezyka,kod_projektu){
	/**/
	strona=(strona?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(strona)):strona);
	klucz_projektu=(klucz_projektu?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(klucz_projektu)):klucz_projektu);
	kod_jezyka=(kod_jezyka?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(kod_jezyka)):kod_jezyka);
	kod_projektu=(kod_projektu?(DodatkiSkrypt.Libre.Style.SpecjalneKodyWiki(kod_projektu)):kod_projektu);
	/**/
	return DodatkiSkrypt.LibreLua.ApiLuaParse("{{LinkURL|strona="+strona+((klucz_projektu)?("|klucz projektu="+klucz_projektu):"")+((kod_jezyka)?("|kod języka="+kod_jezyka):"")+((kod_projektu)?("|kod projektu="+kod_projektu):"")+"|bez dodatkowych sprawdzeń=tak|bez znaczników=tak|bez przetwarzania=|analiza=tak}}");
}
var muteks_czy_stronasubst=new DodatkiSkrypt.Muteks();
DodatkiSkrypt.LibreLua.StronicowyParser=new Array()
DodatkiSkrypt.LibreLua.StronicowyParser.CzyStronaSubst=function(aktualna_strona){
	return $(document).DodatkiSkryptReady(function(){
		var promise;
		if(aktualna_strona){
			promise=Promise.resolve(aktualna_strona);
		}else{
			promise=DodatkiSkrypt.Libre.Zmienne["CzekajNaZbiórZmiennych"](DodatkiSkrypt.Info,new Array("page")).DodatkiSkryptThen(function(){
				return Promise.resolve(DodatkiSkrypt.Info.page.pagename);
			});
		}
		return promise.DodatkiSkryptThen(function(aktualna_strona){
			return DodatkiSkrypt.DodatkiSkryptUserOption.get("CzyStronaSubst-Strona:"+aktualna_strona,"StronicowyParser").DodatkiSkryptThen(function(data){
				if(data!==null){
					return Promise.resolve(data);
				}else{
					return DodatkiSkrypt.LibreLua.ApiLua('{{#invoke:StronicowyParser|CzyStronaSubst}}',aktualna_strona).DodatkiSkryptThen(function(data){
						return DodatkiSkrypt.DodatkiSkryptUserOption.set("CzyStronaSubst-Strona:"+aktualna_strona,data,"StronicowyParser").DodatkiSkryptThen(function(){
							return Promise.resolve(data);
						});
					});
				}
			});
		});
	},null,muteks_czy_stronasubst);
}