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
Wikibooks:Tablica ogłoszeń
4
88
437208
436381
2022-08-08T16:17:45Z
Natalia Szafran-Kozakowska (WMPL)
22845
Nowe ogłoszenie
wikitext
text/x-wiki
{{/Nagłówek}}
<!-- PONIŻEJ DODAJEMY WIADOMOŚCI -->
== 8 sierpnia ==
* Droga społeczności, już od 11 sierpnia rozpoczyna się wielkie święto społeczności - Wikimania 2022! To zdalna konferencja, w której udział wezmą edytorzy i edytorki z całego świata. Zapraszam Was - [https://wikimania.wikimedia.org/wiki/Program/Schedule program jest niewiarygodnie bogaty]! A jeśli chcecie obejrzeć Wikimanię w dobrym towarzystwie, to '''zapraszamy Was na spotkania lokalne w Katowicach''' (12 sierpnia, godz. 16.00-19.00) i '''w Warszawie''' (13 sierpnia, godz. 11.00-21.00). Będą czekać na Was przekąski i pyszna pizza! Więcej informacji i formularz rejestracyjny znajdziecie [[:chapter:Wikimania_2022#Spotkania_lokalne|na tej stronie]]. Zapraszamy! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 18:17, 8 sie 2022 (CEST)
== 1 sierpnia ==
* Droga społeczności, Wikimedia Polska zaprasza do aplikowania o stypendium na zdalną konferencję ruchu Wikimedia, Wikimanię 2022, która odbędzie się od 11 do 14 sierpnia tego roku. Do 4 sierpnia można składać wnioski na m.in. słuchawki, pakiety danych, posiłki na wynos. Zapraszamy do aplikowania! Szczegóły na [[:chapter:Wikimania 2022|stronie procesu stypendialnego]]. Komisja jest miła, składanie wniosków szybkie, a Wikimania fajna - zapraszamy! Planujemy również spotkania na żywo w Warszawie, Katowicach i Poznaniu. Informacje wkrótce! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 18:04, 1 sie 2022 (CEST)
== 14 lutego ==
* Drodzy wikimedianie i drogie Wikimedianki, oto wiadomość, na którą wiele osób czekało: wiemy, kiedy odbędzie się '''[[:chapter:Wzlot|(W)zlot czyli Wiosenny Zlot społeczności Wikimedian]]''' (który zastępuje odwołany z powodów covidowych Zlot Zimowy) - spotykamy się '''22-24 kwietnia w Chorzowie''' w przepięknym [[Górnośląski Park Etnograficzny|Górnośląskim Parku Etnograficznym]], gdzie będziemy wśród zieleni i obiektów architektury odbywać wykłady, warsztaty, zabawy, pogaduchy itp. Choć chciałoby się nocować w tymże parku, to nocleg odbędzie się w pobliskim hotelu :) Na uczestników i uczestniczki czeka wiele fajności, w tym ognisko, zwiedzanie schronu i innych ciekawych miejsc Chorzowa. '''Rejestracja potrwa od 14 lutego do 31 marca''', choć ze względów organizacyjnych zachęcamy do jak najwcześniejszej rejestracji. To będzie wspaniałe wydarzenie we wspaniałym miejscu! Dla kogo? I dla starych wikiwyjadaczy i tych, którzy dopiero mają za sobą swoje pierwsze 100 edycji :) Zapraszamy! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 16:50, 14 lut 2022 (CET)
== 20 stycznia ==
Droga społeczności, w Wikimedia Polska bardziej niż na postanowienia noworoczne, stawiamy na plany roczne. I właśnie jesteśmy w trakcie ich przygotowywania. Niezbędna częścią tego kawałka są konsultacje z Wami. Szczególnie w obszarze wsparcia społeczności. Dlatego zapraszamy Was dzisiaj '''20 stycznia o godz. 19.00''' na platformę Zoom na pogadankę w sprawie naszego planu rocznego ([https://us06web.zoom.us/j/86284154542 link], ID spotkania 862 8415 4542). Opowiemy Wam, co wsparcie społeczności planuje na 2022 i posłuchamy Waszych głosów. Plan jest wciąż wyryty bardziej w wikikodzie niż kamieniu, dlatego Wasze zdanie ma znaczenie i może realnie wpłynąć na naszą pracę. Z tremą, przejęciem i niecierpliwością zapraszamy Was na to spotkanie. Do zobaczenia! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 10:40, 20 sty 2022 (CET)
== 10 stycznia ==
* Można już zgłaszać [[m:Community Wishlist Survey 2022/pl|propozycje nowych narzędzi i ulepszeń technicznych]], do opracowania przez najbliższy rok. Etap zgłaszania propozycji trwa do 23 stycznia. Potem, od 28 stycznia, będzie można oddawać głosy na najciekawsze propozycje. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:10, 10 sty 2022 (CET)
== 4 stycznia ==
* Droga społeczności, ze względu na pogarszającą się sytuację covidową [[:chapter:Zlot Zimowy 2022|Zlot Zimowy 2022]] nie odbędzie się w planowanym terminie na żywo. Na stronie zlotu znajdziecie więcej informacji o powodach tej (niełatwej dla nas) decyzji, ale też o tym, co to oznacza dla osób, które już się zarejestrowały (te osoby powinny też mieć takie informacje w swoich skrzynkach mailowych). Znajdziecie tam też informację pozytywną: nie rezygnujemy z organizacji ogólnopolskiego spotkania. Planujemy spotkanie na żywo na wiosnę, w nieco innej, fajniejszej i bardziej covido-odpornej formule :) Zaglądajcie tam! Zapraszam Was też na dzisiejsze spotkanie o godz. 20.00 na platformie Zoom ([https://us06web.zoom.us/j/82827771836?pwd=VHMrUng0SXhZZDF6QWFWSWVSWWZqZz09 link do spotkania], hasło: zlotzimowy), gdzie porozmawiamy o tej decyzji i o tym co dokładnie czeka nas na wiosnę. Albo o różnych innych rzeczach, jeśli chcecie. Dbajcie o siebie i trzymajcie się zdrowo! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 17:26, 4 sty 2022 (CET)
== 23 grudnia ==
* Droga społeczności, wczoraj na platformie Zoom odbyło się spotkanie organizacyjne Zlotu Zimowego. Notatki ze spotkania możecie znaleźć [[chapter:Zlot_Zimowy_2022/Potrzebujemy_ciebie|tutaj]]. Tam też możecie zgłosić się do pomocy w różnych zlotozimowych zadaniach. A jeśli chcecie być na bieżąco z organizacją, to zapraszamy Was na kolejne spotkanie '''4 stycznia o godz. 20.00''' na platformie Zoom (dane spotkania - też na tej stronie!). Na podstawie pytań zadawanych na spotkaniu powstała też sekcja [[:chapter:Zlot_Zimowy_2022/Organizacja#FAQ|FAQ]] na stronie Zlotu, może będzie dla Was pomocna. Pamiętajcie też, że czekamy na Wasze [[:chapter:Zlot Zimowy 2022/Zgłoszenia|Zgłoszenia punktów programu]]! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 17:04, 23 gru 2021 (CET)
== 16 grudnia ==
* Droga społeczności, Wikimedia Polska zaprasza Was serdecznie do wzięcia udziału z Zlocie Zimowym Wikimedian, który odbędzie się '''28-30 stycznia w Poznaniu'''. Koszt uczestnictwa w Zlocie to 60 zł (opłata ta pokrywa wyżywienie, nocleg i pakiet konferencyjny). Pracujemy też nad możliwością zdalnego uczestnictwa w wydarzeniu. Osoby, które chciałyby dowiedzieć się więcej, pomóc w organizacji lub po prostu porozmawiać o zlocie, zapraszam na spotkanie '''22 grudnia o godz. 19.00''' na platformę Zoom ([https://us06web.zoom.us/j/89078885320?pwd=eDhHTi9PaHB5aXZBeFlQS3ZsYUo3UT09 link] Meeting ID: 890 7888 5320 Hasło: zlotzimowy). Rejestracja i możliwość zgłaszania punktów programu otwarta na '''[[:chapter:Zlot Zimowy 2022|na stronie Zlotu]]'''. Do zobaczenia! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 14:26, 16 gru 2021 (CET)
== 2 grudnia ==
* Droga społeczności, po przerwie wrócił [https://wikimedia.pl/blog/2021/12/02/biuletyn-wikimedia-polska-nr-12-2021/ Biuletyn Wikimedia Polska], czyli cykliczny, subiektywny przegląd wydarzeń z naszego wikiświata. Z niego dowiecie się mnóstwo o akcjach edycyjnych, konkursach, wikiwydarzeniach i wikisprawach. Oraz o tym, co się dzieje w WMPL, oczywiście. Z pewną taką nieśmiałością i entuzjazmem oddaję go w Wasze ręce i życzę Wam przyjemnej i ciekawej lektury! A jeśli przeczytacie i uznacie, że jest przydatny - dajcie znać! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 17:10, 2 gru 2021 (CET)
== 11 sierpnia ==
* Droga społeczności, od 13 do 17 sierpnia odbywać się będzie międzynarodowa konferencja społeczności Wikimedia - Wikimania 2021. W związku z tym kilka informacji dla Was:
** '''społeczność warszawska może spotkać się 14 sierpnia na wspólne oglądanie konferencji''' przy kawie i ciastkach i wspólny wikimaniowy posiłek. Szczegóły [[:chapter:Wikimania_2021/Oglądamy_Wikimanię|tutaj]]
** Wikimedia Polska może przyznać środki na wsparcie Waszego uczestnictwa w Wikimanii. Co prawda oficjalny termin składania wniosków minął 9 sierpnia, ale ze względu na to, że mamy wciąż wolne środki, zapraszamy spóźnialskich do składania wniosków na te rzeczy, których organizacja i dostarczenie nie zajmuje dużo czasu, więc jeszcze zdążą do Was dotrzeć (a więc np. posiłki na wynos w trakcie Wikimanii poprzez platformę do zamawiania posiłków czy pakiety danych). Zgłoszenia możecie jeszcze składać [https://docs.google.com/forms/d/e/1FAIpQLSdcaOJgEcGIvUiXTPy_UuzRaJxZQHojFubc5HKjK9BYuUOveQ/viewform?usp=sf_link tutaj].
** Nie zapomnijcie się zarejestrować na Wikimanię [https://wikimania.wikimedia.org/wiki/2021:Registration o tutaj]
Wspaniałej Wikimanii dla Was! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 16:40, 11 sie 2021 (CEST)
== 6 sierpnia ==
* Wikimania, międzynarodowa konferencja społeczności Wikimedia, odbędzie się już za tydzień - od 13 do 17 sierpnia. Wikimedia Polska zbiera deklaracje osób, które chciałyby to wydarzenie przeżyć tak, jak Wikimanię przeżywa się najlepiej - wspólnie. Chcemy zorganizować wspólne oglądanie Wikimanii przy kawie, ciastkach, pizzy, ze wspólnymi pogaduchami po sesjach i pomiędzy nimi. Ale żebyśmy wiedzieli gdzie - musimy znać Wasze potrzeby. Dlatego zapraszam Was do [https://docs.google.com/forms/d/e/1FAIpQLSdirWNOBPphutMsNzsUCl7uyqm6vKKGVuY-5gUiQHjUEqHxjA/viewform?usp=sf_link zgłaszania się poprzez ten formularz]. Tam, gdzie będzie min. 3 zainteresowanych - będzie już można organizować wspólne oglądanie! :) [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 14:19, 6 sie 2021 (CEST)
== 3 sierpnia ==
* Droga społeczności, już niedługo odbędzie się '''międzynarodowa konferencja wikimedian - [https://wikimania.wikimedia.org/wiki/Wikimania Wikimania 2021]'''. Po raz pierwszy możecie wziąć w niej udział z zacisza Waszych domów - konferencja odbędzie się w formule online. Rejestracja na konferencję jest darmowa (i możecie jej dokonać [https://wikimania.wikimedia.org/wiki/2021:Registration tu]). Aby dodatkowo ułatwić Wam uczestnictwo w konferencji, '''Wikimedia Polska oferuje Wam [[:chapter:Wikimania 2021|program stypendialny na Wikimanię 2021]]'''. W ramach programu możecie otrzymać zakup lub refundację:
** drobnego sprzętu elektronicznego (słuchawki, mikrofony)
** pakietów danych internetowych,
**opieki nad zależnym członkiem rodziny,
**posiłków na wynos,
**przestrzeni coworkingowej, zapewniającej komfortowe warunki oglądania Wikimanii dla osób, które nie mają takich warunków w domu
'''Jak składać wnioski dowiecie się [[:chapter:Wikimania_2021|na tej stronie]]'''. Środki na stypendia pochodzą z grantu Wikimedia Foundation, a stypendia przyzna życzliwa komisja w składzie: [[user:Nadzik|Nadzik]], [[user:Mateusz Gieryga|Mateusz Gieryga]] i niżej podpisana. Procedura jest szybka, łatwa i wygodna, dlatego bardzo zachęcamy! Jednocześnie (choć z ogromną tremą!) zapraszam do udziału w sesji prowadzonej przez Wikimedia Polska, która odbędzie się 14 sierpnia o godz. 13.30 UTC (a więc o 15.30 polskiego czasu) i poświęcona będzie relacjom między społecznością Wikimedia, a innymi grupami (edukatorami, naukowcami) oraz temu, jak jako organizacja wspieramy te relacje. Do zobaczenia! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 13:21, 3 sie 2021 (CEST)
== 15 czerwca ==
Czy pamiętacie jeszcze jak to jest - spotkać się w gronie wikimedian na żywo? Jeśli tak, to wiecie, że jest to wspaniałe, jeśli nie - nadchodzi okazja, żeby sobie przypomnieć! '''3 lipca 2021''' Wikimedia Polska zaprasza Was na '''[[:chapter:Wikispotkanie 2021|Wikispotkanie]]''', czyli hybrydowe spotkanie wikimedian. Najpierw odbędzie się jego część zdalna (wykłady, zabawy, warsztaty!), a następnie - kameralne spotkania na żywo w wybranych miastach w Polsce (w tej chwili na liście mamy Trójmiasto, Warszawę, Wrocław, Katowice i Poznań, ale chętnie powitamy więcej miast!). Zapraszamy Was na nie serdecznie! Bo my tu w Wikimedia Polska bardzo, bardzo (a nawet BARDZO) tęskniliśmy za rozmowami z Wami na żywo! Wiele jeszcze ustalamy, więc jesteśmy otwarci na Wasze pomysły i potrzeby, śmiało piszcie! Szczegóły będą nadchodzić wkrótce! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 11:28, 15 cze 2021 (CEST) PS A skoro o tym mowa - być może wcześniej obił Wam się o uszy inny termin tego spotkania. Nic nie pomyliliście - to my zmieniliśmy datę w odpowiedzi na apele członków WMPL, dla których poprzednia data była datą Walnego i na tym tego dnia chcieli się skupić. Tak więc - zaznaczcie sobie w kalendarzach 3 lipca! :) Do zobaczenia! Tak wiecie - NA ŻYWO!
== 28 maja ==
* Otwieramy możliwość aplikowania o legitymacje użytkowe dla wolontariuszy i wolontariuszek polskich projektów Wikimedia, wystawiane przez Wikimedia Polska. Dzięki legitymacjom możemy pokazać, że wspieramy Wikipedię i jej projekty siostrzane, co może zapewnić nam życzliwość i pomoc osób i instytucji. Uwaga, '''nie trzeba być członkiem Wikimedia Polska, żeby taką legitymację dostać''' – wystarczy edytować lub wspierać Wikimedia w inny sposób. Dokładne zasady i sposób zgłaszania się opisane są '''[[:chapter:Legitymacje#Kto_może_otrzymać_legitymację|na tej stronie]]'''. Tam też można zobaczyć wzór legitymacji. Osoby, które mają już pamiątkowe legitymacje członkowskie, mogą również wystąpić o legitymacje użytkowe. Legitymacje będą wysyłane dwa razy do roku, więc jeśli komuś zależy na terminie, to zachęcam do zgłoszeń do końca czerwca! Wiemy, że czekaliście i wyglądaliście legitymacji, teraz my czekamy na Wasze zgłoszenia :) W razie pytań, zachęcam do kontaktu. [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 16:57, 28 maj 2021 (CEST)
==22 maja==
Drodzy użytkownicy,
Nadchodzą [[meta:Wikimedia_Foundation_elections/2021|wybory do Rady Powierniczej Wikimedia Foundation]]. Moją rolą, jako jednego z wolontariuszy wspierających ten proces, jest informowanie Was o tym procesie wyborczym. Rada Powiernicza, w skład której wchodzą członkowie wybrani przez społeczności projektów jak i zrekrutowani eksperci, jest ciałem nadzorującym pracę Wikimedia Foundation. Każdy członek Rady zasiada w niej na trzyletnią kadencję. Społeczności projektów Wikimedia mają w tym roku możliwość wybrania swoich czterech przedstawicieli, dokładających swoje różnorodne doświadczenie i kompetencje do składu Rady.
Ramy czasowe wyborów znajdziecie na stronie [[meta:Wikimedia_Foundation_elections/2021#Timeline|w serwisie Meta]], zaś informacje dla potencjalnych kandydatów znajdują się [[meta:Wikimedia_Foundation_elections/2021#Information_for_candidates|tutaj]]. Nawet, jeśli nie zamierzacie kandydować w wyborach do Rady, możecie oddać w nich swój głos, podnosząc frekwencję! [[Wikipedysta:Wojciech Pędzich|Wojciech Pędzich]] ([[Dyskusja wikipedysty:Wojciech Pędzich|dyskusja]]) 20:26, 22 maj 2021 (CEST)
== 21 maja ==
* Droga społeczności, czy wiecie, że w ramach programu [[:chapter:Wikigranty|Wikigrantów]] Wikimedia Polska może sfinansować potrzebne Wam źródła, sprzęt fotograficzny (i inny) lub np. koszty podróży czy biletów? Aż do kwoty 2000 zł! A teraz jest jeszcze łatwiej - dotychczas przedmioty wikigrantów kupowaliście sobie sami, a my refundowaliśmy ten koszt na podstawie faktury. Teraz '''zakupu może dokonać za Was Wikimedia Polska, kierując do Was przesyłkę ze sklepu internetowego'''. Dzięki temu formalności i faktury to nasze zmartwienie, a Wy macie tylko pięknie wzbogacać Wikimedia dzięki pozyskanym materiałom czy sprzętowi :) To co? Zachęcam do pobierania grantów! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 15:24, 21 maj 2021 (CEST)
== 16 listopada ==
* Można zgłaszać propozycje usprawnień technicznych (np. nowe narzędzia), nad którymi będzie pracował specjalny zespół programistów w przyszłym roku. Propozycje można zgłaszać do 30 listopada. Po upłynięciu czasu na składanie propozycji nastąpi głosowanie społeczności na najlepsze propozycje. [[m:Community Wishlist Survey 2021/pl|Zgłoś propozycję narzędzia]]. Akcja odbywa się co roku. [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:10, 16 lis 2020 (CET)
== 14 października ==
* Droga Społeczności, jesteśmy właśnie w trakcie tworzenia Bazy Szkoleniowców, a także powoli ruszamy z grupą WikiTrenerów, w której będziemy uczyć się jak uczyć innych, rozwijać kompetencje trenerskie i komunikacyjne, a także inne umiejętności. W grupie tej wspólnie wypracujemy uniwersalne materiały szkoleniowe i scenariusze szkoleń i zapewnimy sobie wszelkie niezbędne wsparcie :) Jeśli jesteś osobą, która przeprowadzała dla nas szkolenia lub jeszcze tego nie robiła, ale chciałaby spróbować – zapraszam Cię do zgłoszenia się do Bazy Szkoleniowców i dołączenia do nowo powstającej grupy WikiTrenerów :) Formularz zgłoszeniowy znajdziesz [https://docs.google.com/forms/d/e/1FAIpQLSfJFon1xRStimiccne2-Hrd_Yu-Gv8bIpvpaNF9ZhDHg8j8CQ/viewform?usp=sf_link pod tym linkiem]. W przypadku pytań – zachęcam do kontaktu. [[Wikipedysta:Paulina Studniczka (WMPL)|Paulina Studniczka (WMPL)]] ([[Dyskusja wikipedysty:Paulina Studniczka (WMPL)|dyskusja]]) 17:10, 14 paź 2020 (CEST)
== 11 września ==
* Droga społeczności, pojawił się już nowy numer [https://wikimedia.pl/blog/2020/09/11/biuletyn-wikimedia-polska-nr-8-2020/ Biuletynu Wikimedia Polska], a w nim m.in. nowe zasoby z instytucji kultury, start Wiki Lubi Zabytki i przegląd wieści z projektu. Zapraszam Was do lektury i subskrybowania kolejnych numerów [https://wikimedia.pl/biuletyn/ przez e-mail] lub [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Biuletyn_Wikimedia_Polska stronę dyskusji]. A jeśli chcecie pomóc w tworzeniu kolejnych numerów, koniecznie dajcie znać! [[Wikipedysta:Natalia Szafran-Kozakowska (WMPL)|Natalia Szafran-Kozakowska (WMPL)]] ([[Dyskusja wikipedysty:Natalia Szafran-Kozakowska (WMPL)|dyskusja]]) 19:14, 11 wrz 2020 (CEST)
* Udostępniono do wglądu społeczności szkic [[m:Universal_Code_of_Conduct/Draft_review/pl|Powszechnych zasad postępowania]]. To zasady, które mają regulować zasady współpracy osób działających wokół projektów Wikimedia. Dotyczą one wzajemnego szacunku użytkowników i zwalczania niepożądanych zachowań. Komentarze należy publikować na [[m:Talk:Universal_Code_of_Conduct/Draft_review/pl|stronie dyskusji]] do 6 października.
== 9 stycznia ==
* Drodzy Wikipedyści! W 2020 roku uruchomiona została kolejna edycja Wikigrantów. Jeśli zatem macie na oku jakieś wartościowe źródła wszelkiej maści, które wspomogą Was w pisaniu haseł, zapraszamy do skorzystania z programu. W tym roku podniesiona została kwota małego grantu, toteż z uproszczonej procedury planowania i raportowania można skorzystać przy dofinansowaniu do '''500 PLN'''. Wnioski można składać [[chapter:pl:Wikigranty/wnioski|na tej stronie]]. W imieniu Komisji Wikigrantów, [[Wikipedysta:Einsbor|Einsbor]] ([[Dyskusja wikipedysty:Einsbor|dyskusja]]) 08:25, 9 sty 2020 (CET)
== 25 grudnia ==
[[Plik:Колядовщики.jpg|right|300px]]
* Z okazji [[w:przesilenie zimowe|przesilenia zimowego]] (lub [[w:przesilenie letnie|letniego]]), [[w:Chanuka|Chanuki]], [[w:Boże Narodzenie|Bożego Narodzenia]] i gregoriańskiego [[w:Nowy Rok|Nowego Roku]] [[w:2020|2020]], w imieniu zarządu i pracowników Stowarzyszenia [[w:Wikimedia Polska|Wikimedia Polska]] życzę wszystkim użytkowniczkom i użytkownikom w nadchodzącym roku: weny twórczej, owocnej współpracy, dyskusji bez złych konfliktów, wielu okazji dostrzeżenia i docenienia wkładu, a także satysfakcji z gromadzenia sumy ludzkiej wiedzy dostępnej dla każdego. Wszystkiego wikiholicznego i wikietykietowego!<br />PS Przedłużamy dyskusję nad zmianami statutu Stowarzyszenia: [[wmpl:Statut/Zmiany 2019|Statut/Zmiany 2019]]. Prosimy o dzielenie się opiniami. Zachęcamy też do rejestracji uczestnictwa na [[wmpl:Zlot Zimowy 2020|Zlocie Zimowym w Iławie]].<br />[[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 20:11, 25 gru 2019 (CET)
== 21 września ==
Można już składać propozycje ulepszeń technicznych i narzędzi dla Wikibooks: [[m:Community Wishlist Survey 2020/pl|Community Wishlist Survey 2020]]
== 26 marca ==
* Zapraszamy do rejestrowania się na [[:wmpl:Konferencja Wikimedia Polska 2019|Konferencję Wikimedia Polska 2019]], która odbędzie się 7-9 czerwca 2019 we Wrocławiu. Na konferencji omawiamy działalność w projektach Wikimedia. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 11:25, 26 mar 2019 (CET)
== 12 grudnia ==
* W dniach 25-27 stycznia 2019 w Kaliszu odbędzie się [https://pl.wikimedia.org/wiki/Zlot_Zimowy_2019 Zlot Zimowy] Wikimedian. Rejestracja uczestników trwa do 4 stycznia 2019, szczegóły na [https://pl.wikimedia.org/wiki/Zlot_Zimowy_2019/Organizacja stronie Zlotu]. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 18:40, 12 gru 2018 (CET)
== 10 lipca ==
* 28 lipca w Warszawie odbędzie się spotkanie dla wikimedian i sympatyków Wikimedia. Można się zapisać [[meta:Meetup/Warszawa/21|na wiki]] lub [https://www.facebook.com/events/564355123966546/ na Facebooku] (ze względu na to, że część osób woli zachować w sferze prywatnej fakt bycia wikimedianinem, wydarzenie jest zaznaczone na FB jako prywatne, co oznacza, że trzeba mieć zaproszenie, żeby je widzieć. Jeśli są chętni, którym nie wysłałem zaproszenia – piszcie na priv). Dokładne miejsce jeszcze nieustalone – zgłaszajcie propozycje. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 20:31, 10 lip 2018 (CEST)
mqlvyfh51lnt9m0xrb7gnt7i0v4y8qi
Szablon:Skrót
10
2654
437242
369449
2022-08-09T05:25:53Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<div style="float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center">{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:<br/>[[{{{1}}}]]{{#if:{{{2|}}}|<br/>[[{{{2}}}]]|}}{{#if:{{{3|}}}|<br/>[[{{{3}}}]]|}}{{#if:{{{4|}}}|<br/>[[{{{4}}}]]|}}{{#if:{{{5|}}}|<br/>[[{{{5}}}]]|}}{{#if:{{{6|}}}|<br/>[[{{{6}}}]]|}}</div>|{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="shortcut_upper_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{{1}}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
gwv3mw7j560z743o9jlc63ki80bc4fs
437243
437242
2022-08-09T05:26:54Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<div style="float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center">{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:<br/>[[{{{1}}}]]{{#if:{{{2|}}}|<br/>[[{{{2}}}]]|}}{{#if:{{{3|}}}|<br/>[[{{{3}}}]]|}}{{#if:{{{4|}}}|<br/>[[{{{4}}}]]|}}{{#if:{{{5|}}}|<br/>[[{{{5}}}]]|}}{{#if:{{{6|}}}|<br/>[[{{{6}}}]]|}}</div>|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="shortcut_upper_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{{1}}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
altz9xj74lgec6lq7xftbi830ximlmw
437248
437243
2022-08-09T05:41:58Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{#invoke:Ramka|Powtarzaj|{{Br}}[[{{{ {{((}}_{{))}} }}}]]}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="shortcut_upper_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{{1}}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
gxidphczq7jka8tu0ea55b5mgie3yh9
437249
437248
2022-08-09T06:01:56Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{#invoke:Ramka|Powtarzaj|{{Br}}[[{{{ {{((}}_{{))}} }}}]]}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="shortcut_upper_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{#invoke:Ramka|Powtarzaj|{{{ {{((}}_{{))}} }}}{{((}}#if:{{(((}} {{((}}#expr:{{((}}_{{))}}+1{{))}}{{!}}{{)))}}{{!}}, {{!}}{{))}}}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
6jqzs7kcqwtzka5v28r48v6ekfngkaw
437250
437249
2022-08-09T06:09:22Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{#invoke:Ramka|Powtarzaj|{{Br}}[[{{(((}} {{((}}_{{))}} {{)))}}]]}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="shortcut_upper_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{#invoke:Ramka|Powtarzaj|{{(((}} {{((}}_{{))}} {{)))}}{{((}}#if:{{(((}} {{((}}#expr:{{((}}_{{))}}+1{{))}}{{!}}{{)))}}{{!}}, {{!}}{{))}}}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
gdgrm3zxm2fv7a35sz334ufd5hea10i
437251
437250
2022-08-09T06:39:09Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{Br}}{{#invoke:Ramka|Powtarzaj|[[{{(((}} {{((}}_{{))}} {{)))}}]]|nowa linia=tak}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="shortcut_upper_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{#invoke:Ramka|Powtarzaj|{{(((}} {{((}}_{{))}} {{)))}}|przecinek=tak}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
4766gx0dkbd5ut5upwii59t1ud8rtkv
437252
437251
2022-08-09T06:41:37Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{Br}}{{#invoke:Ramka|Powtarzaj|[[{{(((}} {{((}}_{{))}} {{)))}}]]|nowa linia=tak}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="skrót_górny_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}: {{#invoke:Ramka|Powtarzaj|{{(((}} {{((}}_{{))}} {{)))}}|przecinek=tak}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
56qcsymoerf3dpj4mpm0yk1b3jr7x3e
437261
437252
2022-08-09T07:12:43Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{Br}}{{#invoke:Ramka|Powtarzaj|[[{{(((}} {{((}}_{{))}} {{)))}}]]|nowa linia=tak}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="skrót_górny_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|{{(((}} {{((}}_{{))}} {{)))}}|przecinek=tak}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
gnu91xsbctc81ek0ewhm03fhry5htiw
437267
437261
2022-08-09T07:43:41Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|{{Div|styl=float:right; background: #ffffff; border:solid silver 1px; margin-left:1em; padding: 5px; text-align:center|{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|Skrót]]}}:{{Br}}{{#invoke:Ramka|Powtarzaj|[[{{(((}} {{((}}_{{))}} {{)))}}]]|nowa linia=tak}}}}|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="skrót_projektu_górny_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skrót|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|{{(((}} {{((}}_{{))}} {{)))}}|przecinek=tak}}{{Mniejszy}}/indicator{{Większy}}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
kgp6oa4aawhzqpx1bvenn9rlbljsvih
MediaWiki:Common.js
8
11046
437193
437182
2022-08-08T12:08:14Z
Wargo
17169
javascript
text/javascript
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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))){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:Common.ScrollBarOverflow();javascript:Common.StickyXY();javascript:Common.OptimalXY()')
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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.on('click',StronaStartFun);
}
$(Common.StronaStart);
eg5l6xgvhnm8xlgy4jk380z0v4inrtp
Szablon:Skrót szablonu
10
32978
437253
399654
2022-08-09T06:58:28Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}<indicator name="skrót_szablonu_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}">{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|Skróty]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|<!--
-->{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}<!--
-->}}</indicator><!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
cnzb7nfgatfkxiqgdtqfsqh3q4f5eun
437260
437253
2022-08-09T07:11:41Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}<indicator name="skrót_szablonu_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}">{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|<!--
-->{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}<!--
-->}}</indicator><!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
kk4yp7clnrcg23usxc7firn4nxocvp8
437264
437260
2022-08-09T07:25:51Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}<indicator name="skrót_szablonu_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}">{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|<!--
-->{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}}}}<!--
-->}}</indicator><!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
6rmtl5pg90272kej2og24eanuc7jb0q
437265
437264
2022-08-09T07:31:47Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}<indicator name="skrót_szablonu_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}">{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}}}}}}</indicator><!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
ibmk8u3axz9m6malcliiluj8apac0wb
437266
437265
2022-08-09T07:36:05Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}<indicator name="skrót_szablonu_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}">{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}}}}}</indicator><!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
iv4db9qj8ljxzpisxu2zbth0d2oxoew
437268
437266
2022-08-09T07:44:09Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}<indicator name="skrót_szablonu_górny_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}">{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}}}}}</indicator><!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
tciru54yzou8csa1zg7lc6rd2v6rvmy
437269
437268
2022-08-09T07:46:59Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}{{#invoke:Ramka|Rozwiń|{{Mniejszy}}indicator name="skrót_szablonu_górny_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}}}}}{{Mniejszy}}/indicator{{Większy}}}}<!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
bxqjfjlsjeckgjv37cgemqzroc74poy
437270
437269
2022-08-09T07:47:37Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=shortcutbox shortcutbox-template plainlinks noprint|
styl={{#switch:{{{clear|}}} |true=clear:{{{float|right}}}; |left|right|both=clear:{{{clear|}}}; |#default=}}<!--
-->{{#ifeq:{{{float|}}}|left |float:left;margin:{{{top|0.3em}}} 1.0em 0.3em 0.3em; |float:right;margin:{{{top|0.3em}}} 0.3em 0.3em 1.0em;}}<!--
-->border:1px solid #aaa;background:#fff;padding:3px;text-align:center;|<!--
-->{{Div|styl=font-size:85%;border:none;background:transparent;|{{#if:{{{redirect|}}} |Przekierowani{{#if:{{{2|}}}|a|e}}|Skrót{{#if:{{{2|}}}|y}}}}
{{Div|klasa=plainlist|styl=font-size:120%;font-family:monospace;|<!--
-->{{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|nowa linia=tak|<!--
-->*{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{((}}#ifexist:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}{{!(}}{{((}}fullurl:Szablon:{{(((}}{{((}}_{{))}}{{)))}}{{!}}redirect{{=}}no{{))}} {{(((}}{{((}}_{{))}}{{)))}}{{)!}} {{!}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}{{))}}}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->|{{DivLinia}}{{#invoke:Ramka|Rozwiń|1={{Mniejszy}}indicator name="skrót_szablonu_górny_{{Zastąp|ciąg={{{1|}}}|wzór={{!(}}%s_"{{)!}}+|zamień=_}}"{{Większy}}{{#ifeq:{{PAGENAME}}|WB|Skróty|[[Wikibooks:WB|{{#ifexpr:{{#invoke:Parametry|LiczbaElementówNumerowanychSzablonu}}>1|Skróty|Skrót}}]]}}: {{#invoke:Ramka|Powtarzaj|parametry=pre|różne=tak|przecinek=tak|{{{{(((}}pre {{((}}__{{))}}{{!}}{{)))}}{{!((}}Szablon:{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{!}}{{(((}}{{((}}_{{))}}{{!}}{{PAGENAME}}{{)))}}{{))!}}}}}}{{Mniejszy}}/indicator{{Większy}}}}<!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
oqu071aa89k1ifem1u94jgj6clk72x4
Szablon:Skrót szablonu/opis
10
32979
437254
426425
2022-08-09T07:00:32Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
{{Skrót szablonu|WS|wikt|id=stary}}
{{Pre|{{s|Skrót szablonu|WS|wikt}}}}
{{Skrót szablonu|WR|id=stary}}
{{Pre|{{s|Skrót szablonu|WR}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
2bxlvngghjrwssqu6qhqdd5tb1yc15x
437257
437254
2022-08-09T07:04:51Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
{{Skrót szablonu|WS|wikt|id=stary}}
{{Pre|{{s|Skrót szablonu|WS|wikt|id{{=}}stary}}}}
{{Skrót szablonu|WR|id=stary}}
{{Pre|{{s|Skrót szablonu|WR|id{{=}}stary}}}}
{{Skrót szablonu|ABC}}
{{Pre|{{s|Skrót szablonu|ABC}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
0m04n48fyff5bz007spt71h6fvmomsn
437258
437257
2022-08-09T07:07:47Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
; Przykład
{{Skrót szablonu|WS|wikt|id=stary}}
; Wynik
{{Pre|{{s|Skrót szablonu|WS|wikt|id{{=}}stary}}}}
----
; Przykład
{{Skrót szablonu|WR|id=stary}}
; Wynik
{{Pre|{{s|Skrót szablonu|WR|id{{=}}stary}}}}
----
Przykład
{{Skrót szablonu|ABC}}
; Wynik jest, na górze strony artykułu, w jego polu, z prawej strony
{{Pre|{{s|Skrót szablonu|ABC}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
ovjqu1yim9veldx3104m1a6eaae6mgu
437259
437258
2022-08-09T07:08:48Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
; Przykład
{{Skrót szablonu|WS|wikt|id=stary}}
{{Pre|{{s|Skrót szablonu|WS|wikt|id{{=}}stary}}}}
----
; Przykład
{{Skrót szablonu|WR|id=stary}}
{{Pre|{{s|Skrót szablonu|WR|id{{=}}stary}}}}
----
; Wynik jest, na górze strony artykułu, w jego polu, z prawej strony
{{Skrót szablonu|ABC}}
{{Pre|{{s|Skrót szablonu|ABC}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
kh0irsvnn0ua2o8s6lfx8un658vyyid
437262
437259
2022-08-09T07:14:00Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
; Przykład
{{Skrót szablonu|id=stary|WS|wikt}}
{{Pre|{{s|Skrót szablonu|id{{=}}stary|WS|wikt}}}}
----
; Przykład
{{Skrót szablonu|id=stary|WR}}
{{Pre|{{s|Skrót szablonu|id{{=}}stary|WR}}}}
----
; Wynik jest, na górze strony artykułu, w jego polu, z prawej strony
{{Skrót szablonu|ABC}}
{{Pre|{{s|Skrót szablonu|ABC}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
sbid3n7o16fk662ljvb4hozgb3t1iuk
437280
437262
2022-08-09T10:27:47Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
; Przykład
{{Skrót szablonu|id=stary|WS|wikt}}
{{Pre|{{s|Skrót szablonu|id{{=}}stary|WS|wikt}}}}
----
; Przykład
{{Skrót szablonu|id=stary|WR}}
{{Pre|{{s|Skrót szablonu|id{{=}}stary|WR}}}}
----
; Wynik jest na górze strony artykułu w jego polu z prawej strony
{{Skrót szablonu|ABC}}
{{Pre|{{s|Skrót szablonu|ABC}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
smjzv1761wtunjxs01chdpl4tbzfxkw
437283
437280
2022-08-09T10:58:54Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Służy do oznaczania w dokumentacjach szablonów ich skrótów, np. {{s|WS}} dla {{s|wikisłownik}}, {{s|WR}} dla {{s|wysokie ryzyko}} itd.
== Opis parametrów ==
Maksymalnie można podać dowolną liczbę skrótów do szablonu, oddzielonych znakami potoku (parametry {{Code|{{{1}}}}}, {{Code|{{{2}}}}}, {{Code|{{{3}}}}}, {{Code|{{{4}}}}}, {{Code|{{{5}}}}}, {{Code|{{{6}}}}}, {{Code|{{{7}}}}}, {{Code|{{{8}}}}}, {{Code|{{{9}}}}}, {{Code|{{{10}}}}}, {{Code|...}}).
== Przykład ==
; Przykład
{{Skrót szablonu|id=stary|WS|wikt}}
{{Pre|{{s|Skrót szablonu|id{{=}}stary|WS|wikt}}}}
----
; Przykład
{{Skrót szablonu|id=stary|WR}}
{{Pre|{{s|Skrót szablonu|id{{=}}stary|WR}}}}
----
; Wynik jest na górze strony artykułu, w jego polu z prawej strony
{{Skrót szablonu|ABC}}
{{Pre|{{s|Skrót szablonu|ABC}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Zobacz też ==
* {{s|Skrót}} - skrót do strony podawane w formie starej lub nagłówkowej.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony nagłówka Wikibooks
| Szablony techniczne linków
}}
</includeonly>
jnh416r0y3foijqj72r3ye2cq9ls505
Wikibooks:Poczekalnia/naprawa
4
33248
437246
386706
2022-08-09T05:29:50Z
Persino
2851
wikitext
text/x-wiki
<noinclude>{{Skrót|'''[[WB:SdU:N]]''', '''[[WB:DNU:N]]'''}}</noinclude>
<noinclude>{{StandardowaStronaStart}}{{Wikibooks:Poczekalnia/podstrona menu}}
= Lista zgłoszeń (strony z drobnymi problemami wymagające pilnej naprawy) =
== Zgłoszenia (strony rozpatrywane) ==
</noinclude>{{fmbox|tekst=UWAGA: Nowe zgłoszenia łamiące pkt.2 regulaminu Poczekalni lub łamiące zasady {{LinkProjekt|Wikietykieta|Wikietykiety}} mogą być bezwarunkowo wycofywane z DNU.}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
<!-- Nowe zgłoszenia wstawiaj powyżej tej linii. Poniżej tej linii nic nie usuwaj. Nie usuwaj tej linii --><noinclude>
== Załatwione (strony rozpatrzone) ==
{{Wikibooks:Poczekalnia/Informacja załatwienia|naprawa}}<BR>{{Wikibooks:Poczekalnia/naprawa załatwione 24}}
{{StandardowaStronaKoniec}}
<noinclude>
mvb7anzw63sgsswk41b3lyjfu8ddm2l
Wikibooks:Poczekalnia/prowokacje
4
33249
437247
386707
2022-08-09T05:30:58Z
Persino
2851
wikitext
text/x-wiki
<noinclude>{{Skrót|'''[[WB:SdU:P]]''', '''[[WB:DNU:P]]'''}}</noinclude>
<noinclude>{{StandardowaStronaStart}}{{Wikibooks:Poczekalnia/podstrona menu}}
= Lista zgłoszeń (strony z aktami prowokacyjnymi) =
== Zgłoszenia (strony rozpatrywane) ==
</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia łamiące pkt.2 regulaminu Poczekalni lub łamiące zasady {{LinkProjekt|Wikietykieta|Wikietykiety}} mogą być bezwarunkowo wycofywane z DNU.}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
<!-- Nowe zgłoszenia wstawiaj powyżej tej linii. Poniżej tej linii nic nie usuwaj. Nie usuwaj tej linii --><noinclude>
== Załatwione (strony rozpatrzone) ==
{{Wikibooks:Poczekalnia/Informacja załatwienia|prowokacje}}<BR>{{Wikibooks:Poczekalnia/prowokacje załatwione 24}}
{{StandardowaStronaKoniec}}</noinclude>
kpc39nys1toblu2t9gu3ad88vbemmqx
Wikibooks:Poczekalnia/artykuły
4
33250
437244
386704
2022-08-09T05:27:30Z
Persino
2851
wikitext
text/x-wiki
<noinclude>{{Skrót|'''[[WB:SdU:A]]''', '''[[WB:DNU:A]]'''}}</noinclude>
<noinclude>{{StandardowaStronaStart}}{{Wikibooks:Poczekalnia/podstrona menu}}
= Lista zgłoszeń (strony posiadające problemy z treścią lub tekstem) =
== Zgłoszenia (strony rozpatrywane) ==
</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia łamiące pkt.2 regulaminu Poczekalni lub łamiące zasady {{LinkProjekt|Wikietykieta|Wikietykiety}} mogą być bezwarunkowo wycofywane z DNU.}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
{{Wikibooks:Poczekalnia/artykuły/2018:11:08:Fizyka wyższa}}
<!-- Nowe zgłoszenia wstawiaj powyżej tej linii. Poniżej tej linii nic nie usuwaj. Nie usuwaj tej linii --><noinclude>
==Załatwione (strony rozpatrzone)==
{{Wikibooks:Poczekalnia/Informacja załatwienia|artykuły}}<BR>{{Wikibooks:Poczekalnia/artykuły załatwione 24}}
{{StandardowaStronaKoniec}}</noinclude>
papbldfmg2h6opaqb4kigh9q0fuee26
Wikibooks:Poczekalnia/kwestie techniczne
4
33251
437245
386705
2022-08-09T05:28:35Z
Persino
2851
wikitext
text/x-wiki
<noinclude>{{Skrót|'''[[WB:SdU:KT]]''', '''[[WB:DNU:KT]]'''}}</noinclude>
<noinclude>{{StandardowaStronaStart}}{{Wikibooks:Poczekalnia/podstrona menu}}
= Lista zgłoszeń (strony z poważnymi problemami technicznymi) =
== Zgłoszenia (strony rozpatrywane) ==
</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia łamiące pkt.2 regulaminu Poczekalni lub łamiące zasady {{LinkProjekt|Wikietykieta|Wikietykiety}} mogą być bezwarunkowo wycofywane z DNU.}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
<!-- Nowe zgłoszenia wstawiaj powyżej tej linii. Poniżej tej linii nic nie usuwaj. Nie usuwaj tej linii --><noinclude>
== Załatwione (strony rozpatrzone) ==
{{Wikibooks:Poczekalnia/Informacja załatwienia|kwestie techniczne}}<BR>{{Wikibooks:Poczekalnia/kwestie techniczne załatwione 24}}
{{StandardowaStronaKoniec}}</noinclude>
jmzv6ai9vm77odtblgohmqpzmw6qly2
Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia
4
33868
437240
437192
2022-08-09T04:55:35Z
Persino
2851
/* Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:54, 9 sie 2022 (CEST)
5qa2bnbbpkgeivtjt3xoi78sa5h0r1y
437241
437240
2022-08-09T05:13:28Z
Persino
2851
/* Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkProjekt2|Poczekalnia/Zgłoszenia}}, jedna linijka ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linię: 142, tzn.:
zamienić:
{{Pre
|reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na Poczekalni]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
8my6j3rtmqatuure3khr82f2ndi209v
437271
437241
2022-08-09T07:51:22Z
Persino
2851
/* Poprawka strony {{LinkProjekt2|Poczekalnia/Zgłoszenia}}, jedna linijka */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linię: 142, tzn.:
zamienić:
{{Pre
|reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na Poczekalni]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
4kc8lc8h4t3y6m3hkjkq5jw4zzgt9d8
437272
437271
2022-08-09T08:03:29Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
i zamienić 141:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
jwbcdq93krcmmfdh16s27fg1l8ocbrx
437273
437272
2022-08-09T08:04:23Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić, tzn. linię 141:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
stylv78e5fr5aka5nyfnfpyin4tjoqn
437274
437273
2022-08-09T08:06:35Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić, tzn. linię 141:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
0k1tmnnhmxtgh7g0vpbey9zyvz0kn97
437275
437274
2022-08-09T08:07:34Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić, tzn. linię 141:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na DNU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
1vox9ijdt0n1b84gr559yds14tvp7jx
437276
437275
2022-08-09T08:08:48Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, jedna linijka */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić, tzn. linię 141:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na DNU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
31asuxrra9hh024dmb6tvnrq66i7x0y
437277
437276
2022-08-09T08:17:12Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić, tzn. linie 141 - 142:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na DNU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
5jfi0jj1z4c5dlyoo3ai4lqxyebzx3v
437278
437277
2022-08-09T08:26:48Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić linię: 91:
{{Pre
|reason: "plik usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "plik usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
również zamienić linie: 117 - 135
{{Pre
|{{Nowiki|[[$1]]}}
}}
na
{{Pre
|{{Nowiki|[[:$1]]}}
}}
----
i zamienić, tzn. linie 141 - 142:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na DNU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
dew6pdnkiag3txc3cfvlf2rl3k1qop4
437279
437278
2022-08-09T08:27:34Z
Persino
2851
/* Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.:
zamienić:
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
i zamienić linię: 91:
{{Pre
|reason: "plik usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}"
}}
na
{{Pre
|reason: "plik usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}"
}}
----
również zamienić w liniach: 117 - 135
{{Pre
|{{Nowiki|[[$1]]}}
}}
na
{{Pre
|{{Nowiki|[[:$1]]}}
}}
----
i zamienić, tzn. linie 141 - 142:
{{Pre
|caption: "sdu",
reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} "
}}
na:
{{Pre
|caption: "dnu",
reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na DNU]]}} "
}}
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
701cx3av89ftgjtz2efc2gt37wng6az
Wikibooks:ABC
4
54305
437255
372969
2022-08-09T07:03:24Z
Persino
2851
wikitext
text/x-wiki
#PATRZ [[Szablon:Skrót]]
{{Kategoria|Przekierowania wewnętrzne skrótów projektu}}
07t9kc4bi5kt5t67f7vn7v88n2quenq
437263
437255
2022-08-09T07:17:50Z
Persino
2851
wikitext
text/x-wiki
#REDIRECT [[Szablon:Skrót]]
{{Kategoria|Przekierowania wewnętrzne skrótów projektu}}
co7dp7x6zojv70sj89ric8a2r7q28gw
Szablon:StronaStart/stronastart.css
10
58549
437238
437124
2022-08-09T04:32:25Z
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;
}
.strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis.mw-scrollbar-overflow-x{
width:100%;
max-width:700px;
}
.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, z-index 500ms ease-out, linear;
transition-property: transform, max-width, width, max-height, height, z-index;
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, z-index 500ms ease-out, linear;
transition-property: transform, max-width, width, max-height, height, z-index;
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;
}
i6a7yi2auphlw93q418zxtkaiva6oar
Wikipedysta:Persino/common.js
2
58552
437194
437190
2022-08-08T12:26: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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))){
let href=element_g.getAttribute('href');
if((!/javascript:Common\.ScrollBarOverflow\(\)/g.test(href))
&&(!/javascript:Common\.StickyXY\(\)/g.test(href))
&&(!/javascript:Common\.OptimalXY\(\)/g.test(href))
){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:Common.ScrollBarOverflow();javascript:Common.StickyXY();javascript:Common.OptimalXY()')
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
lj1qernji12e40zhl17snm9c1tu4gjl
437195
437194
2022-08-08T12:27: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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((!/javascript:Common\.ScrollBarOverflow\(\)/g.test(href))
&&(!/javascript:Common\.StickyXY\(\)/g.test(href))
&&(!/javascript:Common\.OptimalXY\(\)/g.test(href))
){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:Common.ScrollBarOverflow();javascript:Common.StickyXY();javascript:Common.OptimalXY()')
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
a8htrt9yfrg36jf6deory8p15t5dekj
437196
437195
2022-08-08T12:36:34Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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');
function addJS(re,kod){
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';'+kod);
}
}
addJS(/javascript:Common\.ScrollBarOverflow\(\)/g,'javascript:Common.ScrollBarOverflow()');
addJS(/javascript:Common\.StickyXY\(\)/g,'javascript:Common.StickyXY()');
addJS(/javascript:Common\.OptimalXY\(\)/g,'javascript:Common.OptimalXY()');
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
ok0nxzzkilw8eele0q3ectqu384dl2e
437197
437196
2022-08-08T13:04: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(re,kod){
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';'+kod);
}
}
addJS(/javascript:Common\.ScrollBarOverflow\(\)/g,'javascript:Common.ScrollBarOverflow()');
addJS(/javascript:Common\.StickyXY\(\)/g,'javascript:Common.StickyXY()');
addJS(/javascript:Common\.OptimalXY\(\)/g,'javascript:Common.OptimalXY()');
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
01ufdehokm720dxuw418065iw7n1hhx
437198
437197
2022-08-08T13:11:16Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\(\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('Common.OptimalXY');
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
g2qyhylvqkvmkojvujdes652sau762v
437199
437198
2022-08-08T14: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\(\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
//addJS('Common.OptimalXY');
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
63wqn69nki3krrjgd9bqmrxv18eh4pe
437200
437199
2022-08-08T14:23:58Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\(\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('Common.OptimalXY');
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
g2qyhylvqkvmkojvujdes652sau762v
437201
437200
2022-08-08T14:26:30Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('Common.OptimalXY');
}
}
}
});
}).catch(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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
/*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);
iiqqca6wxew5cbbmctur6kuklnfk9sh
437202
437201
2022-08-08T14:42: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
});
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
});
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
});
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
i4pnervjv8zcmefh0v2l5b5s3ftwe7b
437203
437202
2022-08-08T15:16:30Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,250);
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,250);
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,250);
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
fad7bm2jnewfxivficb1dzgiszjg6cq
437204
437203
2022-08-08T15:22:37Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
a38v7p5oiuqleqfbd1fmpu61ta51kst
437205
437204
2022-08-08T15:36: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
hcigynd5liw1p3kesiakuatdmfrs8ni
437206
437205
2022-08-08T16:10: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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.hover(fun_zdarz,fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
e8w9zz2w3opn3kbtymj4schimzkhacg
437207
437206
2022-08-08T16:17:12Z
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.
*/
// Frame Busting
if (top != self) top.location.href = self.location.href;
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
hcigynd5liw1p3kesiakuatdmfrs8ni
437209
437207
2022-08-08T16:46: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.
*/
// Frame Busting
$(function(){
if (top != self) top.location.href = self.location.href;
});
/*
* 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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
qwv1faco1j1kgg4irbygy1kdwicn10a
437210
437209
2022-08-08T17:29: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
*/
/*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);
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
ot6gjnffyew76wu8380axq4c6zt3hmd
437211
437210
2022-08-08T17:46:34Z
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
*/
/*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);
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,1000);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,1000);
});
$(window).on('resize', function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,1000);
});
});
/*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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,1000);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', function(){
Common.StickyXY();
setTimeout(Common.StickyXY,1000);
});
$(window).on('resize', function(){
Common.StickyXY();
setTimeout(Common.StickyXY,1000);
});
});
/*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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,1000);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll", function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,1000);
});
$(window).on("resize", function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,1000);
});
});
/*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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
24ebx3d2f7w80vd7u9yt99feekchb48
437212
437211
2022-08-08T17:48:37Z
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
*/
/*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);
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(window).on('resize', function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
});
/*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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(window).on('resize', function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
});
/*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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll", function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(window).on("resize", function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
});
/*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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
53kmycooi2ebjrkjzhmsw9jkq66m1gr
437213
437212
2022-08-08T17:50: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
*/
/*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);
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
var fun_css=$(css);
fun_css.on('mouseenter',fun_zdarz);
fun_css.on('mouseleave',fun_zdarz);
fun_css.on('transitionstart',fun_zdarz);
fun_css.on('webkittransitionstart',fun_zdarz);
fun_css.on('moztransitionstart',fun_zdarz);
fun_css.on('otransitionstart',fun_zdarz);
fun_css.on('transitionrun',fun_zdarz);
fun_css.on('webkittransitionrun',fun_zdarz);
fun_css.on('moztransitionrun',fun_zdarz);
fun_css.on('otransitionrun',fun_zdarz);
fun_css.on('transitioncancel',fun_zdarz);
fun_css.on('webkittransitioncancel',fun_zdarz);
fun_css.on('moztransitioncancel',fun_zdarz);
fun_css.on('otransitioncancel',fun_zdarz);
fun_css.on('transitionend',fun_zdarz);
fun_css.on('webkittransitionend',fun_zdarz);
fun_css.on('moztransitionend',fun_zdarz);
fun_css.on('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
ot6gjnffyew76wu8380axq4c6zt3hmd
437214
437213
2022-08-08T18:06:16Z
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
*/
/*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);
/*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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.ScrollBarOverflow);
$(window).on('resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on('scroll', Common.StickyXY);
$(window).on('resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
$(window).on("scroll",Common.OptimalXY);
$(window).on("resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Znajdowanie węzłów o jakimś css*/
var fun_css=$(css);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
function Zdarzenia(zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń*/
fun_css.off(zdarzenie);
/*Rejestrowanie zdarzeń*/
fun_css.on(zdarzenie, funkcja_zdarzen);
}
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Zdarzenia('mouseenter',fun_zdarz);
Zdarzenia('mouseleave',fun_zdarz);
Zdarzenia('transitionstart',fun_zdarz);
Zdarzenia('webkittransitionstart',fun_zdarz);
Zdarzenia('moztransitionstart',fun_zdarz);
Zdarzenia('otransitionstart',fun_zdarz);
Zdarzenia('transitionrun',fun_zdarz);
Zdarzenia('webkittransitionrun',fun_zdarz);
Zdarzenia('moztransitionrun',fun_zdarz);
Zdarzenia('otransitionrun',fun_zdarz);
Zdarzenia('transitioncancel',fun_zdarz);
Zdarzenia('webkittransitioncancel',fun_zdarz);
Zdarzenia('moztransitioncancel',fun_zdarz);
Zdarzenia('otransitioncancel',fun_zdarz);
Zdarzenia('transitionend',fun_zdarz);
Zdarzenia('webkittransitionend',fun_zdarz);
Zdarzenia('moztransitionend',fun_zdarz);
Zdarzenia('otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
hzdzxs8nsxo29gr6ec7n1r50liuiqhh
437215
437214
2022-08-08T18:36:40Z
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
*/
/*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.Zdarzenia=function(css,zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń*/
$(css).off(zdarzenie,funkcja_zdarzen);
/*Rejestrowanie zdarzeń*/
$(css).on(zdarzenie, 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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', Common.ScrollBarOverflow);
Common.Zdarzenia(window,'resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', Common.StickyXY);
Common.Zdarzenia(window,'resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,"scroll",Common.OptimalXY);
Common.Zdarzenia(window,"resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.Zdarzenia(css,'mouseenter',fun_zdarz);
Common.Zdarzenia(css,'mouseleave',fun_zdarz);
Common.Zdarzenia(css,'transitionstart',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionstart',fun_zdarz);
Common.Zdarzenia(css,'moztransitionstart',fun_zdarz);
Common.Zdarzenia(css,'otransitionstart',fun_zdarz);
Common.Zdarzenia(css,'transitionrun',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionrun',fun_zdarz);
Common.Zdarzenia(css,'moztransitionrun',fun_zdarz);
Common.Zdarzenia(css,'otransitionrun',fun_zdarz);
Common.Zdarzenia(css,'transitioncancel',fun_zdarz);
Common.Zdarzenia(css,'webkittransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'moztransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'otransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'transitionend',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionend',fun_zdarz);
Common.Zdarzenia(css,'moztransitionend',fun_zdarz);
Common.Zdarzenia(css,'otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
31puwefx4omqvztg23ldw0hidlbf8g3
437216
437215
2022-08-08T18:44: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
*/
/*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.Zdarzenia=function(css,zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
$(css).off(zdarzenie,funkcja_zdarzen);
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, 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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', Common.ScrollBarOverflow);
Common.Zdarzenia(window,'resize', Common.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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', Common.StickyXY);
Common.Zdarzenia(window,'resize', Common.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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,"scroll",Common.OptimalXY);
Common.Zdarzenia(window,"resize",Common.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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.Zdarzenia(css,'mouseenter',fun_zdarz);
Common.Zdarzenia(css,'mouseleave',fun_zdarz);
Common.Zdarzenia(css,'transitionstart',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionstart',fun_zdarz);
Common.Zdarzenia(css,'moztransitionstart',fun_zdarz);
Common.Zdarzenia(css,'otransitionstart',fun_zdarz);
Common.Zdarzenia(css,'transitionrun',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionrun',fun_zdarz);
Common.Zdarzenia(css,'moztransitionrun',fun_zdarz);
Common.Zdarzenia(css,'otransitionrun',fun_zdarz);
Common.Zdarzenia(css,'transitioncancel',fun_zdarz);
Common.Zdarzenia(css,'webkittransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'moztransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'otransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'transitionend',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionend',fun_zdarz);
Common.Zdarzenia(css,'moztransitionend',fun_zdarz);
Common.Zdarzenia(css,'otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY);
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y',Common.OptimalXY);
});
/*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);
ij99g6bxzvuzb3l63iqiywxj4wdpdyq
437217
437216
2022-08-08T18:55: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
*/
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var common_zmienne=this;
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.Zdarzenia=function(css,zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
$(css).off(zdarzenie,common_zmienne['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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'ScrollBarOverflow');
Common.Zdarzenia(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'StickyXY');
Common.Zdarzenia(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,"scroll",'OptimalXY');
Common.Zdarzenia(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.Zdarzenia(css,'mouseenter',fun_zdarz);
Common.Zdarzenia(css,'mouseleave',fun_zdarz);
Common.Zdarzenia(css,'transitionstart',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionstart',fun_zdarz);
Common.Zdarzenia(css,'moztransitionstart',fun_zdarz);
Common.Zdarzenia(css,'otransitionstart',fun_zdarz);
Common.Zdarzenia(css,'transitionrun',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionrun',fun_zdarz);
Common.Zdarzenia(css,'moztransitionrun',fun_zdarz);
Common.Zdarzenia(css,'otransitionrun',fun_zdarz);
Common.Zdarzenia(css,'transitioncancel',fun_zdarz);
Common.Zdarzenia(css,'webkittransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'moztransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'otransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'transitionend',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionend',fun_zdarz);
Common.Zdarzenia(css,'moztransitionend',fun_zdarz);
Common.Zdarzenia(css,'otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY');
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY');
});
/*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);
jtage6mb5s3k87x9bissc7masn3g66y
437218
437217
2022-08-08T19:06: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=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.Zdarzenia=function(css,zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne){
$(css).off(zdarzenie,common_zmienne[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'ScrollBarOverflow');
Common.Zdarzenia(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'StickyXY');
Common.Zdarzenia(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,"scroll",'OptimalXY');
Common.Zdarzenia(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.Zdarzenia(css,'mouseenter',fun_zdarz);
Common.Zdarzenia(css,'mouseleave',fun_zdarz);
Common.Zdarzenia(css,'transitionstart',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionstart',fun_zdarz);
Common.Zdarzenia(css,'moztransitionstart',fun_zdarz);
Common.Zdarzenia(css,'otransitionstart',fun_zdarz);
Common.Zdarzenia(css,'transitionrun',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionrun',fun_zdarz);
Common.Zdarzenia(css,'moztransitionrun',fun_zdarz);
Common.Zdarzenia(css,'otransitionrun',fun_zdarz);
Common.Zdarzenia(css,'transitioncancel',fun_zdarz);
Common.Zdarzenia(css,'webkittransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'moztransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'otransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'transitionend',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionend',fun_zdarz);
Common.Zdarzenia(css,'moztransitionend',fun_zdarz);
Common.Zdarzenia(css,'otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY');
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY');
});
/*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);
s3qlhshgm3et9srgormdb95786lny9g
437219
437218
2022-08-08T19:08: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=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.Zdarzenia=function(css,zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne){
//$(css).off(zdarzenie,common_zmienne[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'ScrollBarOverflow');
Common.Zdarzenia(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'StickyXY');
Common.Zdarzenia(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,"scroll",'OptimalXY');
Common.Zdarzenia(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.Zdarzenia(css,'mouseenter',fun_zdarz);
Common.Zdarzenia(css,'mouseleave',fun_zdarz);
Common.Zdarzenia(css,'transitionstart',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionstart',fun_zdarz);
Common.Zdarzenia(css,'moztransitionstart',fun_zdarz);
Common.Zdarzenia(css,'otransitionstart',fun_zdarz);
Common.Zdarzenia(css,'transitionrun',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionrun',fun_zdarz);
Common.Zdarzenia(css,'moztransitionrun',fun_zdarz);
Common.Zdarzenia(css,'otransitionrun',fun_zdarz);
Common.Zdarzenia(css,'transitioncancel',fun_zdarz);
Common.Zdarzenia(css,'webkittransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'moztransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'otransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'transitionend',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionend',fun_zdarz);
Common.Zdarzenia(css,'moztransitionend',fun_zdarz);
Common.Zdarzenia(css,'otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY');
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY');
});
/*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);
220hm4325e41oxuu8p2x4ecl219md4v
437220
437219
2022-08-08T19:08:40Z
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=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.Zdarzenia=function(css,zdarzenie,funkcja_zdarzen){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne){
$(css).off(zdarzenie,common_zmienne[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'ScrollBarOverflow');
Common.Zdarzenia(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,'scroll', 'StickyXY');
Common.Zdarzenia(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(function(){
/*Zdarzenia*/
Common.Zdarzenia(window,"scroll",'OptimalXY');
Common.Zdarzenia(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.Zdarzenia(css,'mouseenter',fun_zdarz);
Common.Zdarzenia(css,'mouseleave',fun_zdarz);
Common.Zdarzenia(css,'transitionstart',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionstart',fun_zdarz);
Common.Zdarzenia(css,'moztransitionstart',fun_zdarz);
Common.Zdarzenia(css,'otransitionstart',fun_zdarz);
Common.Zdarzenia(css,'transitionrun',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionrun',fun_zdarz);
Common.Zdarzenia(css,'moztransitionrun',fun_zdarz);
Common.Zdarzenia(css,'otransitionrun',fun_zdarz);
Common.Zdarzenia(css,'transitioncancel',fun_zdarz);
Common.Zdarzenia(css,'webkittransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'moztransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'otransitioncancel',fun_zdarz);
Common.Zdarzenia(css,'transitionend',fun_zdarz);
Common.Zdarzenia(css,'webkittransitionend',fun_zdarz);
Common.Zdarzenia(css,'moztransitionend',fun_zdarz);
Common.Zdarzenia(css,'otransitionend',fun_zdarz);
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY');
Common.ZdarzeniaDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY');
});
/*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);
s3qlhshgm3et9srgormdb95786lny9g
437221
437220
2022-08-08T19:12:48Z
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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
cvqywmdpm3xp8x3x4dz5e2tds2va5zs
437222
437221
2022-08-08T19:21: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
10d6yiubzjp9nl7hi4xs9u99fn8xll9
437223
437222
2022-08-08T20:06: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
// if(!re.test(href)){
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
// }
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
93jzgg8plcb4cqijn00rf1h8a2kkttv
437224
437223
2022-08-08T20:09:40Z
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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 addJS(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
// if(!re.test(href)){
console.log(href,"TYTAN")
element_g.setAttribute('href',href.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
// }
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
n60x0bkkiz3y7yjq35odkpcahev3hjs
437225
437224
2022-08-08T20:12: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 addJS(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+"()");
//}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
tb4d7ut9d4mxjad1l98whwewicgc3rb
437226
437225
2022-08-08T20:13: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 addJS(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+"()");
}
}
addJS('Common.ScrollBarOverflow');
addJS('Common.StickyXY');
addJS('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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
gs7xcmw3ft1nifot8se4s2k9n95vz67
437227
437226
2022-08-08T20:16: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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');
console.log(href_nowe);
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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
6yk7tr256q1mrr42uxz22nb2lpo37ir
437228
437227
2022-08-08T20:17: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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');
console.log(href_nowe,"TYTAN");
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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
lf0eklad9wbsqepavscru91e50iljt6
437229
437228
2022-08-08T20:19:13Z
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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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+"()");
}
console.log(href_nowe,"TYTAN");
}
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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
32uyhfa9d76tce4uza6jvgzwsuadd93
437230
437229
2022-08-08T20:21:09Z
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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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+"()");
}
console.log(href_nowe,"TYTAN",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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
jzdff158jruru0gs26ml628tm1jvxes
437231
437230
2022-08-08T20:22: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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+"()");
}
console.log(href_nowe,"TYTAN",fun,re.test(href_nowe));
}
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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
msruu5etew3ku6d2r0dw0qsfw968mvk
437232
437231
2022-08-08T20:24: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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+"()");
}
console.log(href_nowe,"TYTAN",fun,(!re.test(href_nowe)));
}
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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
jiup1cu6jcoj70o9qclzjsz8whupvii
437233
437232
2022-08-08T20:30:12Z
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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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+"()");
}
}
console.log(element_g.getAttribute('href'),"TYTAN1");
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
console.log(element_g.getAttribute('href'),"TYTAN2");
}
}
}
});
}).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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
r7fjlb52c2z5xtt939rlyxy6mwipnz3
437234
437233
2022-08-08T20:32: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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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+"()");
}
console.log(element_g.getAttribute('href'),"TYTAN1");
}
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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
1xdwtgijfw8e3dwhk2ph7q9hjyc7qe7
437235
437234
2022-08-08T20:33:00Z
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){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
o2owvr0u6smwxi76d6kboweqnp59850
437236
437235
2022-08-08T20:37: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(){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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 OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
tptchfzqntgblnkvhxnx53ps8dyepyy
437237
437236
2022-08-08T21:30:34Z
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(){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if(common_zmienne_stare){
$(css).off(zdarzenie,common_zmienne_stare[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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
qvj8irquj3wye8kwnhew8iw2xejpdbu
437239
437237
2022-08-09T04:39:29Z
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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
cc5k6kp4wxzy7wv18w1p0d3ryyyv0ok
437281
437239
2022-08-09T10:49:11Z
Persino
2851
javascript
text/javascript
console.log(mw.config.get('wgCanonicalSpecialPageName'),mw.config.get('wgArticleId'),mw.config.get('wgAction'),"TYTAN");
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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
a9x4p6i72lcysc7zdngdlo30aq4r6i0
437282
437281
2022-08-09T10:52: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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
cc5k6kp4wxzy7wv18w1p0d3ryyyv0ok
437284
437282
2022-08-09T11:44: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){
$(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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
//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_right);
});
//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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
32coucvykq3v5d7ea1r3yx0obe3ap1o
437285
437284
2022-08-09T11:54: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){
$(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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
//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_right);
});
//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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
mfaj0ez8npzpuy1dbcqqkt33piqaaqk
437286
437285
2022-08-09T11:55:29Z
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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
//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_right);
});
//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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
ne3bno9kx0uv3d6vjlmej7b1x1mi61j
437287
437286
2022-08-09T11:56:34Z
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*/
});
}
$(function(){
Common.ScrollBarOverflow();
setTimeout(Common.ScrollBarOverflow,500);
});
$(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').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]);
});
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";
});
}
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]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
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_right);
});
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_right);
});
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);
}
});
}
$(function(){
Common.StickyXY();
setTimeout(Common.StickyXY,500);
});
$(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");
}
});
}
$(function(){
Common.OptimalXY();
setTimeout(Common.OptimalXY,500);
});
$(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,'mouseenter',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz);
Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz);
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');
});
/*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);
5goxthxvehxkvmt60gweupwfv2fh3ci
Szablon:ABC
10
58685
437256
2022-08-09T07:03:38Z
Persino
2851
Przekierowanie do [[Szablon:Skrót szablonu]]
wikitext
text/x-wiki
#REDIRECT [[Szablon:Skrót szablonu]]
{{Kategoria|Przekierowania wewnętrzne skrótów szablonów}}
h0b6zl788hn28cs7mjevxi34ihse6lx