Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.39.0-wmf.23 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Gadżet Dyskusja gadżetu Definicja gadżetu Dyskusja definicji gadżetu Wikipedysta:Mateusz War. 2 16656 437452 315047 2022-08-11T11:12:45Z Minorax 28613 ([[c:GR|GR]]) [[File:Flag Gotland.png]] → [[File:Flag of Gotland.svg]] vva wikitext text/x-wiki {| style="float: right; margin-left: 1em; margin-bottom: 0.5em; width: 242px; border: #99B3FF solid 1px; text-align: center" |- | colspan="2" style="text-align:center; background-color:#fff; font-size:120%; color:#069;" | '''Mateusz War.''' |- |{{User language|pl|N}} |- |{{User language|en|1}} |- |} '''Mateusz War.''' - polish user. Interested in: {| |- |valign="top"| * [[:Category:Szczecin|History of Szczecin]] * [[Pomerania|History of Pomerania]] * [[:Category:Tourism|Tourism]] |valign="top"| * [[Sailing]] * [[Ship|Shipping]] |valign="top"| * [[:Category:Photography|Digital photography]] |valign="top"| * and... |} === Come from === ... {| |- |valign="top"| * [[Europa]] |valign="top"| * [[Image:Flaga z godlem Rzeczypospolitej Polskiej.PNG|20px]] [[Polska]] • [[Poland]] • [[Polen]] |valign="top"| * [[Image:POL Szczecin flag.svg|20px]] [[Szczecin]] • [[Szczecin|Stettin]] |} === He travelled to === Countries and Dependent territories: {| |- |valign="top"| * [[File:Flag of East Germany.svg|20px]] [[DDR|NRD]] • [[DDR|GDR]] • [[DDR]] * [[File:Flag_of_Denmark.svg|20px]] [[Danmark|Dania]] • [[Danmark]] • [[Danmark|Dänemark]] * [[File:Flag of Denmark Bornholm.svg|20px]] [[:Category:Bornholm|Bornholm]] |valign="top"| * [[File:Flag of Germany.svg|20px]] [[Niemcy]] • [[Germany]] • [[Deutschland]] * [[File:Flag of Sweden.svg|20px]] [[Sverige|Szwecja]] • [[Sverige|Sweden]] • [[Sverige|Sweden]] * [[File:Flag of Gotland.svg|20px]] [[:Category:Gotland|Gotladia]] • [[:Category:Gotland|Gotland]] • [[:Category:Gotland|Gotlands län]] |valign="top"| * [[File:Flag of Norway.svg|20px]] [[Norge|Norwegia]] • [[Norge|Norway]] • [[Norge|Norwegen]] * [[File:Flag of Norway.svg|20px]] [[Svalbard]] * [[Image:Flag of Poland.svg|20px]] [[Polska]] • [[Poland]] • [[Polen]] |} == See also == * [http://pl.wikipedia.org/wiki/Wikipedysta:Mateusz_War. This user (Mateusz War.) has his own account on Polish Wikipedia]. <nowiki>[[Category:Wikipedians in Poland|Mateusz War.]] [[Category:Users in Poland|Mateusz War.]] [[Category:Users in Europe|Mateusz War.]] [[Category:Wikipedians in the European Union|Mateusz War.]]</nowiki> 8nl1nu3pwrwuz0tdtgafk0e3x9nxmlx Szablon:StronaStart 10 19820 437431 437137 2022-08-10T20:06:47Z Persino 2851 wikitext text/x-wiki <includeonly><templatestyles src="Szablon:StronaStart/stronastart.css" /><templatestyles src="Szablon:TOC_limit/styles.css" />{{#if:{{{formatowanie|}}}|<templatestyles src="Szablon:StronaStart/styles.css" />{{#if:{{{boczne menu|}}}|{{#if:{{{spis treści|TOC}}}{{{wykaz modułów|WYKAZ}}}|<templatestyles src="Szablon:TOC/styles.css" />}}}}}}{{#ifeq:{{{boczne menu|}}}{{{spis treści|TOC}}}|||{{Mniejszy}}div class="strona_start" style="min-width:822px;width:auto;max-width:100%;height:auto;box-sizing:border-box;overflow:hidden;position:relative;"{{Większy}}{{Mniejszy}}div style="display:flex;flex-direction:column;"{{Większy}}{{#if:{{{podręcznik|tak}}}|{{Podręcznik|styl=order:1;}}}}{{Mniejszy}}div style="order:2;"{{Większy}} {{{nagłówek|}}}{{Mniejszy}}/div{{Większy}}{{Mniejszy}}div style="order:4;"{{Większy}} {{{stopka|}}}{{Mniejszy}}/div{{Większy}}{{Mniejszy}}div class="noprint" class="główna_strona tło" style="order:3;position:relative;top:0px;left:0px;display:flex;flex-direction:row;{{#if:{{{margines zewnętrzny|0}}}|margin:{{{margines zewnętrzny|0}}};}}"{{Większy}}{{#if:{{{boczne menu|}}}|__NOTOC__}}{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}{{{nagłówek prawy|}}}{{{stopka prawa|}}}| <div style="order:1;width:{{{lewa strona|auto}}};box-sizing:border-box;overflow:visible;position:relative;" class="strona_lewa mw-parent-node"><!-- --><div class="nawigacja_boksy" style="height:100%;width:auto;visibility:hidden;flex-direction:column;box-sizing:border-box;z-index:1;left:0"><!-- -->{{#if:{{{nagłówek lewy|}}}|<!-- -->{{Div|klasa=mw-optimal-x|styl=position:absolute;left:0;z-index:2;margin-right:5px|{{{nagłówek lewy}}}}}<!-- -->{{DivClear}}<!-- -->}}<!-- -->{{Div|styl=height:100%;box-sizing:border-box;}}<!-- -->{{#if:{{{stopka lewa|}}}|{{DivClear}}<!-- -->{{Div|klasa=mw-optimal-x|styl=position:absolute;left:0;z-index:2;margin-right:5px|{{{stopka lewa}}}}}<!-- -->}}<!-- --> </div><!-- --></div><!-- --><div style="width:{{{prawa strona|100%}}};box-sizing:border-box;order:3;overflow:visible;position:relative;" class="strona_prawa mw-parent-node"><div class="mw-sticky-y toclimit {{#if:{{{limit|}}}|toclimit-{{{limit}}}}} {{#if:{{{formatowanie|}}}|fonty_rodzina_sans {{#if:{{{boczne menu|}}}|fonty_poboczna_kolumna|fonty_toc}}}} spis nawigacja_spis" style="display:flex;flex-direction:column;z-index:2;position:absolute;left:0;top:0;width:{{#if:{{{boczne menu|}}}|700px|auto}};max-width:700px;box-sizing:border-box;{{#if:{{{margines zewnętrzny poboczny|0 0 0 5px}}}|margin:{{{margines zewnętrzny poboczny|0 0 0 5px}}};}}{{#if:{{{margines wewnętrzny poboczny|0}}}|padding:{{{margines wewnętrzny poboczny|0}}};}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{rozmiar czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-size:{{{rozmiar czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{wysokość linii czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|line-height:{{{wysokość linii czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{rodzina czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-family:{{{rodzina czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{wariant czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-variant:{{{wariant czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{rozciągnięcie czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-stretch:{{{rozciągnięcie czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{waga czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-weight:{{{waga czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}}{{#if:{{{czcionka {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}||{{#if:{{{styl czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}}|font-style:{{{styl czcionki {{#if:{{{boczne menu|}}}|bocznego menu|TOC}}|}}};}}}};"><!-- -->{{#if:{{{boczne menu|}}}<!-- -->|{{#invoke:StronicowyParser|PierwszaStrona|{{{nazwa modułu|NAZWA MODUŁU}}}|{{{licencja|LICENCJA}}}|{{{wykaz modułów|WYKAZ}}}|{{{spis treści|TOC}}}|rozciągnij=tak|wysokość=100%|bez marginesu dolnego=tak}}<!-- -->|{{#switch:{{#invoke:Pudełko|Typ jednostki|obsługiwane jednostki użytkownika=tak|obsługiwane jednostki brudnopisu projektu=tak|obsługiwane strony jako niebrudnopisowe jednostki programowe=tak}}<!-- -->|podręcznik|podręcznik dla dzieci|podręcznik brudnopisu projektu|podręcznik użytkownika={{Jeśli niepuste|{{#invoke:StronicowyParser|WykazModolow|spis książkowy=tak|spis rzeczy=tak|nagłówki=tak|wysokość=100%}}|__NOTOC__{{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|spis artykułu=tak|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}|przed lewy={{Div start|styl=width:700px;background-color:white;display:flex;flex-direction:column;overflow:auto;}}{{StronaTytułowa|rozmiar=100%}}__NOTOC__|po lewy={{Div koniec}}}}<!-- -->|strona szablonu={{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|spis artykułu=tak|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}<!-- -->|#default=__NOTOC__{{TOC/silnik|funkcja=PokazanaNiewikitabelowaListaMenu|spis treści=Spis treści|spis artykułu=tak|limit={{{limit|}}}|bez dodatkowych sprawdzeń=tak|bez komunikatu błędu=tak|wysokość=100%}}<!-- -->}}<!-- -->}}<!-- --></div> <!-- --><div class="nawigacja_boksy" style="width:auto;height:100%;visibility:hidden;flex-direction:column;margin-top:0;box-sizing:border-box;z-index:1;right:0"><!-- -->{{#if:{{{nagłówek prawy|}}}|<!-- -->{{Div|klasa=mw-optimal-x|styl=position:absolute;right:0;z-index:2;margin-left:5px|{{{nagłówek prawy}}}}}<!-- -->{{DivClear}}<!-- -->}}<!-- -->{{Div|styl=height:100%;box-sizing:border-box;}}<!-- -->{{#if:{{{stopka prawa|}}}|{{DivClear}}<!-- -->{{Div|klasa=mw-optimal-x|styl=position:absolute;right:0;z-index:2;margin-left:5px;|{{{stopka prawa}}}}}<!-- -->}}<!-- --> </div><!-- --></div>}}<!-- -->}}{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|{{Mniejszy}}div style="order:2;display:flex;flex-direction:column;" class="strona_środkowa"{{Większy}}<!-- --><div style="order:1">{{{wstęp|}}}</div><!-- --><div style="order:3">{{{zakończenie|}}}</div><!-- -->}}{{Mniejszy}}div id="strona" {{#if:{{{formatowanie|}}}|class="strona mw-overflow-x print fonty_rodzina_sans fonty_główna_kolumna {{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}||strona_start}}"|class="strona {{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}||strona_start}}"}} style="{{#if:{{{boczne menu|}}}{{{spis treści|TOC}}}|order:2;}}display:flex;flex-direction:column;position:relative;left:0px;top:0px;min-width:{{{minimalna szerokość strony|{{{szerokość strony|822px}}}}}};max-width:{{{maksymalna szerokość strony|{{{szerokość strony|822px}}}}}};width:{{{szerokość strony|822px}}};height:{{{wysokość strony|100%}}};{{#if:{{{obramowanie|tak}}}|border: solid #aaa 1px;}}{{#if:{{{margines wewnętrzny|10px 10px 10px 10px}}}|padding:{{{margines wewnętrzny|10px 10px 10px 10px}}};}}{{#if:{{{margines zewnętrzny główny|0}}}|margin:{{{margines zewnętrzny główny|0}}};}}{{#ifeq:{{{boczne menu|}}}{{{spis treści|TOC}}}||{{#if:{{{margines zewnętrzny|5px 0 0 0}}}|margin:{{{margines zewnętrzny|5px 0 0 0}}};}}}}{{#if:{{{pasek przewijania|hidden}}}|overflow-x:{{{pasek przewijania|hidden}}};overflow-y:visible;}}{{#if:{{{margines wewnętrzny|10px 10px 10px 10px}}}{{{obramowanie|tak}}}|box-sizing:border-box;}}{{#if:{{{czcionka strony|}}}|font:{{{czcionka strony|}}};}}{{#if:{{{czcionka strony|}}}||{{#if:{{{rozmiar czcionki strony|}}}|font-size:{{{rozmiar czcionki strony|}}};}}}}{{#if:{{{czcionka strony|}}}||{{#if:{{{wysokość linii czcionki strony|}}}|line-height:{{{wysokość linii czcionki strony|}}};}}}}{{#if:{{{czcionka strony|}}}||{{#if:{{{rodzina czcionki strony|}}}|font-family:{{{rodzina czcionki strony|}}};}}}}{{#if:{{{czcionka strony|}}}||{{#if:{{{wariant czcionki strony|}}}|font-variant:{{{wariant czcionki strony|}}};}}}}{{#if:{{{czcionka strony|}}}||{{#if:{{{rozciągnięcie czcionki strony|}}}|font-stretch:{{{rozciągnięcie czcionki strony|}}};}}}}{{#if:{{{czcionka strony|}}}||{{#if:{{{waga czcionki strony|}}}|font-weight:{{{waga czcionki strony|}}};}}}}{{#if:{{{czcionka strony|}}}||{{#if:{{{styl czcionki strony|}}}|font-style:{{{styl czcionki strony|}}};}}}}background-color:white;"{{Większy}}<!-- -->{{Mniejszy}}div id="ciało_kontener" class="ciało_kontener" style="display:flex;flex-direction:column"{{Większy}}<!-- -->{{Mniejszy}}div style="order:1;flex:0 1 auto;max-width:100%;"{{Większy}}{{{nagłówek strony|}}}{{Mniejszy}}/div{{Większy}}<!-- -->{{Mniejszy}}div style="order:3;flex:0 1 auto;max-width:100%;"{{Większy}}{{{stopka strony|}}}{{Mniejszy}}/div{{Większy}}<!-- -->{{Mniejszy}}div id="ciało_zawartości" class="ciało_zawartości" style="order:2;flex:0 1 auto;max-width:100%;"{{Większy}}<!-- -->{{#ifeq:{{{boczne menu|}}}{{{spis treści|TOC}}}|||<!-- --><div class="menu" style="display:none;"><!-- --><div class="menu_boks" style="margin-left:5px;margin-bottom:0;padding:0 5px;background-color:blue;color:white;float:right;width:auto;height:20px;border: solid #aaa 1px;text-align:center;position:relative;right:0;top:0;"><span class="boksy" style="display:inline">Boksy</span><span class="spis_treści" style="display:none;">Spis treści</span></div> [[Wikibooks:Prawa autorskie|Prawa autorskie]]{{•}} [[Wikibooks:Informacje prawne|Informacje prawne]]{{•}} [[Pomoc:Tworzenie podręczników|Tworzenie podręczników]]{{•}} [[Pomoc:Tworzenie podręcznika|Tworzenie podręcznika]]{{•}} [[Pomoc:Edycja kodu|Edycja kodu]]<!-- -->{{DivClear}}<!-- -->{{Hr|styl=margin-bottom:8px;}}<!-- --></div><!-- -->}}{{Mniejszy}}div id="ciało_strona" class="ciało_strona"{{Większy}}<!-- --></includeonly><noinclude>{{Dokumentacja}}</noinclude> l0obctw9yvat73hituj7fko1458e1nh Moduł:StronicowyParser 828 34347 437444 437149 2022-08-10T23:19:50Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end; local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; end; else poprzedni_tab_poziomowo=nil; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,false); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; pqug6v73qhn173ysbrpyrhtx9hci02x 437445 437444 2022-08-11T07:53:34Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then --[[if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end;]] local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; end; else poprzedni_tab_poziomowo=nil; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,false); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; ojahm6qij9tqdo6uf535n1iyjtji81b 437446 437445 2022-08-11T07:54:52Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end; local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; end; else poprzedni_tab_poziomowo=nil; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,false); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; pqug6v73qhn173ysbrpyrhtx9hci02x 437448 437446 2022-08-11T09:08:38Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end; local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu) and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu) and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*")) and((mw.ustring.match(poziom_poczatku_artykulu,"^:")) or (mw.ustring.match(poziom_poczatku_artykulu,"^#")) ) )then poziom_artykulu=poziom_artykulu+1; end; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; end; else poprzedni_tab_poziomowo=nil; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,false); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; gqc1v6uvemszrjq7gf62ibfglnuph8a 437449 437448 2022-08-11T09:30:24Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end; local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); local poziom_czysty_artykulu=poziom_artykulu; poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu) and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu) and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*")) and((mw.ustring.match(poziom_poczatku_artykulu,"^:")) or (mw.ustring.match(poziom_poczatku_artykulu,"^#")) ) )then poziom_artykulu=poziom_artykulu+1; poziom_czysty_artykulu=poziom_czysty_artykulu+1; end; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; end; else poprzedni_tab_poziomowo=nil; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,__FUNKCJA,false); end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; a4y25pxlunftw5qkzox1sdy4zppvl6x Wikipedysta:Persino/brudnopis 2 44693 437447 433870 2022-08-11T07:56:55Z Persino 2851 wikitext text/x-wiki {{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}} ==Spis treści== * [[/Alfabet/]] * [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]] * [[/Przypadki/]] {{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}} ---- {{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}} ----- ==Spis treści== ** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]] ** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]] ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}} ---- Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} {{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}} {{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}} =='''tytan'''== [[wikibooks:Strona główna]] {{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} {{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} ---- {{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} ---- {{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} ---- {{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}} ---- {{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&amp;action=edit&amp;section=1|nazwa=tutan}} {{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}} ---- {{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}} ----a {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ----a {{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}} ----Chemia organiczna {{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ----a {{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} ---- {{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}} ---- {{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}} ---- : {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. * Z wielopoziomową pozycją artykułu : {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. {{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}} ---- {{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}} laqbrxh3fiwjjgtx38mlccsl3m0pkbz Wikipedysta:Persino/brudnopis/ss 2 53412 437442 436309 2022-08-10T22:40:28Z Persino 2851 wikitext text/x-wiki {{SdU|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}} {{Postulaty|uchwyt=GG|czego=Szczególnej teorii względności|tekst=Są trzy postulaty tej teorii fizycznej, dwa podstawowe i trzeci mówiący o zgodności mechaniki Einsteina z mechaniką Newtona dla małych prędkości w porównaniu z prędkości światła {{Formuła|<MATH>c\;</MATH>}}, one przedstawiają się w postaci: *'''Postulat pierwszy''' - jest uogólnieniem zasady względności Galileusza na dowolne procesy fizyczne, postulat ten zwany jest ''zasadą względności'' lub ''relatywistyczną zasadą względności Einsteina''. Brzmi on: prawa fizyki są spełnione we wszystkich inercjalnych układach współrzędnych, tzn. w takich układach, które poruszają się ze stałą prędkością względem innych układów inercjalnych. *'''Postulat drugi''' - we wszystkich układach współrzędnych prędkość światła jest jednakowa. *'''Postulat trzeci''' - transformacje Lorentza i dynamika Einsteina w szczególnej teorii względności (mechanika relatywistyczna) dla prędkości {{Formuła|<MATH>||\vec v||\ll c\;</MATH>}} przechodzą kolejno w transformacje Galileusza i dynamikę Newtona (trzy zasady dynamiki Newtona) w mechanice Newtona (mechanika klasyczna nierelatywistyczna). }} {{Postulaty|uchwyt=GG3|czego=Szczególnej teorii względności|tekst=Są trzy postulaty tej teorii fizycznej, dwa podstawowe i trzeci mówiący o zgodności mechaniki Einsteina z mechaniką Newtona dla małych prędkości w porównaniu z prędkości światła {{Formuła|<MATH>c\;</MATH>}}, one przedstawiają się w postaci: *'''Postulat pierwszy''' - jest uogólnieniem zasady względności Galileusza na dowolne procesy fizyczne, postulat ten zwany jest ''zasadą względności'' lub ''relatywistyczną zasadą względności Einsteina''. Brzmi on: prawa fizyki są spełnione we wszystkich inercjalnych układach współrzędnych, tzn. w takich układach, które poruszają się ze stałą prędkością względem innych układów inercjalnych. *'''Postulat drugi''' - we wszystkich układach współrzędnych prędkość światła jest jednakowa. *'''Postulat trzeci''' - transformacje Lorentza i dynamika Einsteina w szczególnej teorii względności (mechanika relatywistyczna) dla prędkości {{Formuła|<MATH>||\vec v||\ll c\;</MATH>}} przechodzą kolejno w transformacje Galileusza i dynamikę Newtona (trzy zasady dynamiki Newtona) w mechanice Newtona (mechanika klasyczna nierelatywistyczna). }} ----- {{PobierzNumerArtykułu|Autorzy|poziomowo=tak|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}} ---- {{PobierzNumerArtykułu|Bałtowie|poziomowo=tak|nagłówek=|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} ----- {{PobierzNumerArtykułu|Ludzie paleolitu|poziomowo=tak|nagłówek=|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} {{Brudnopis/Persino/Tryb ciemny start|numer elementu=TYTAN1}} Oto jest tekst. <MATH>a^2+b^2=c^2\;</MATH> {{Brudnopis/Persino/Tryb ciemny koniec}} {{Brudnopis/Persino/Tryb ciemny|numer elementu=TYTAN1}} {{Brudnopis/Persino/Tryb ciemny start|numer elementu=TYTAN2}} Oto jest tekst. <MATH>a^2+b^2=c^2\;</MATH> {{Brudnopis/Persino/Tryb ciemny koniec}} {{Brudnopis/Persino/Tryb ciemny|numer elementu=TYTAN2}} [[#tytan]] {{PEŁNANAZWASTRONY|nazwa=Kategoria:Szablony_z_niejawnie_błędnymi_parametrami|kod języka=sses|kod projektu=wikibooks|bez dodatkowych sprawdzeń=tak}} ---- {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ---- {{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}} ---- {{PobierzNumerArtykułu|Odstęp wewnętrzny|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=CSS/Odstęp wewnętrzny}} ---- {{PobierzNumerArtykułu|Zaczynamy/Działania arytmetyczne|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Działania arytmetyczne}} ---- ---- {{PobierzNumerArtykułu|Wygląd zewnętrzny i cechy charakteru|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ---- {{PobierzNumerArtykułu|Teksty/Święta i uroczystości|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ---- {{PobierzNumerArtykułu|Teksty/Rodzina i przyjaciele|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ---- {{PobierzNumerArtykułu|Gramatyka/Rodzajniki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ==<MATH>c^2</MATH> abc== {{Spis treści}} __TOC__ {{PobierzNumerArtykułu|Wstęp do fizyki jądra atomowego|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wstęp do fizyki jądra atomowego/Wstęp do fizyki jądra atomowego}} ---- {{PobierzNumerArtykułu|Ciągi i szeregi funkcyjne|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|Wstęp|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|Ciągi liczbowe|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ---- {{PobierzNumerArtykułu|Schemat|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Schemat}} ---- {{PobierzNumerArtykułu|Sosnowate|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Siewki roślin flory Polski/Sosnowate}} ---- {{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ----s {{PobierzNumerArtykułu|pochodne|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Szeregi liczbowe}} ----aptosid {{PobierzNumerArtykułu|Instalacja systemu|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Aptosid - czyli Debian sid krok po kroku dla każdego/Instalacja systemu}} ----Siewki roślin uprawianych w Polsce/Sosnowate {{PobierzNumerArtykułu|Sosnowate|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Siewki roślin uprawianych w Polsce/Sosnowate}} ----Podział nowotworów skóry {{PobierzNumerArtykułu|Podział nowotworów skóry|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas histopatologii guzów skóry/Podział nowotworów skóry}} ----- {{PobierzNumerArtykułu|Do druku|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas histopatologii guzów skóry/Podział nowotworów skóry}} -----Libertarianizm {{PobierzNumerArtykułu|Podróżowanie|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Podróżowanie}} {{#invoke:StronicowyParser|PrzekierowanieDoStrony|Fiński/alfabet}} {{PobierzNumerArtykułu|Uruchamianie komputera|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Informatyka/Uruchamianie komputera}} {{LinkGłówna|_|Stowarzyszenie Wikimedia Polska|klucz projektu=wmpl}} {{LinkGłówna|tytan|Stowarzyszenie Wikimedia Polska|klucz projektu=wmpl}} ----- {{PobierzNumerArtykułu|Najsłynniejsze cytaty|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Łacina/Najsłynniejsze cytaty}} ----- {{PobierzNumerArtykułu|Wygląd zewnętrzny i cechy charakteru|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ----- {{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Cywilizacje/Schemat}} ---- {{PobierzNumerArtykułu|Przebieg zmienności funkcji|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|Wektory i skalary|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Wektory i skalary}} ---- {{PobierzNumerArtykułu|Ruch|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Ruch}} ---- {{PobierzNumerArtykułu|Malowanie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Informatyka/Malowanie}} ---- {{PobierzNumerArtykułu|Wymowa|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Alfabet}} ---- {{PobierzNumerArtykułu|Jowisz|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Układ Słoneczny/Jowisz}} ---- {{LinkURL|strona=irc://irc.freenode.net}} [https://pl.wikibooks.org Wikibooks] {{#invoke:Linki|UzyskajKodWikiLinku|strona=#TYTAN|wyspecjalizowana=tak}} {{PobierzNumerArtykułu|Instalacja systemu|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Ubuntu/Instalacja systemu}} 3pa8y98gzmxeib9nvi46b59y1dujq4m 437443 437442 2022-08-10T22:41:09Z Persino 2851 wikitext text/x-wiki {{SdU|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}} {{Postulaty|uchwyt=GG|czego=Szczególnej teorii względności|tekst=Są trzy postulaty tej teorii fizycznej, dwa podstawowe i trzeci mówiący o zgodności mechaniki Einsteina z mechaniką Newtona dla małych prędkości w porównaniu z prędkości światła {{Formuła|<MATH>c\;</MATH>}}, one przedstawiają się w postaci: *'''Postulat pierwszy''' - jest uogólnieniem zasady względności Galileusza na dowolne procesy fizyczne, postulat ten zwany jest ''zasadą względności'' lub ''relatywistyczną zasadą względności Einsteina''. Brzmi on: prawa fizyki są spełnione we wszystkich inercjalnych układach współrzędnych, tzn. w takich układach, które poruszają się ze stałą prędkością względem innych układów inercjalnych. *'''Postulat drugi''' - we wszystkich układach współrzędnych prędkość światła jest jednakowa. *'''Postulat trzeci''' - transformacje Lorentza i dynamika Einsteina w szczególnej teorii względności (mechanika relatywistyczna) dla prędkości {{Formuła|<MATH>||\vec v||\ll c\;</MATH>}} przechodzą kolejno w transformacje Galileusza i dynamikę Newtona (trzy zasady dynamiki Newtona) w mechanice Newtona (mechanika klasyczna nierelatywistyczna). }} {{Postulaty|uchwyt=GG3|czego=Szczególnej teorii względności|tekst=Są trzy postulaty tej teorii fizycznej, dwa podstawowe i trzeci mówiący o zgodności mechaniki Einsteina z mechaniką Newtona dla małych prędkości w porównaniu z prędkości światła {{Formuła|<MATH>c\;</MATH>}}, one przedstawiają się w postaci: *'''Postulat pierwszy''' - jest uogólnieniem zasady względności Galileusza na dowolne procesy fizyczne, postulat ten zwany jest ''zasadą względności'' lub ''relatywistyczną zasadą względności Einsteina''. Brzmi on: prawa fizyki są spełnione we wszystkich inercjalnych układach współrzędnych, tzn. w takich układach, które poruszają się ze stałą prędkością względem innych układów inercjalnych. *'''Postulat drugi''' - we wszystkich układach współrzędnych prędkość światła jest jednakowa. *'''Postulat trzeci''' - transformacje Lorentza i dynamika Einsteina w szczególnej teorii względności (mechanika relatywistyczna) dla prędkości {{Formuła|<MATH>||\vec v||\ll c\;</MATH>}} przechodzą kolejno w transformacje Galileusza i dynamikę Newtona (trzy zasady dynamiki Newtona) w mechanice Newtona (mechanika klasyczna nierelatywistyczna). }} ----- {{PobierzNumerArtykułu|Autorzy|poziomowo=tak|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}} ---- {{PobierzNumerArtykułu|Bałtowie|poziomowo=tak|nagłówek=|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} ----- {{PobierzNumerArtykułu|Ludzie paleolitu|poziomowo=tak|nagłówek=|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} {{Brudnopis/Persino/Tryb ciemny start|numer elementu=TYTAN1}} Oto jest tekst. <MATH>a^2+b^2=c^2\;</MATH> {{Brudnopis/Persino/Tryb ciemny koniec}} {{Brudnopis/Persino/Tryb ciemny|numer elementu=TYTAN1}} {{Brudnopis/Persino/Tryb ciemny start|numer elementu=TYTAN2}} Oto jest tekst. <MATH>a^2+b^2=c^2\;</MATH> {{Brudnopis/Persino/Tryb ciemny koniec}} {{Brudnopis/Persino/Tryb ciemny|numer elementu=TYTAN2}} [[#tytan]] {{PEŁNANAZWASTRONY|nazwa=Kategoria:Szablony_z_niejawnie_błędnymi_parametrami|kod języka=sses|kod projektu=wikibooks|bez dodatkowych sprawdzeń=tak}} ---- {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ---- {{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}} ---- {{PobierzNumerArtykułu|Odstęp wewnętrzny|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=CSS/Odstęp wewnętrzny}} ---- {{PobierzNumerArtykułu|Zaczynamy/Działania arytmetyczne|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Działania arytmetyczne}} ---- ---- {{PobierzNumerArtykułu|Wygląd zewnętrzny i cechy charakteru|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ---- {{PobierzNumerArtykułu|Teksty/Święta i uroczystości|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ---- {{PobierzNumerArtykułu|Teksty/Rodzina i przyjaciele|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ---- {{PobierzNumerArtykułu|Gramatyka/Rodzajniki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ==<MATH>c^2</MATH> abc== {{Spis treści}} __TOC__ {{PobierzNumerArtykułu|Wstęp do fizyki jądra atomowego|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wstęp do fizyki jądra atomowego/Wstęp do fizyki jądra atomowego}} ---- {{PobierzNumerArtykułu|Ciągi i szeregi funkcyjne|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|Wstęp|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|Ciągi liczbowe|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ---- {{PobierzNumerArtykułu|Schemat|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Schemat}} ---- {{PobierzNumerArtykułu|Sosnowate|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Siewki roślin flory Polski/Sosnowate}} ---- {{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ----s {{PobierzNumerArtykułu|pochodne|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Szeregi liczbowe}} ----aptosid {{PobierzNumerArtykułu|Instalacja systemu|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Aptosid - czyli Debian sid krok po kroku dla każdego/Instalacja systemu}} ----Siewki roślin uprawianych w Polsce/Sosnowate {{PobierzNumerArtykułu|Sosnowate|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Siewki roślin uprawianych w Polsce/Sosnowate}} ----Podział nowotworów skóry {{PobierzNumerArtykułu|Podział nowotworów skóry|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas histopatologii guzów skóry/Podział nowotworów skóry}} ----- {{PobierzNumerArtykułu|Do druku|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas histopatologii guzów skóry/Podział nowotworów skóry}} -----Libertarianizm {{PobierzNumerArtykułu|Podróżowanie|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Podróżowanie}} {{#invoke:StronicowyParser|PrzekierowanieDoStrony|Fiński/alfabet}} {{PobierzNumerArtykułu|Uruchamianie komputera|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Informatyka/Uruchamianie komputera}} {{LinkGłówna|_|Stowarzyszenie Wikimedia Polska|klucz projektu=wmpl}} {{LinkGłówna|tytan|Stowarzyszenie Wikimedia Polska|klucz projektu=wmpl}} ----- {{PobierzNumerArtykułu|Najsłynniejsze cytaty|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Łacina/Najsłynniejsze cytaty}} ----- {{PobierzNumerArtykułu|Wygląd zewnętrzny i cechy charakteru|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Niemiecki/Wygląd zewnętrzny i cechy charakteru}} ----- {{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Cywilizacje/Schemat}} ---- {{PobierzNumerArtykułu|Przebieg zmienności funkcji|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Ciągi i szeregi funkcyjne}} ---- {{PobierzNumerArtykułu|Wektory i skalary|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Wektory i skalary}} ---- {{PobierzNumerArtykułu|Ruch|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Ruch}} ---- {{PobierzNumerArtykułu|Malowanie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Informatyka/Malowanie}} ---- {{PobierzNumerArtykułu|Wymowa|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Alfabet}} ---- {{PobierzNumerArtykułu|Jowisz|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Układ Słoneczny/Jowisz}} ---- {{LinkURL|strona=irc://irc.freenode.net}} [https://pl.wikibooks.org Wikibooks] {{#invoke:Linki|UzyskajKodWikiLinku|strona=#TYTAN|wyspecjalizowana=tak}} {{PobierzNumerArtykułu|Instalacja systemu|poziomowo=tak|nazwa przestrzeni nazw=|nazwa jednostki=Ubuntu/Instalacja systemu}} if9oh4oiol7dmyj29tmavbvh8p70wh6 Wikipedysta:Persino/vector-2022.css 2 58229 437450 437110 2022-08-11T09:33:09Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'cc cc cc' auto 'bb bb bb' auto '.. .. ee' auto 'dd dd dd' auto / minmax(auto,100%) minmax(auto,100%) auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:cc; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:bb; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ee; height:20px; width:136px; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:dd; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'bb' auto 'cc' auto 'dd' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:bb; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:cc; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:dd; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'cc bb bb' auto 'cc dd ee' auto 'cc ff ff' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:cc; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:dd; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:ee; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ff; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-top:3px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:5px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 5px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 5px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 15px 8px 15px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{ min-width:822px; box-sizing:border-box; display:block; height:auto; position:relative; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{ margin-top:13px; margin-bottom:10px; } body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; clear:both; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } tdoox0jv1pvn1jp54ynfv4b6nhqlwy5 437451 437450 2022-08-11T10:51:10Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'cc cc cc' auto 'bb bb bb' auto '.. .. ee' auto 'dd dd dd' auto / minmax(auto,100%) minmax(auto,100%) auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:cc; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:bb; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ee; height:20px; width:136px; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:dd; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'bb' auto 'cc' auto 'dd' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:bb; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:cc; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:dd; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'cc bb bb' auto 'cc dd ee' auto 'cc ff ff' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:cc; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:dd; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:ee; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ff; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-top:3px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:5px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 5px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 5px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 15px 8px 15px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{ min-width:822px; box-sizing:border-box; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{ content:''; clear:both; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{ margin-top:13px; margin-bottom:10px; } body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } r3m45fb40qbjzyp6zbr4h1s2flxgeex 437453 437451 2022-08-11T11:23:21Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'cc cc cc' auto 'bb bb bb' auto '.. .. ee' auto 'dd dd dd' auto / minmax(auto,100%) minmax(auto,100%) auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:cc; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:bb; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ee; height:20px; width:136px; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:dd; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'bb' auto 'cc' auto 'dd' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:bb; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:cc; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:dd; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'cc bb bb' auto 'cc dd ee' auto 'cc ff ff' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:cc; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:dd; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:ee; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ff; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-top:3px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:5px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 5px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 5px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 15px 8px 15px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{ min-width:822px; box-sizing:border-box; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{ display:block; content:''; clear:both; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{ margin-top:13px; margin-bottom:10px; } body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } 78ysaq1c9471klunmna3rpem9pu47od Szablon:StronaStart/stronastart.css 10 58549 437415 437384 2022-08-10T19:05:44Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis/*.mw-scrollbar-overflow-y*/{ height:100% !important; max-height:100% !important; /*width:100%;*/ max-width:694px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, left, right 500ms ease-out, linear; transition-property: transform, left, right; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, left, right 500ms ease-out, linear; transition-property: transform, left, right; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, left, right 500ms ease-out, linear; transition-property: transform, left, right; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, left, right 500ms ease-out, linear; transition-property: transform, left, right; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } ow2227rvawcn5naycjl0xecjfoenw6t 437416 437415 2022-08-10T19:07:26Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis/*.mw-scrollbar-overflow-y*/{ height:100% !important; max-height:100% !important; /*width:100%;*/ max-width:694px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } l4dswt7b6ezzrx8n2nlksdt4uqedb5p 437417 437416 2022-08-10T19:11:55Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis/*.mw-scrollbar-overflow-y*/{ height:100% !important; max-height:100% !important; /*width:100%;*/ max-width:694px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } ngava1c7rhgnkwhf6wfaecb62coesn7 Wikipedysta:Persino/common.js 2 58552 437389 437387 2022-08-10T14:11:32Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 4t1bpkoxby51bsr47vlce6s29zsuoqr 437390 437389 2022-08-10T14:18:02Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 1s3h65rw38hl4ds8lf3unzw8uc89ase 437391 437390 2022-08-10T14:22:45Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } if((common_zmienne_stare['StronaStart'])&&(common_zmienne_stare['StronaStart']['StronaStartFun'])){ elements.off('click',common_zmienne_stare['StronaStart']['StronaStartFun']); } elements.on('click',StronaStartFun); } $(Common.StronaStart); n8rrpegda1evzk9492v55ero0eqs80t 437392 437391 2022-08-10T14:27:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 1s3h65rw38hl4ds8lf3unzw8uc89ase 437393 437392 2022-08-10T14:54:54Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click.StronaStartFun'); elements.on('click',StronaStartFun); } $(Common.StronaStart); lkzl5blahgfhe0ivzvg1dqxnhktq1mr 437394 437393 2022-08-10T14:55:53Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 1s3h65rw38hl4ds8lf3unzw8uc89ase 437395 437394 2022-08-10T17:36:32Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_przegladarki){ for(var b in tab_transition){ var zdarzenie=tab_przegladarki[a]+tab_transition[b]; var czy_zarejestrowac=/end$/g.test(zdarzenie); Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); eplacr2a3cy2el3lnjzl40agujp2x20 437396 437395 2022-08-10T17:40:45Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); mf7tif5d4fdwz2p3prh95vhxi6rpms8 437397 437396 2022-08-10T17:44:07Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; console.log(css,zdarzenie,fun_zdarz,!czy_zarejestrowac,"TYTAN"); Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); hzci62vgkihdnnd0m4s265jl0leisnf 437398 437397 2022-08-10T17:48:18Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie") $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; console.log(css,zdarzenie,fun_zdarz,!czy_zarejestrowac,"TYTAN"); Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); fewzphqslyt0f7pqpz8afxphhfggix0 437399 437398 2022-08-10T17:51:31Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie") $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; console.log(css,zdarzenie,fun_zdarz,!czy_zarejestrowac,"TYTAN"); Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); mza6umy0b7g25pkv0alew9wrn4cf1t1 437400 437399 2022-08-10T17:54:21Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie") $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; console.log(css,zdarzenie,fun_zdarz,!czy_zarejestrowac,"TYTAN"); Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); msurm0jegezwg11me9j4eh6jiwn13cz 437401 437400 2022-08-10T17:57:25Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj) $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj) $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); 2kveutqiqfswoxerzhrpcfu2nd7o91f 437402 437401 2022-08-10T17:59:07Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); rwjnn02dtv255z7ecnuy4hf2mfkejkt 437403 437402 2022-08-10T18:03:27Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie",css,zdarzenie,Common[funkcja_zdarzen],funkcja_zdarzen,tylko_odrejestruj,"TYTAN",) $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); 7na8x0s27pwpcx1a21hnoueuv4z2k29 437404 437403 2022-08-10T18:04:28Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie",css,zdarzenie,Common[funkcja_zdarzen],funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); 36l6aql8z825dte9hlxdk89sirjdtgb 437405 437404 2022-08-10T18:06:02Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ console.log("odrejestrowanie",css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ console.log("zarejestrowanie",css,zdarzenie,Common[funkcja_zdarzen],funkcja_zdarzen,tylko_odrejestruj,"TYTAN") $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); 2q7k8xd21pioyqx3pjeziqlvm0vqf3u 437406 437405 2022-08-10T18:09:11Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartFun=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartFun'); } $(Common.StronaStart); de4e0tllk8nx3sbqaievr8ugmrsx2vh 437407 437406 2022-08-10T18:12:19Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartFun)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); k986kgt3arp2rsm6jksxnmxjrl9ms2a 437408 437407 2022-08-10T18:17:15Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ //$(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } //}); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 15i2u19942mef10mporue4ruq8pdsok 437409 437408 2022-08-10T18:22:33Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 20qesb0mh4qsh6ffnwpgpdb2b42b4f3 437410 437409 2022-08-10T18:28:26Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); kx1c19usk8v0r2hrxsb81foy43j3dpv 437411 437410 2022-08-10T18:29:25Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'transitionstart':true,'transitionrun':true,'transitioncancel':true,'transitionend':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 20qesb0mh4qsh6ffnwpgpdb2b42b4f3 437412 437411 2022-08-10T18:41:21Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/^end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 9defrsl9q68rwx52ek4mhjsa2viejue 437413 437412 2022-08-10T18:57:24Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/^end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 1jglgm306lyjxkisctzgojqrq7ialcj 437414 437413 2022-08-10T19:00:08Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/^end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 9defrsl9q68rwx52ek4mhjsa2viejue 437418 437414 2022-08-10T19:13:22Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/^end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); //Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz); //Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 9g3g139kfd3s4qnsxnro8jqbstarrwr 437419 437418 2022-08-10T19:15:10Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ var czy_zarejestrowac=/^end$/g.test(a); for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz,!czy_zarejestrowac); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseover",fun_zdarz,true); Common.ZdarzeniaJavaScript(css,"mouseout",fun_zdarz,true); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 9defrsl9q68rwx52ek4mhjsa2viejue 437420 437419 2022-08-10T19:17:44Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 03jlilhrp37f69bu9ch6mi6u0rnxhfg 437421 437420 2022-08-10T19:20:55Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; //$(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ //}); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); pccixozmrsbodnhglcjn0liy6v6xr7r 437422 437421 2022-08-10T19:22:31Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); console.log(href,"TYTAN") if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; //$(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ //}); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 2bvb27alcp5knrsscnhc4kmuculta6e 437423 437422 2022-08-10T19:23:52Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); console.log(href,"TYTAN") if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 10cv1bujcmzxig8js4grbz7u82o4xt2 437424 437423 2022-08-10T19:30:51Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); console.log(href,"TYTAN") if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); jgap9vn483y4899q9rgg23d6k13ex1e 437425 437424 2022-08-10T19:33:23Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 4wuun7x9t5de1zqmivlfxaxhqrctnwt 437426 437425 2022-08-10T19:36:25Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 2a7pik6w2btkl3921g46rg0u9u6lt6s 437427 437426 2022-08-10T19:47:39Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); rmev03vkgf8k31to1zini7hfdi1m7bz 437428 437427 2022-08-10T19:52:42Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); /*$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } });*/ } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 4kqhqsga8agn7omancu8tj5v93op4q9 437429 437428 2022-08-10T19:54:45Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); cee9sn6inqc4gqva41my4rxt1x25zwx 437430 437429 2022-08-10T20:03:49Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children(); $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 1acv41zff53iwzcysuivt675n15gce8 437432 437430 2022-08-10T20:08:38Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); tjn2t28dpjyt8ft3e6tqv8uoe21s0mt 437433 437432 2022-08-10T20:10:18Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis treści, .boksy'); console.log(str,"TYTAN2") if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); 5oo83fjknc9dqg4qnebzpilutvttnrf 437434 437433 2022-08-10T20:11:47Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); b7ym0dyqb42b9mtvpo17zh8gmlnw6b4 437435 437434 2022-08-10T20:13:59Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); bhpkhcg4ed5nmb329fcuivaec44t7jt 437436 437435 2022-08-10T20:16:41Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); efhtpvg1abhz847090rejkau7cmhwt4 437437 437436 2022-08-10T20:17:41Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); bhpkhcg4ed5nmb329fcuivaec44t7jt 437438 437437 2022-08-10T20:20:57Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); kc1c0nkxhzdoi398uraia0f4axmrfjh 437439 437438 2022-08-10T20:21:50Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } $(elements).on('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); isy8eqw26o4xem311rauodgseagjdxi 437440 437439 2022-08-10T20:22:46Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } $(elements).off('click'); if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); tjb2s4gilg38lpzptz5acd4vkquzlql 437441 437440 2022-08-10T20:24:07Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){ /* css - adres html obiektu, zdarzenie - zxdarzenie jak click, funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common. */ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ var tab_transition={'start':true,'run':true,'cancel':true,'end':true}; var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true}; for(var a in tab_transition){ for(var b in tab_przegladarki){ var zdarzenie=b+'transition'+a; Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz); } } Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz); Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy'); if(str.length!=2){return;} $(str[0]).attr('mw-menu-boks',"true"); $(str[1]).attr('mw-menu-boks',"false"); Common.StronaStartZdarzeniePrzycisku=function(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('display',"block"); $(element).attr('mw-menu-boks','true'); }else if(menu_boks_zmienna=="true"){ $(element).css('display',"none"); $(element).attr('mw-menu-boks','false'); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){ var menu_boks_zmienna=$(element).attr('mw-menu-boks'); menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false"); if(menu_boks_zmienna=="false"){ $(element).css('visibility',"visible"); $(element).attr('mw-menu-boks',"true"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else if(menu_boks_zmienna=="true"){ $(element).css('visibility',"hidden"); $(element).attr('mw-menu-boks',"false"); } }); } if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku'); } $(Common.StronaStart); kc1c0nkxhzdoi398uraia0f4axmrfjh