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:Bar 4 413 436596 436274 2022-08-03T02:32:16Z Rschen7754 15975 /* Bot policy */ nowa sekcja wikitext text/x-wiki {{Skrót|'''[[WB:BAR]]'''}}{{/Nagłówek}} <!-- =================== DYSKUSJE ========================= --> <!-- ============= Prosimy pisać poniżej ================== --> == Kody źródłowe z Wikiźródeł == {{ping|Persino}}, {{ping|Kompowiec2}}, {{ping|Pavroo}}: Na Wikiźródłach jest kolekcja przykładowych [[s:Kategoria:Kody źródłowe|kodów źródłowych]], w większości pozostałości z wczesnej fazy projektu, kiedy "uźródłowianie" tekstów nie było ściśle przestrzegane. Zasadniczo jest to twórczość własna użytkowników i jako taka nie pasuje do obecnej polityki publikacji Wikiźródeł. Tych tekstów nie da się "uźródłowić" i wstępnie zastanawiamy się nad ich usunięciem z projektu. Czy Waszym zdaniem jakieś z tych programów mogłyby znaleźć miejsce w Wikibooks? Czy można je przenieść w całości jako jeden podręcznik, albo czy można je dołączyć jako rozdziały lub aneksy do istniejących podręczników, np. [[Programowanie]]? Czy moglibyście wskazać mi osobę, która w tym projekcie ma uprawnienia do importu stron? Z góry dziękuję za wszelkie wskazówki, sugestie, pomysły w tej kwestii. Pozdrawiam, [[Wikipedysta:Ashaio|Ashaio]] ([[Dyskusja wikipedysty:Ashaio|dyskusja]]) 17:54, 17 lut 2016 (CET) * Chyba jedynym adminem jaki tu jest to tylko parvoo, zapytaj się jego o import [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 21:50, 19 lut 2016 (CET) * {{ping|Pavroo}} czy przyjmiecie strony z kodami programistycznymi jako zaczątek książki o programowaniu? Trochę nam szkoda je usuwać bez śladu... ale na Wikiźródłach zostać nie mogą... Mogę je przekleć - usunąć u nas i wkleić u Was, ale to nie fair w stosunku do twórców tych stron, zginąłby ich wkład... [[Wikipedysta:Wieralee|Wieralee]] ([[Dyskusja wikipedysty:Wieralee|dyskusja]]) 22:52, 7 kwi 2016 (CEST) ** Pomysł jest dobry, lecz nie do mnie należy decyzja. Jeśli spełnia zasady Wikibooks, to czemu nie? --[[Wikipedysta:Pavroo|Pavroo]] ([[Dyskusja wikipedysty:Pavroo|dyskusja]]) 21:29, 8 kwi 2016 (CEST) ** To niby od kogo to zależy? Masz tu jakiegoś innego aktywnego admina? Karolusa dawno nie widziałem... [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 10:14, 16 maj 2016 (CEST) * {{ping|Persino}}, {{ping|Kompowiec2}}, {{ping|Pavroo}}: zrobiłam ten import samodzielnie, usystematyzowałam na razie te strony ([[:Kategoria:Kody źródłowe]] na swój sposób. Nie do końca jednak znam specyfikę Wikibooks. Zdaję sobie sprawę z tego, że jak bardzo niedoskonałe jest to, co zrobiłam :( Bardzo Was proszę o wprowadzenie wszelakich poprawek, jak również o wskazówki, co mogę/powinnam zrobić samodzielnie. Będę Wam wdzięczna za wszelką pomoc. Z góry dziękuję i przepraszam za bałagan. [[Wikipedysta:Wieralee|Wieralee]] ([[Dyskusja wikipedysty:Wieralee|dyskusja]]) 02:11, 19 maj 2016 (CEST) * Nie przejmuj się. Jak mnie nie było to [https://pl.wikibooks.org/w/index.php?title=Wikibooks:Ksi%C4%99gozbi%C3%B3r&oldid=194670 był tu większy syf] niż kiedykolwiek teraz. Po za tym IMO ze względu na niemalże brak aktywnych użytkowników pewne zasady są elastyczne (tak jak np. OR) i sami się w specyfice zasad nie do końca łapiemy. Przejrzałem, generalnie jest w porządku, choć nie wiem czy w tym przypadku usunąć kategoryzację do stron po slashu (tak robią na ang. wikibooks i mają tam przez to nadmiar kategorii bo każda książka ma swoją własną kategorię - jakby to była jakaś Wikipedia). Dodałem książkę do księgozbioru. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 08:25, 19 maj 2016 (CEST) * {{ping|Kompowiec2}} wielkie dzięki! Dobrze, że tu jesteś ;-) [[Wikipedysta:Wieralee|Wieralee]] ([[Dyskusja wikipedysty:Wieralee|dyskusja]]) 10:16, 19 maj 2016 (CEST) == Audiobooki == Martwo coś w tym barze, no ale cóż - ostatnio interesuje się nieco audiobookami i ogólnie podcastingiem. Jak wygląda sytuacja licencyjna z wykorzystaniem głosów syntezatorów mowy jak IVONA? Czy wgranie takich materiałów .ogg na WB jest możliwe, czy potrzebna byłaby w tym celu współpraca z tą firmą? Espeak chociaż wolny, to myślę że jest jednak nieznośny dla ucha na dłuższą metę. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 22:00, 19 lut 2016 (CET) * bo to angielski bar :D może by się przydało to przenieść już do archiwum bo niektóre informacje są nieaktualne co do twojego pytania to drażliwa sytuacja bo nawet jeśli są to wole programy to trzeba mieć jakieś pozwolenie od tych firm --[[Wikipedysta:Janusz88pl|Janusz88pl]] ([[Dyskusja wikipedysty:Janusz88pl|dyskusja]]) 23:25, 19 lut 2016 (CET) :* FAQ Ivony raczej wskazuje, że trzeba mieć komercyjną licencję, żeby rozpowszechniać nagrania: [http://b2b.support.ivona.com/articles/en_US/FAQ/file-distribution/?l=en_US&fs=RelatedArticle 1] [http://b2b.support.ivona.com/articles/en_US/FAQ/difference-Development-Commercial/?l=en_US&fs=RelatedArticle 2]. Ciekawe, że nie uwzględniają możliwości, że ktoś mógłyby chcieć rozpowszechniać teksty niekomercyjnie, nie tylko wewnątrz własnej instytucji. Na Commons znalazłam [https://commons.wikimedia.org/w/index.php?title=Special%3ASearch&profile=default&search=ivona+ogg&fulltext=Search 2 nagrania] wykonane Ivoną i [https://commons.wikimedia.org/w/index.php?title=Special%3ASearch&profile=default&search=espeak+ogg&fulltext=Search 6 nagrań] eSpeak. Są to pojedyncze słowa i krótkie wyrażenia, nie audiobooki ;-) :: Nie chcę nic narzucać, ale może spróbujesz nagrać audiobook samodzielnie? Na początek coś krótkiego, nawet z Wikijunior. Wśród Wikipedystów nagraniami zajmuje się głównie [[User:Borys Kozielski|Borys Kozielski]], twórca [https://pl.wikimedia.org/wiki/Media_spo%C5%82eczno%C5%9Bciowe/Wikiradio Wikiradia]. Napisał w Wikibooks poradnik [[Podkasting. porady dla początkujących]]. Przykładowe [https://commons.wikimedia.org/w/index.php?title=Special%3ASearch&profile=default&search=kozielski+ogg&fulltext=Search nagrania Borysa na Commons]. BTW: w Wikiźródłach wrzuciliśmy ostatnio audiobook [[s:Rękopis_znaleziony_w_Saragossie/Audiobook|Rękopis znaleziony w Saragossie]] z projektu Librivox, może chcesz posłuchać? [[Wikipedysta:Ashaio|Ashaio]] ([[Dyskusja wikipedysty:Ashaio|dyskusja]]) 10:31, 20 lut 2016 (CET) * ja nie mam żadnego profesjonalnego sprzętu, no chyba że mikrofonem z telefonu lub głośniczka bluetooth (co jednak nie udało mi się odpalić w moim modelu JBL GO). Może starczy... Posłuchałem fragment z wikiźródeł, nie spodziewałem się takiej dobrej jakości ;) dorównuje tym amerykańskim, przy tym polskie podcasty to jakaś lipa a myślałem nad TTS bo po prostu jest mniej roboty - spędzenie kilku godzin na czytaniu na głos książki jest... czasochłonne. Po za tym, dobrze mieć książkę w .txt lub epub, w audio raczej się nie spotkałem z ew. kontrolą wersji... (może będzie trzeba kiedyś stworzyć hehe, dobre byłoby to do dialogów) :P. Wiele osób mi mówiło że dobrze czytam, w dodatku wyłącznie teksty pisanie właśnie, czemu by nie... nie wiem. Ale najpierw trzeba zrobić minitool do robienia kolekcji audiobooków (gdzieś mi mignęło w pamięci, że załadowane kolekcje domyślnie usuwają wszelkie audio ale nie mogłem znaleźć na ten moment) ''może by się przydało to przenieść już do archiwum bo niektóre informacje są nieaktualne'' - mnie się wydaje że można by to nawet całkiem usunąć (po co nam tu trzymać jakiś angielski spam?), ale nie wiem czy nie byłoby przypału o chronologię albo co. W każdym razie, już przeniosłem [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 10:46, 21 lut 2016 (CET) == VisualEditor News #1—2016 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[:m:VisualEditor/Newsletter/2016/February|Read this in another language]] • [[:m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="margin:0.5em;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}border:1px solid #AAA;padding:0.5em;"> [[File:VisualEditor-logo.svg|200x70px|center|alt=The visual editor]] '''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> Among experienced editors, the visual editor's table editing is one of the most popular features. [[File:VisualEditor table menu move column.png|alt=Screenshot showing a pop-up menu for column operations in a table|centre|frameless|230x230px]] If you select the top of a column or the end of a row, you can quickly insert and remove columns and rows. Now, you can also rearrange columns and rows. Click "Move before" or "Move after" to swap the column or row with its neighbor. You can read and help translate [[:mw:VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor.</div></div> Since the last newsletter, the [[:mw:VisualEditor/Portal|VisualEditor Team]] has fixed many bugs. Their workboard is available [[phab:project/board/483/|in Phabricator]]. Their [[:mw:VisualEditor/Current_priorities|current priorities]] are improving support for Japanese, Korean, Arabic, Indic, and Han scripts, and improving the single edit tab interface. === Recent changes === You can '''switch from the wikitext editor to the visual editor''' after you start editing. This function is available to nearly all editors at most wikis except the Wiktionaries and Wikisources. Many local '''feedback pages''' for the visual editor have been redirected to [[:mw:VisualEditor/Feedback]]. You can now re-arrange columns and rows in '''tables''', as well as copying a row, column or any other selection of cells and pasting it in a new location. The '''formula editor''' has two options: you can choose "Quick edit" to see and change only the LaTeX code, or "Edit" to use the full tool. The full tool offers immediate preview and an extensive list of symbols. === Future changes === The '''[[:mw:VisualEditor/Single edit tab|single edit tab]]''' project will combine the "{{int:vector-view-edit}}" and "{{int:visualeditor-ca-editsource}}" tabs into a single "{{int:vector-view-edit}}" tab. This is similar to the system already used on the mobile website. ([[phab:T102398|T102398]]) Initially, the "{{int:vector-view-edit}}" tab will open whichever editing environment you used last time. Your last editing choice will be stored as an account preference for logged-in editors, and as a cookie for logged-out users. Logged-in editors will have these options in the {{int:prefs-editing}} tab of [[Special:Preferences]]: * {{int:visualeditor-preference-tabs-remember-last}}, * {{int:visualeditor-preference-tabs-prefer-ve}}, * {{int:visualeditor-preference-tabs-prefer-wt}}, and * {{int:visualeditor-preference-tabs-multi-tab}}. (This is the state for people using the visual editor now.) The visual editor uses the same search engine as [[Special:Search]] to find links and files. This search will get better at detecting typos and spelling mistakes soon. These improvements to search will appear in the visual editor as well. The visual editor will be offered to all editors at most [[:mw:VisualEditor/Rollouts|"Phase 6" Wikipedias]] during the next few months. This will affect the following languages, amongst others: [[:w:ja: |'''Japanese''']], [[:w:ko:|'''Korean''']], [[:w:ur: |'''Urdu''']], [[:w:fa: |'''Persian''']], [[:w:ar: |'''Arabic''']], [[:w:ta: |'''Tamil''']], [[:w:mr: |'''Marathi''']], [[:w:ml: |'''Malayalam''']], [[:w:hi: |'''Hindi''']], [[:w:bn: |'''Bengali''']], [[:w:as: |'''Assamese''']], [[:w:th: |'''Thai''']], [[:w:arc: |'''Aramaic''']]. === Let's work together === * Please try out the newest version of the '''[[:mw:VisualEditor/Single edit tab|single edit tab]]''' on [[test2wiki:Special:Random|test2.wikipedia.org]]. You may need to restore the default preferences (at the bottom of [[test2wiki:Special:Preferences]]) to see the initial prompt for options. Were you able to find a preference setting that will work for your own editing? Did you see [[:c:File:VisualEditor single edit tab preference dialog.png|the large preferences dialog box]] when you started editing an article there? * <mark>Can you read and type in Korean, Arabic, Japanese, Indic, or Han scripts?</mark> Does typing in these languages feels natural in the visual editor? Language engineer [[:mw:User:DChan (WMF)|David Chan]] needs to know. Please see the instructions at [[:mw:VisualEditor/IME Testing#What to test]] if you can help. Please post your comments and the language(s) that you tested at [[:mw:Topic:St8y4ni42d0vr9cv|the feedback thread on mediawiki.org]]. * Learn how to improve the "automagical" [[:mw:citoid|citoid]] referencing system in the visual editor, by creating [[:en:Zotero|Zotero]] translators for popular sources in your language! Join the [https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084840.html Tech Talk about "Automated citations in Wikipedia: Citoid and the technology behind it"] with Sebastian Karcher on 29 February 2016. If you aren't reading this in your favorite language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly, so that we can notify you when the next issue is ready. {{int:Feedback-thanks-title}} </div> [[:mw:User:Elitre (WMF)|Elitre (WMF)]], 20:21, 26 lut 2016 (CET) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=15385167 --> == WAŻNE: Kontrola aktywności administratorów == Cześć. W 2013 w drodze [[:m:Requests for comment/Activity levels of advanced administrative rights holders|światowego konsensusu społeczności]] przyjęto politykę odbierania „zaawansowanych uprawnień” (administratora, biurokraty itp.). Na jej podstawie [[:m:stewards|stewardzi]] weryfikują aktywność administratorów we wszystkich projektach Wikimedia Foundation, które nie mają określonych zasad aktywności. Zgodnie z naszym stanem wiedzy, ta wiki nie ma formalnych zasad odbierania „zaawansowanych uprawnień” dla nieaktywnych kont. To oznacza, że stewardzi zajmą się tym, działając na podstawie [[:m:Admin activity review|weryfikacji aktywności administratorów]]. Ustaliliśmy, że niżej wymienieni użytkownicy spełniają kryteria nieaktywności (brak edycji i akcji w czasie dłuższym niż dwa lata): #[[User:Kj|Kj]] (administrator) Ci użytkownicy wkrótce otrzymają wiadomość, w której zostaną poproszeni o rozpoczęcie dyskusji w społeczności, jeśli chcą zachować wszystkie lub cześć uprawnień. W wypadku braku odpowiedzi stewardzi usuną uprawnienia z ich kont. Jednak jeśli Wy jako społeczność chcecie stworzyć własne zasady kontroli aktywności administratorów, zastępujące globalne, podjąć inną decyzję w sprawie nieaktywnych członków administracji lub macie już wdrożoną politykę, którą przeoczyliśmy, prosimy, poinformujcie [[:m:Stewards' noticeboard|stewardów na Meta-Wiki]], żeby nie weryfikować aktywności na Waszej wiki. Dziękujemy, [[User:Openbk|Openbk]] ([[User talk:Openbk|dyskusja]] / <small>[[:m:User talk:Openbk|meta-wiki]]</small>) 01:00, 13 mar 2016 (CET) == Open Call for Individual Engagement Grants == [[File:IEG barnstar 2.png|right|100px]] {{int:Please-translate}}: Greetings! The '''[[m:Special:MyLanguage/IEG|Individual Engagement Grants (IEG) program]] is accepting proposals''' until April 12th to fund new tools, research, outreach efforts, and other experiments that enhance the work of Wikimedia volunteers. Whether you need a small or large amount of funds (up to $30,000 USD), IEGs can support you and your team’s project development time in addition to project expenses such as materials, travel, and rental space. *[[m:Special:MyLanguage/Grants:IEG#ieg-apply|'''Submit''' a grant request]] or [[m:Special:MyLanguage/Grants:IdeaLab|'''draft''' your proposal]] in IdeaLab *[[m:Special:MyLanguage/Grants:IdeaLab/Events#Upcoming_events|'''Get help''' with your proposal]] in an upcoming Hangout session *[[m:Special:MyLanguage/Grants:IEG#ieg-engaging|'''Learn from examples''' of completed Individual Engagement Grants]] With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] 17:47, 31 mar 2016 (CEST) <!-- Wiadomość wysłana przez User:I JethroBT (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=15490024 --> == Nowy podręcznik - nowy adres == Udało się nam stworzyć podręcznik dla użytkowników programu komputerowego Otwarty System Archiwizacji na moim koncie w wikibooks: https://pl.wikibooks.org/wiki/Wikipedysta:Agakud/Otwarty_System_Archiwizacji_OSA:_Podr%C4%99cznik_u%C5%BCytkownika Jutro jest premiera tego programu i chciałam serdecznie prosić o przeniesienie tego podręcznika w całości do wikibooks na adres docelowy podręcznika. * Zrobione --[[Wikipedysta:Pavroo|Pavroo]] ([[Dyskusja wikipedysty:Pavroo|dyskusja]]) 16:25, 11 kwi 2016 (CEST) * Skoro jest na GPL to wrzućcie ten program na githuba chociaż... :) [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 10:09, 16 maj 2016 (CEST) == Cookbook week == Hello, I want to tell you that I've made a proposal for a Cookbook event [[meta:Wikibooks/Cookbooks week|on this Meta page]]. I would be happy to see your comment ! Regards [[Wikipedysta:Archi38|Archi38]] ([[Dyskusja wikipedysty:Archi38|dyskusja]]) 20:22, 15 maj 2016 (CEST) == JavaScript == <div class="mw-content-ltr">Hi. I can see that this project has old JavaScript that needs to be updated. I would happily make the required updates myself, but I would have to – at least temporarily – become an admin here to do that (because the relevant pages are in the MediaWiki namespace). I have already made these updates on a number of other projects, so it would be very easy for me to do this. If no one does anything, some JavaScript-related tools will break later this year. If you want me to make these updates, you can grant me admin rights and I will make the updates as soon as I can. [[Wikipedysta:Nirmos|Nirmos]] ([[Dyskusja wikipedysty:Nirmos|dyskusja]]) 08:23, 4 cze 2016 (CEST)</div> == Compact Language Links enabled in this wiki today == {{int:Please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Compact-language-links-list.png|thumb|Screenshot of Compact Language Links interlanguage list]] [[:mw:Universal_Language_Selector/Compact_Language_Links|Compact Language Links]] has been available as a beta-feature on all Wikimedia wikis since 2014. With compact language links enabled, users are shown a much shorter list of languages on the interlanguage link section of an article (see image). Based on several factors, this shorter list of languages is expected to be more relevant for them and valuable for finding similar content in a language known to them. More information about compact language links can be found in [[:mw:Universal_Language_Selector/Compact_Language_Links|the documentation]]. From today onwards, compact language links has been enabled as the default listing of interlanguage links on this wiki. Using the button at the bottom, you will be able to see a longer list of all the languages the article has been written in. The setting for this compact list can be changed by using the checkbox under ''User Preferences -> Appearance -> Languages'' The compact language links feature has been tested extensively by the Wikimedia Language team, which developed it. However, in case there are any problems or other feedback please let us know on the [[:mw:Talk:Universal_Language_Selector/Compact_Language_Links|project talk page]] or on this discussion thread. It is to be noted that on some wikis the presence of an existing older gadget that was used for a similar purpose may cause an interference for compact language list. We would like to bring this to the attention of the admins of this wiki. Full details are on [[phab:T131455|this phabricator ticket]] (in English). Due to the large scale enablement of this feature, we have had to use [[:m:Global_message_delivery|MassMessage]] for this announcement and as a result it is only written in English. We will really appreciate if this message can be translated for other users of this wiki. Thank you. On behalf of the Wikimedia Language team: [[:mw:User:Runab_WMF|Runa Bhattacharjee (WMF)]] ([[mw:User talk:Runab_WMF|talk]]) 09:04, 24 cze 2016 (CEST) </div> <!-- Wiadomość wysłana przez User:Runab WMF@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/ULS_Compact_Links/24_June&oldid=15720673 --> == Editing News #2—2016 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[m:Special:MyLanguage/VisualEditor/Newsletter/2016/June|Read this in another language]] • [[:m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center|alt=VisualEditor]]'''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> It's quick and easy to insert a references list. [[File:VisualEditor References List Insert Menu-en.png|alt=Screenshot showing a dropdown menu with many items|center|frameless|150px]] Place the cursor where you want to display the references list (usually at the bottom of the page). Open the "{{int:visualeditor-toolbar-insert}}" menu and click the "{{int:cite-ve-dialogbutton-referenceslist-tooltip}}" icon (three books). If you are using several groups of references, which is relatively rare, you will have the opportunity to specify the group. If you do that, then only the references that belong to the specified group will be displayed in this list of references. Finally, click "{{int:visualeditor-dialog-action-insert}}" in the dialog to insert the {{int:cite-ve-dialogbutton-referenceslist-tooltip}}. This list will change as you add more footnotes to the page. You can read and help translate [[:mw:Special:MyLanguage/VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor.</div></div> Since the last newsletter, the [[:mw:Special:MyLanguage/VisualEditor|VisualEditor Team]] has fixed many bugs. Their workboard is available [[phab:project/board/483/|in Phabricator]]. Their [[:mw:VisualEditor/Current_priorities|current priorities]] are improving support for Arabic and Indic scripts, and adapting the visual editor to the needs of the Wikivoyages and Wikisources. === Recent changes === The visual editor is now available to all users at most [[Wikivoyage:|Wikivoyages]]. It was also enabled for all contributors at the French Wikinews. The '''[[:mw:Special:MyLanguage/VisualEditor/Single edit tab|single edit tab]]''' feature combines the "{{int:vector-view-edit}}" and "{{int:visualeditor-ca-editsource}}" tabs into a single "{{int:vector-view-edit}}" tab. It has been deployed to several Wikipedias, including Hungarian, Polish, English and Japanese Wikipedias, as well as to all Wikivoyages. At these wikis, you can change your settings for this feature in the "{{int:prefs-editing}}" tab of [[Special:Preferences]]. The team is now reviewing the feedback and considering ways to improve the design before rolling it out to more people. === Future changes === The "{{int:Savearticle}}" button will say "{{int:Publishpage}}". This will affect both the visual and wikitext editing systems. More [[M:Editing/Publish|information is available on Meta]]. The visual editor will be offered to all editors at the remaining [[:mw:VisualEditor/Rollouts|"Phase 6" Wikipedias]] during the next few months. The developers want to know whether typing in your language feels natural in the visual editor. Please post your comments and the language(s) that you tested at [[:mw:Topic:St8y4ni42d0vr9cv|the feedback thread on mediawiki.org]]. This will affect several languages, including: [[:w:ar: |'''Arabic''']], [[:w:hi: |'''Hindi''']], [[:w:th: |'''Thai''']], [[:w:ta: |'''Tamil''']], [[:w:mr: |'''Marathi''']], [[:w:ml: |'''Malayalam''']], [[:w:ur: |'''Urdu''']], [[:w:fa: |'''Persian''']], [[:w:bn: |'''Bengali''']], [[:w:as: |'''Assamese''']], [[:w:arc: |'''Aramaic''']] and others. The team is working with the volunteer developers who power Wikisource to provide the visual editor there, for opt-in testing right now and eventually for all users. ([[phab:T138966|T138966]]) The team is working on a modern wikitext editor. It will look like the visual editor, and be able to use the citoid service and other modern tools. This new editing system may become available as a Beta Feature on desktop devices around September 2016. You can read about this project in a [[mediawikiwiki:Special:MyLanguage/VisualEditor/Roadmap/Update_2016-06-23|general status update on the Wikimedia mailing list]]. === Let's work together === * Do you teach new editors how to use the visual editor? Did you help [[:mw:Citoid/Enabling Citoid on your wiki|set up the Citoid automatic reference feature for your wiki]]? Have you written or imported [[:mw:Special:MyLanguage/Help:TemplateData|TemplateData]] for your most important citation templates? <mark>Would you be willing to help new editors and small communities with the visual editor? Please sign up for the new [[:mw:Help:VisualEditor/Community Taskforce|'''VisualEditor Community Taskforce''']].</mark> * Learn how to improve the "automagical" [[:mw:citoid|citoid]] referencing system in the visual editor, by creating [[w:en:Zotero|Zotero]] translators for popular sources in your language! Watch the [[Mw:Citoid/Zotero's Tech Talk|Tech Talk by Sebastian Karcher]] for more information. If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly, so that we can notify you when the next issue is ready. {{int:Feedback-thanks-title}} </div> [[:m:User:Elitre (WMF)]], 19:20, 3 lip 2016 (CEST) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=15741003 --> == Open call for Project Grants == [[File:IEG barnstar 2.png|right|100px]] {{int:Please-translate}}: :Greetings! The '''[[m:Special:MyLanguage/Grants:Project|Project Grants program]] is accepting proposals''' from July 1st to August 2nd to fund new tools, research, offline outreach (including editathon series, workshops, etc), online organizing (including contests), and other experiments that enhance the work of Wikimedia volunteers. :Whether you need a small or large amount of funds, Project Grants can support you and your team’s project development time in addition to project expenses such as materials, travel, and rental space. :*[[m:Special:MyLanguage/Grants:Project/Apply|'''Submit''' a grant request]] or [[m:Special:MyLanguage/Grants:IdeaLab|'''draft''' your proposal]] in IdeaLab :*[[m:Special:MyLanguage/Grants:IdeaLab/Events#Upcoming_events|'''Get help with your proposal''']] in an upcoming Hangout session :*'''Learn from examples''' of completed [[m:Special:MyLanguage/Grants:IEG#ieg-engaging|Individual Engagement Grants]] or [[m:Special:MyLanguage/Grants:PEG/Requests#Grants_funded_by_the_WMF_in_FY_2015.E2.80.9316|Project and Event Grants]] :Also accepting candidates to [[m:Special:MyLanguage/Grants:Project/Quarterly/Committee|join the Project Grants Committee through July 15.]] :With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] 17:25, 5 lip 2016 (CEST) <!-- Wiadomość wysłana przez User:I JethroBT (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=15504704 --> ==Po co kasowaliśmy okładki!== Kasowanie okładek to jednak zły pomysł. Wszystkie okładki odzyskałem!.[[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:47, 9 sie 2016 (CEST) *Niestety, odkąd projekt przestał być tworzony przez społecznośc, a zaczął być tworzony przez indywidualne gusta, stracił dla mnie na swojej pierwotnej wartości --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 18:00, 15 lis 2016 (CET) **Rozwiniesz? :) --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 10:35, 16 lis 2016 (CET) *** Nie przejmuj się, taka chwila słabości (narzekanie), szczególnie nie poradzi się nic na to, że jest mniej aktywnych ludzi niż bywało w przeszłości --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 16:08, 16 lis 2016 (CET) **** No to że ruch mały to wiadomo ale o co chodzi z "indywidualne gusta"? Czy problem dotyczy tylko okładek? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 16:53, 16 lis 2016 (CET) **** Otóż kiedyś zmiany (meta) były robione w projektach, w których brało udział więcej osób, bywało że i ludzie spoza "kręgu projektu" odnosili się do tych zmian/pomysłów (kilka razy projekt nie przeszedł w ten sposób), teraz mam wrażenie, że zmiany robi się bez konsultacji i pytania się innych (czy usuwając okładkę z książki nie możnaby przynajmniej zapytać autora?) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 17:49, 16 lis 2016 (CET) == Save/Publish == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> The [[:mw:Editing|Editing]] team is planning to change the name of the [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Savearticle “<bdi>{{int:Savearticle}}</bdi>”] button to [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishpage “'''<bdi>{{int:Publishpage}}</bdi>'''”] and [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishchanges “'''<bdi>{{int:Publishchanges}}</bdi>'''”]. “<bdi>{{int:Publishpage}}</bdi>” will be used when you create a new page. “<bdi>{{int:Publishchanges}}</bdi>” will be used when you change an existing page. The names will be consistent in all editing environments.[https://phabricator.wikimedia.org/T131132][https://phabricator.wikimedia.org/T139033] This change will probably happen during the week of 30 August 2016. The change will be announced in [[:m:Special:MyLanguage/Tech/News|Tech News]] when it happens. If you are fluent in a language other than English, please check the status of translations at translatewiki.net for [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishpage “'''<bdi>{{int:Publishpage}}</bdi>'''”] and [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishchanges “'''<bdi>{{int:Publishchanges}}</bdi>'''”]. The main reason for this change is to avoid confusion for new editors. Repeated user research studies with new editors have shown that some new editors believed that [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Savearticle “<bdi>{{int:Savearticle}}</bdi>”] would save a private copy of a new page in their accounts, rather than permanently publishing their changes on the web. It is important for this part of the user interface to be clear, since it is difficult to remove public information after it is published. We believe that the confusion caused by the “<bdi>{{int:Savearticle}}</bdi>” button increases the workload for experienced editors, who have to clean up the information that people unintentionally disclose, and report it to the functionaries and stewards to suppress it. Clarifying what the button does will reduce this problem. Beyond that, the goal is to make all the wikis and languages more consistent, and some wikis made this change many years ago. The [[:m:Legal|Legal team]] at the Wikimedia Foundation supports this change. Making the edit interface easier to understand will make it easier to handle licensing and privacy questions that may arise. Any help pages or other basic documentation about how to edit pages will also need to be updated, on-wiki and elsewhere. On wiki pages, you can use the wikitext codes <code><nowiki>{{int:Publishpage}}</nowiki></code> and <code><nowiki>{{int:Publishchanges}}</nowiki></code> to display the new labels in the user's preferred language. For the language settings in [[Special:Preferences|your account preferences]], these wikitext codes produce “<bdi>{{int:Publishpage}}</bdi>” and “<bdi>{{int:Publishchanges}}</bdi>”. Please share this news with community members who teach new editors and with others who may be interested. </div> [[m:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[m:User talk:Whatamidoing (WMF)|talk]]) 20:02, 9 sie 2016 (CEST) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=15790914 --> == RevisionSlider == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Począwszy od 13 września rozszerzenie [[mw:Special:MyLanguage/Extension:RevisionSlider|RevisionSlider]] będzie dostępne jako [[mw:Special:MyLanguage/Beta Features|funkcjonalność beta]] na Twojej wiki. Rozszerzenie '''RevisionSlider''' dodaje do widoku różnic pasek pozwalający na łatwe przemieszczanie się pomiędzy wersjami. Ta możliwość została dodana na podstawie [[m:WMDE Technical Wishes|technicznej listy życzeń niemieckiej społeczności]]. Zachęcamy do wypróbowania tej funkcji i mamy nadzieję, że będzie Ci dobrze służyć w pracy! </div> [[user:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 17:08, 12 wrz 2016 (CEST) <!-- Wiadomość wysłana przez User:Birgit Müller (WMDE)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=15903627 --> == Grants to improve your project == ''{{int:Please-translate}}:'' Greetings! The [[:m:Grants:Project|Project Grants program]] is currently accepting proposals for funding. There is just over a week left to submit before the October 11 deadline. If you have ideas for software, offline outreach, research, online community organizing, or other projects that enhance the work of Wikimedia volunteers, start your proposal today! Please encourage others who have great ideas to apply as well. Support is available if you want help turning your idea into a grant request. *'''[[:m:Grants:Project/Apply|Submit a grant request]]''' *'''Get help''': In [[:m:Grants:IdeaLab|IdeaLab]] or an upcoming [[:m:Grants:Project#Upcoming_events|Hangout session]] *'''Learn from examples''' of completed [[:m:Grants:IEG#ieg-engaging|Individual Engagement Grants]] or [[:m:Grants:PEG/Requests#Grants_funded_by_the_WMF_in_FY_2015.E2.80.9316|Project and Event Grants]] [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] ([[m:User talk:I JethroBT (WMF)|talk]]) 22:10, 30 wrz 2016 (CEST) <!-- Wiadomość wysłana przez User:I JethroBT (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=15939807 --> == Creative Commons 4.0 == Witaj! Piszę do Ciebie z Fundacji Wikimedia, aby zachęcić Cię do wyrażenia opinii w sprawie proponowanego przejścia z licencji CC BY-SA 3.0 do CC BY-SA 4.0 we wszystkich projektach Wikimedii. Konsultacje będą trwały od 5 października do 8 listopad. Mamy nadzieję, że otrzymamy szeroki wgląd w rozmaite punkty widzenia. Proszę, jeśli jesteś zainteresowany/-a, weź udział w [[meta:Special:MyLanguage/Terms of use/Creative Commons 4.0|dyskusji na Meta-Wiki]]. [[User:JSutherland (WMF)|Joe Sutherland]] ([[User talk:JSutherland (WMF)|talk]]) 03:09, 6 paź 2016 (CEST) <!-- Wiadomość wysłana przez User:JSutherland (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:JSutherland_(WMF)/MassMessage/2&oldid=15962215 --> == Editing News #3—2016 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[:m:Special:MyLanguage/VisualEditor/Newsletter/2016/October|Read this in another language]] • [[:m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center|alt=VisualEditor]]'''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> Did you know that you can easily re-arrange columns and rows in the visual editor? [[File:VisualEditor table editing menu.png|alt=Screenshot showing a dropdown menu with options for editing the table structure|center|frameless|232x232px]] Select a cell in the column or row that you want to move. Click the arrow at the start of that row or column to open the dropdown menu (shown). Choose either "Move before" or "Move after" to move the column, or "Move above" or "Move below" to move the row. You can read and help translate [[:mw:Special:MyLanguage/VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor. </div></div> Since the last newsletter, the [[:mw:Special:MyLanguage/VisualEditor|VisualEditor Team]] has mainly worked on a new wikitext editor. They have also released some small features and the new map editing tool. Their workboard is available [[phab:project/board/483/|in Phabricator]]. You can find links to the list of work finished each week at [[:mw:VisualEditor/Weekly triage meetings|mw:VisualEditor/Weekly triage meetings]]. Their [[:mw:VisualEditor/Current_priorities|current priorities]] are fixing bugs, releasing the 2017 wikitext editor as a [[mediawikiwiki:Beta_Features|beta feature]], and improving language support. === Recent changes === *You can now set text as small or big.[https://phabricator.wikimedia.org/T53613] *Invisible templates have been shown as a puzzle icon. Now, the name of the invisible template is displayed next to the puzzle icon.[https://phabricator.wikimedia.org/T141861] A similar feature will display the first part of hidden HTML comments.[https://phabricator.wikimedia.org/T147089] *Categories are displayed at the bottom of each page. If you click on the categories, the dialog for editing categories will open.[https://phabricator.wikimedia.org/T145267] *At many wikis, you can now add [[mediawikiwiki:Maps|maps]] to pages. Go to the Insert menu and choose the "Maps" item. The Discovery department is adding more features to this area, like geoshapes. You can read more at mediawiki.org.[https://www.mediawiki.org/wiki/Wikimedia_Discovery#Maps] *The "Save" button now says "Save page" when you create a page, and "Save changes" when you change an existing page.[https://phabricator.wikimedia.org/T139033] In the future, the "{{int:Savearticle}}" button will say "{{int:Publishpage}}". This will affect both the visual and wikitext editing systems. More [[:m:Editing/Publish|information is available on Meta]]. *Image galleries now use a visual mode for editing. You can see thumbnails of the images, add new files, remove unwanted images, rearrange the images by dragging and dropping, and add captions for each image. Use the "Options" tab to set the gallery's display mode, image sizes, and add a title for the gallery.[https://phabricator.wikimedia.org/T45037] === Future changes === The visual editor will be offered to all editors at the remaining 10 [[:mw:VisualEditor/Rollouts|"Phase 6" Wikipedias]] during the next month. The developers want to know whether typing in your language feels natural in the visual editor. Please post your comments and the language(s) that you tested at [[:mw:Topic:St8y4ni42d0vr9cv|the feedback thread on mediawiki.org]]. This will affect several languages, including [[:w:th:|'''Thai''']], [[:w:my:|'''Burmese''']] and [[:w:arc:|'''Aramaic''']]. The team is working on a modern wikitext editor. The [[Mw:2017 wikitext editor|2017 wikitext editor]] will look like the visual editor and be able to use the citoid service and other modern tools. This new editing system may become available as a Beta Feature on desktop devices in October 2016. You can read about this project in a [[:mw:Special:MyLanguage/VisualEditor/Roadmap/Update_2016-06-23|general status update on the Wikimedia mailing list]]. === Let's work together === * Do you teach new editors how to use the visual editor? Did you help [[:mw:Citoid/Enabling Citoid on your wiki|set up the Citoid automatic reference feature for your wiki]]? Have you written or imported [[:mw:Special:MyLanguage/Help:TemplateData|TemplateData]] for your most important citation templates? <mark>Would you be willing to help new editors and small communities with the visual editor? Please sign up for the new [[:mw:Help:VisualEditor/Community Taskforce|'''VisualEditor Community Taskforce''']].</mark> *If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly, so that we can notify you when the next issue is ready. {{int:Feedback-thanks-title}} —[[:mw:User:Elitre (WMF)|Elitre (WMF)]] </div> 19:49, 15 paź 2016 (CEST) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=15960088 --> == Proszę zresetować hasło (Please reset your password) == Zauważyliśmy problem z próbami przejęcia kont użytkowników ze specjalnymi uprawnieniami (na przykład administratorów, biurokratów, rewizorów czy checkuserów). Wygląda, że mogło to być spowodowane wykorzystaniem słabych lub uzywanych w również w innych miejscach haseł. Społeczność pracuje, wraz z zespołami Fundacji, nad rozwiązaniem problemu. W międzyczasie prosimy wszystkich o sprawdzenie haseł wykorzystywanych do kont wiki. Jeśli wiesz, że używasz słabego hasła lub takiego, którego używasz równiez w innych serwisach, prosimy o jego zmianę. Wybierz mocne hasło -- co najmniej osiem znaków w tym litery, cyfry i znaki specjalne. [[m:User:JSutherland (WMF)|Joe Sutherland]] ([[m:User talk:JSutherland (WMF)|{{int:Talkpagelinktext}}]]) / [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 00:46, 14 lis 2016 (CET) <!-- Wiadomość wysłana przez User:JSutherland (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:JSutherland_(WMF)/MassMessage/2&oldid=16060680 --> == Book navigation == Jest jakiś sposób (szablon?), który wystarczy wkleić na dole/górze rozdziału, żeby mieć nawigację (poprzedni rozdział/spis treści/następny rozdział)? Wiem, że można dać linki, ale chodzi mi o taki sposób, żeby nie trzeba było dla każdego rozdziału tworzyć linków osobno do sąsiednich rozdziałów po nazwie, a potem po dodaniu rozdziału edytować sąsiednie rozdziały. Pomysł wydaje mi się oczywisty, a nie umiem nic takiego znaleźć... [[Wikipedysta:Rmikke|Rmikke]] ([[Dyskusja wikipedysty:Rmikke|dyskusja]]) 13:36, 17 lis 2016 (CET) : Wybierz sobie z [[:Kategoria:Szablony nawigacyjne]] --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 15:11, 17 lis 2016 (CET) == Eksport do epub i odf == {{ping|Beau}} {{ping|Derbeth}} {{ping|Karol Karolus}} {{ping|Lethern}} {{ping|MonteChristof}} {{ping|Pavroo}} {{ping|Persino}}, odezwał się do biura WMPL użytkownik, który chciałby wyeksportować [[AutoIt]] do formatu .epub albo .odf. Niby jest na stronie {{s|kolekcja}}, ale linki prowadzą donikąd (''[https://pl.wikibooks.org/wiki/Specjalna:Ksi%C4%85%C5%BCka?writer=epub&colltitle=Wikibooks%3AKolekcje%2FAutoIt&bookcmd=render_collection Wystąpił błąd podczas próby renderowania Twojej książki]''). [[Special:Book]] oferuje tylko eksport do pdf albo czystego tekstu (i tak samo jest na angielskich wikiksiążkach). Macie pomysł gdzie jest błąd i co można naprawić? Jeśli nie - może usunąć linki z szablonu żeby ludziom nadziei nie robić? A skoro o tym mowa, Wikiźródła korzystają z [https://tools.wmflabs.org/wsexport/tool/book.php tego narzędzia] które umożliwia eksport do epub, mobi i wielu innych wygodnych formatów. Może tędy droga? [https://fr.wikisource.org/wiki/Sujet:Tgvc4zg2z8gcoed9 Napisałem do autora], zobaczymy co z tego wyniknie. [[Wikipedysta:Halibutt|Halibutt]] ([[Dyskusja wikipedysty:Halibutt|dyskusja]]) 12:08, 9 gru 2016 (CET) : [[phab:T97672]] :( [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 13:08, 9 gru 2016 (CET) == New way to edit wikitext == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Summary''': There's a new opt-in Beta Feature of a [[:mw:2017 wikitext editor|wikitext mode for the visual editor]]. Please [[Special:Preferences#mw-prefsection-betafeatures|go try it out]]. We in the Wikimedia Foundation's Editing department are responsible for making editing better for all our editors, new and experienced alike. We've been slowly improving [[:mw:VisualEditor|the visual editor]] based on feedback, user tests, and feature requests. However, that doesn't work for all our user needs: whether you need to edit a wikitext talk page, create a template, or fix some broken reference syntax, sometimes you need to use wikitext, and many experienced editors prefer it. Consequently, we've planned a "wikitext mode" for the visual editor for a long time. It provides as much of the visual editor's features as possible, for those times that you need or want wikitext. It has the same user interface as the visual editor, including the same toolbar across the top with the same buttons. It provides access to the [[:mw:citoid|citoid service]] for formatting citations, integrated search options for inserting images, and the ability to add new templates in a simple dialog. Like in the visual editor, if you paste in formatted text copied from another page, then formatting (such as bolding) will automatically be converted into wikitext. All wikis now have access to this mode as a [[:mw:Beta Features|Beta Feature]]. When enabled, it replaces your existing [[:mw:Editor|wikitext editor]] everywhere. If you don't like it, you can reverse this at any time by turning off the Beta Feature in your preferences. We don't want to surprise anyone, so it's strictly an ''opt-in-only'' Beta Feature. It won't switch on automatically for anyone, even if you have previously checked the box to "{{Int:Betafeatures-auto-enroll}}". The new wikitext edit mode is based on the visual editor, so it requires JavaScript (as does the [[:mw:Extension:WikiEditor|current wikitext editor]]). It doesn't work with gadgets that have only been designed for the older one (and ''vice versa''), so some users will miss gadgets they find important. We're happy to [[:mw:VisualEditor/Gadgets|work with gadget authors to help them update their code to work]] with both editors. We're not planning to get rid of the current main wikitext editor on desktop in the foreseeable future. We're also not going to remove the existing ability to edit plain wikitext without JavaScript. Finally, though it should go without saying, if you prefer to continue using the current wikitext editor, then you may so do. This is an early version, and we'd love to know what you think so we can make it better. Please leave feedback about the new mode [[:mw:2017 wikitext editor/Feedback|on the feedback page]]. You may write comments in any language. Thank you. </div> [[:mw:User:Jdforrester (WMF)|James Forrester]] (Product Manager, Editing department, Wikimedia Foundation) --20:31, 14 gru 2016 (CET) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=15942009 --> == Pierwszy cykl strategii ruchu Wikimedia 2017 == Zgodnie z zapowiedzią sprzed dwóch dni - zaczynamy cykl 1 dyskusji strategicznej ruchu Wikimedia na lata 2017-2030. Jedno, wielkie pytanie jakie zadajemy sobie w cyklu 1 brzmi: '''Co chcemy zbudować i osiągnąć razem przez następne 15 lat?''' Pytanie celowo jest bardzo ogólne, aby na tym etapie tworzenia strategii można było wypowiadać się możliwie jak najszerzej o tym, jak sobie wyobrażamy przyszłość Wikipedii i jej projektów siostrzanych w dłuższym horyzoncie czasu, jak widzimy ich wpływ na rozwój edukacji i społeczeństwa, a także pomoże nam to się zastanowić po co właściwie to wszystko robimy. Jeśli chcecie na szybko napisać parę słów kliknijcie w ten link: [https://pl.wikipedia.org/w/index.php?title=Dyskusja_Wikipedii:Strategia_Wikimedia_2017&action=edit&section=new dodaj wpis] Dobrze jest jednak wcześniej zapoznać się z koncepcją całego procesu i jego założeniami, które są zebrane na stronie: [[w:Wikipedia:Strategia Wikimedia 2017|Wikipedia:Strategia Wikimedia 2017]] Uczestniczyć w dyskusji '''może każdy''' - nie ma ograniczeń co do minimalnej liczby edycji w projektach - nie ma nawet wymogu posiadania konta w Wikipedii czy jej projektach siostrzanych. Podsumowane i przekazane dalej zostaną wszystkie sensowne opinie i stwierdzenia, bez żadnej cenzury. '''Bądźmy aktywni, niech nasz głos będzie słyszalny w całym, globalnym ruchu Wikimedia !''' [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 15:31, 15 mar 2017 (CET) == /* Strategia ruchu Wikimedia */ ostatni tydzień cyklu 1 == Został się już ostatni tydzień 1 cyklu dyskusji strategicznej, zatem jeśli ktoś chce się jeszcze podzielić swoimi przemyśleniami, to najwyższa pora to zrobić ! Najprościej jest kliknąć '''[https://pl.wikipedia.org/w/index.php?title=Dyskusja_Wikipedii:Strategia_Wikimedia_2017&action=edit&section=new tutaj]''' W trzecim tygodniu dyskusji podjęto następujące tematy: *'''Sprawy dotyczące nowych użytkowników i jakości Wikipedii''' *'''Wikipedie w małych, lokalnych językach''' *'''Wikiźródła i problem MediaWiki''' *'''Mechanizm archiwizacji linków''' Jeśli interesuje Was o czym dyskutowano w innych językach, streszczenie streszczeń, przetłumaczone na polski jest tutaj: [[:meta:Strategy/Wikimedia_movement/2017/Sources/Summary_14th_to_28th/pl]] [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 14:14, 4 kwi 2017 (CEST) == [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Board of Trustees elections|Start of the 2017 Wikimedia Foundation Board of Trustees elections]] == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Please accept our apologies for cross-posting this message. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Board of Trustees elections|This message is available for translation on Meta-Wiki]].'' [[File:Wikimedia-logo black.svg|right|150px|link=m:Special:MyLanguage/Wikimedia Foundation elections/2017]] On behalf of the Wikimedia Foundation Elections Committee, I am pleased to announce that self-nominations are being accepted for the [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2017/Board_of_Trustees/Call_for_candidates|2017 Wikimedia Foundation Board of Trustees Elections]]. The [[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees|Board of Trustees]] (Board) is the decision-making body that is ultimately responsible for the long-term sustainability of the Wikimedia Foundation, so we value wide input into its selection. More information about this role can be found [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees|on Meta-Wiki]]. Please read the [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees/Call for candidates|letter from the Board of Trustees calling for candidates]]. '''The [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees/Candidates|candidacy submission phase]] will last from April 7 (00:00 UTC) to April 20 (23:59 UTC).''' '''We will also be accepting questions to ask the candidates from April 7 to April 20. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees/Questions|You can submit your questions on Meta-Wiki]].''' Once the questions submission period has ended on April 20, the Elections Committee will then collate the questions for the candidates to respond to beginning on April 21. The goal of this process is to fill the '''three community-selected seats''' on the Wikimedia Foundation Board of Trustees. The election results will be used by the Board itself to select its new members. The full schedule for the Board elections is as follows. All dates are '''inclusive''', that is, from the beginning of the first day (UTC) to the end of the last. * April 7 (00:00 UTC) – April 20 (23:59 UTC) – '''Board nominations''' * April 7 – April 20 – '''Board candidates questions submission period''' * April 21 – April 30 – '''Board candidates answer questions''' * May 1 – May 14 – '''Board voting period''' * May 15–19 – '''Board vote checking''' * May 20 – '''Board result announcement goal''' In addition to the Board elections, we will also soon be holding elections for the following roles: * '''Funds Dissemination Committee (FDC)''' ** There are five positions being filled. More information about this election will be available [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee|on Meta-Wiki]]. * '''Funds Dissemination Committee Ombudsperson (Ombuds)''' ** One position is being filled. More information about this election will be available [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee Ombudsperson|on Meta-Wiki]]. Please note that this year the Board of Trustees elections will be held before the FDC and Ombuds elections. Candidates who are not elected to the Board are explicitly permitted and encouraged to submit themselves as candidates to the FDC or Ombuds positions after the results of the Board elections are announced. More information on this year's elections can be found [[m:Special:MyLanguage/Wikimedia Foundation elections/2017|on Meta-Wiki]]. Any questions related to the election can be posted on the [[m:Talk:Wikimedia Foundation elections/2017|election talk page on Meta-Wiki]], or sent to the election committee's mailing list, <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">board-elections[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]wikimedia.org</tt>. On behalf of the Election Committee,<br /> [[m:User:KTC|Katie Chan]], Chair, [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]]<br /> [[m:User:JSutherland (WMF)|Joe Sutherland]], Community Advocate, Wikimedia Foundation ''Posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] on behalf of the [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]], 05:36, 7 kwi 2017 (CEST) • [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Board of Trustees elections|{{int:please-translate}}]] • [[m:Talk:Wikimedia Foundation elections/2017|Get help]]''</div> <!-- Wiadomość wysłana przez User:GVarnum-WMF@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16441214 --> == Read-only mode for 20 to 30 minutes on 19 April and 3 May == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2017|Przeczytaj w innym języku]] • {{int:please-translate}} [[foundation:|Wikimedia Foundation]] będzie testowała swoją drugą, zapasową serwerownię w Dallas. Upewni to nas, że Wikipedia i inne strony Wikimedia będą zawsze online, nawet w przypadku kataklizmu. Aby upewnić się, że wszystko działa, dział Technology musi przeprowadzić zaplanowany test. Pokaże on, czy są w stanie przełączyć się z jednej serwerowni na inną. Wymaga to przygotowań do testu przez wiele zespołów i ich dostępności w celu naprawy jakichkolwiek nieprzewidzianych problemów. Cały ruch zostanie przełączony na nową serwerownię w '''środę, 19 kwietnia 2017'''. W '''środę 3 maja 2017''' przełączą z powrotem na podstawową serwerownię. Niestety, z powodu niektórych ograniczeń w [[mw:Manual:What is MediaWiki?|MediaWiki]], wszystkie operacje edycyjne muszą zostać przerwane podczas tych dwóch przełączeń. Przepraszamy za te utrudnienia. Będziemy pracować nad tym, aby je zminimalizować w przyszłości. '''Każdą wiki przez krótki czas będzie można tylko czytać, ale nie będzie możliwe edytowanie.''' *Edytowanie nie będzie możliwe przez około 20-30 minut w środę, 19 kwietnia i w środę, 3 maja. Test rozpocznie się o [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20170419T14 14:00 UTC] (15:00 BST, '''16:00 CEST''', 10:00 EDT, 07:00 PDT, 23:00 JST). *Jeżeli będziesz próbował edytować lub zapisywać podczas tych okresów, zobaczysz komunikat błędu. Mamy nadzieję, że żadne edycje nie zostaną utracone w tym czasie, ale nie możemy tego zagwarantować. Jeżeli zauważysz komunikat o błędzie, poczekaj aż wszystko wróci do normy. Wtedy będzie możliwość zapisania swoich zmian. Na wszelki wypadek zalecamy jednak zrobienie kopii swoich zmian. ''Inne skutki'': *Zadania w tle będą wolniejsze, a niektóre mogą być przerywane. Czerwone linki mogą nie być aktualizowane tak szybko jak zwykle. Jeżeli utworzysz artykuł, do którego gdzieś prowadzi jakiś link to ten link będzie dłużej czerwony niż zwykle. Część skryptów uruchamiających się na dłużej zostaną zatrzymane. *Będzie zamrożenie kodu w tygodniu obejmującym 17 kwietnia 2017 i 1 maja 2017. Nie będą miały miejsca wdrożenia kodu o małym znaczeniu. Te plany mogą zostać odroczone, jeżeli zajdzie taka sytuacja. Możesz [[wikitech:Switch Datacenter#Schedule for 2017 switch|zapoznać się z harmonogramem na wikitech.wikimedia.org]]. Wszelkie zmiany będą ogłaszane w tym harmonogramie. Będzie więcej powiadomień na ten temat. '''Prosimy, podziel się tą informacją ze swoją społecznością.''' /<span dir=ltr>[[m:User:Whatamidoing (WMF)|User:Whatamidoing (WMF)]] ([[m:User talk:Whatamidoing (WMF)|talk]])</span> </div></div>[[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 19:33, 11 kwi 2017 (CEST) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16545942 --> == WAŻNE OGŁOSZENIE == Ze względu na tydzień przedwielkanocy dzień zakończenia 1 cyklu dysputy został przesunięty do '''18 kwietnia (23:59 UTC)'''. Oznacza to, że mamy kilka dodatkowych dni, aby podzielić się swoimi pomysłami - dużymi i małymi - dotyczącymi przyszłość ruchu Wikimedia. Gdy ten cykl dyskusji zakończy się w przyszłym tygodniu, zespół zajmujący się procesem strategicznym zacznie gromadzić wspólne tematy ze wszystkich dyskusji, które miały miejsce globalnie i ogłosi je na Meta-Wiki. Miejsce gdzie trwa dyskusja polskiej społeczności Wikimedia: [[:w:pl:Dyskusja_Wikipedii:Strategia_Wikimedia_2017]] Następna faza dyskusji zacznie się '''1 maja'''. Będziemy pracowali razem aby poddać priorytetyzacji stwierdzenia tematyczne zebrane w 1 cyklu. Więcej informacji o tym cyklu będzie dostępne wkrótce na Meta-Wiki. Tymczasem, Czekamy na to, jakie jeszcze pomysły pojawią się w ostatnich dniach tego cyklu! Jeśli interesuje Was o czym dyskutowano w innych językach, streszczenie streszczeń, przetłumaczone na polski jest tutaj: [[:meta:Strategy/Wikimedia_movement/2017/Sources/Summary_14th_to_28th/pl]] [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 22:40, 14 kwi 2017 (CEST) == [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/341?setlang={{CONTENTLANG}} Voting has begun in 2017 Wikimedia Foundation Board of Trustees elections] == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr">[[File:Wikimedia-logo black.svg|{{#switch:{{CONTENTLANG}}|ar=left|he=left|right}}|125px|link=m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Board voting has begun]]''To jest wiadomość [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Komitetu Wyborczego Fundacji Wikimedia]]. Dostępne są [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Board voting has begun|tłumaczenia]].'' [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/341?setlang={{CONTENTLANG}}&uselang={{CONTENTLANG}} Rozpoczęło się głosowanie] dla [[m:Wikimedia Foundation elections/2017#Requirements|uprawnionych wyborców]] w wyborach 2017 na ''[[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees|członków Rady Powierniczej Fundacji Wikimedia]]''. [[m:Wikimedia Foundation Board of Trustees|Rada Powiernicza]] jest najwyższą władzą zarządzającą Fundacji Wikimedia, organizacji 501(c)(3) non-profit zarejestrowanej w Stanach Zjednoczonych. Fundacja Wikimedia zarządza różnymi projektami takimi jak Wikipedia i Commons. Faza głosowania będzie trwała od 1 maja 00:00 UTC do 14 maja 23:59 UTC. '''[https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/341?setlang={{CONTENTLANG}}&uselang={{CONTENTLANG}} Kliknij tutaj aby zagłosować].''' Więcej informacji o kandydatach i wyborach można znaleźć na stronie [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees|wyborów do Rady Powierniczej 2-17]] na Meta-Wiki. W imieniu Komitetu Wyborczego,<br/> [[m:User:KTC|Katie Chan]], Przewodnicząca, [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Komitetu Wyborczego Fundacji Wikimedia]].<br/> [[m:User:JSutherland (WMF)|Joe Sutherland]], Community Advocate, Wikimedia Foundation ''Wysłane za pomocą mechanizmu [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] • [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Board voting has begun|Przetłumacz]] • [[m:Talk:Wikimedia Foundation elections/2017|Otrzymaj pomoc]]</div> 21:14, 3 maj 2017 (CEST)'' <!-- Wiadomość wysłana przez User:GVarnum-WMF@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16683836 --> == Beta Feature Two Column Edit Conflict View == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Począwszy od 9 maja rozszerzenie [[mw:Special:MyLanguage/Help:Two_Column_Edit_Conflict_View|Dwukolumnowy przegląd konfliktu edycji]] będzie dostępne jako [[mw:Special:MyLanguage/Beta Features|funkcja eksperymentalna]] na wszystkich wiki. Dwukolumnowy przegląd konfliktu edycji jest nowym interfejsem dla strony wyświetlającej się po konflikcie zapisu zmiany. Podświetla różnice między wersją edytującego i tą zapisaną przez kogoś innego po rozpoczęciu Twojej edycji umożliwiając łatwiejsze kopiowanie i wklejanie zamierzonych fragmentów tekstu i rozwiązanie takiego konfliktu. Funkcja ta spełnia [[m:WMDE Technical Wishes|życzenie niemieckojęzycznej społeczności]] dotyczące bardziej przyjaznego dla użytkownika sposobu rozwiązywania konfliktów edycji. Zapraszamy do testowania funkcji i mamy nadzieję, że będzie ona dla Ciebie przydatna! </div> [[m:user:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 16:41, 8 maj 2017 (CEST) <!-- Wiadomość wysłana przez User:Birgit Müller (WMDE)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=16712264 --> : Nie wiem, czy to jest związane akurat z tym powiadomieniem, ale chciałbym zauważyć że w dymku, jaki się pojawił po tym obwieszczeniu, uszkodzony jest layout dla przycisków (niezależnie od wiki) gdy powiadomienie wyświetlane jest na chrome androidowym w trybie desktop: https://s14.postimg.org/u8wpd07cx/Screenshot_2017-05-12-17-52-59-1.png [[Wikipedysta:KaMan|KaMan]] ([[Dyskusja wikipedysty:KaMan|dyskusja]]) 18:00, 12 maj 2017 (CEST) == Ogłoszenie o drugim cyklu dyskusji o strategii ruchu Wikimedia 2030 == [[Plik:Book-cover-A-Z.svg|border|left|130px]] 11 maja ruszył wreszcie '''2 cykl debaty o strategii ruchu Wikimedia na lata 2017-2030'''. W ramach tego cyklu Nadszedł czas na debatę nad wybranymi tematami. W wyniku 1 cyklu dyskusji zgromadzono 1800 stwierdzeń tematycznych, które zostały zebrane w 5 głównych tematów. Tematy te zostały utworzone w procesie "destylacji" stwierdzeń i przypisanych do nich słów kluczowych z 1 cyklu dyskusji (patrz: ''[[:meta:Strategy/Wikimedia_movement/2017/Cycle_1/Report/pl|Raport na meta wiki]]''). Zapraszamy Was teraz do zapoznania się z tymi tematami, wybranie jednego lub więcej z nich i zdecydowania, czy rzeczywiście powinny stanowić przyszłe kierunki strategiczne i jeśli tak - to które ich elementy i jak powinny być realizowane w praktyce... Punkt startu: [[:w:pl:Wikipedia:Strategia Wikimedia 2017]]. [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 01:18, 11 maj 2017 (CEST) == Editing News #1—2017 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> ''[[:m:Special:MyLanguage/VisualEditor/Newsletter/2017/May|Przeczytaj w innym języku]] • [[:m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]'' <div style="float:right;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center|alt=VisualEditor]]'''Czy wiesz?''' <div class="thumbcaption" style="font-size: 90%;"> Czy wiesz, że możesz zrobić wizualne porównanie zmian? [[File:VisualEditor visual diff tool - visual diff.png|alt=Zrzut ekranu pokazujący zmiany na stronie. Większość zmian jest podświetlona odpowiednim formatowaniem tekstu.|center|frameless|245x245px]]Kiedy skończysz edytować stronę, wpisz opis edycji i kliknij "{{Int:visualeditor-savedialog-label-review}}". W trybie porównania wizualnego dodane fragmenty, usunięcia, nowe linki i formatowanie będą podświetlane kolorem. Inne zmiany, takie jak zmiana rozmiaru zdjęcia, są opisane z boku. [[File:VisualEditor visual diff tool - toggle button.png|alt=Przyciski do przełączania między opcjami porównania: wizualne i wikikodu. Zaznaczona opcja wizualna.|center|frameless|220x220px]] Kliknij jeden z przycisków, aby przełączać się między porównaniem wizualnym i wikitekstowym. [[File:VisualEditor visual diff tool - wikitext diff.png|alt=Zrzut ekranu pokazujący tę samą zmianę w postaci dwukolumnowego widoku porównania wikikodu.|center|frameless|245x245px]] Porównanie wikikodu to to samo narzędzie porównujące używane w edytorze wikikodu i historii edycji. Możesz przeczytać i pomóc przetłumaczyć [[:mw:Special:MyLanguage/VisualEditor/User guide|przewodnik użytkownika]], który zawiera więcej informacji o tym, jak korzystać z edytora wizualnego. </div></div> Od ostatniego wydania newslettera [[:mw:VisualEditor|VisualEditor Team]] poświęcał czas głównie na [[:mediawikiwiki:2017_wikitext_editor|edytor wikikodu 2017]], który jest dostępny wewnątrz edytora wizualnego jako funkcja eksperymentalna, oraz na dodaniu [[:mediawikiwiki:VisualEditor/Diffs|nowego narzędzia umożliwiającego wizualne porównywanie]]. Ich główny panel organizacji pracy jest [[:phab:project/board/483/|w Phabricatorze]]. Możesz znaleźć linki do list wykonanych zadań dla każdego tygodnia w [[:mw:VisualEditor/Weekly triage meetings|mw:VisualEditor/Weekly triage meetings]]. Ich [[:mw:VisualEditor/Current_priorities|bieżące priorytety]] to naprawa błędów, wspieranie edytora wikikodu 2017 będącego [[:mw:Beta Features|funkcją eksperymentalną]] oraz prace nad narzędziem porównywania wizualnego. === Ostatnie zmiany === *Dostępny jest '''nowy tryb edycji wikikodu''', jako funkcja eksperymentalna dla komputerów stacjonarnych. [[:mw:2017 wikitext editor|Edytor wikikodu 2017]] ma ten sam pasek narzędzi co edytor wizualny, można w nim korzystać z Citoida i innych nowoczesnych narzędzi. Przejdź do [[Special:Preferences#mw-prefsection-betafeatures]], aby włączyć {{Int:Visualeditor-preference-newwikitexteditor-label}}. * Dostępne jest nowe '''[[:mediawikiwiki:VisualEditor/Diffs|narzędzie do porównywania wizualnego]]''' w edytorze wizualnym. Można przełączać się między porównaniem wikikodu i wizualnym. Ta funkcja będzie jeszcze rozbudowywana. W przyszłości to narzędzie zostanie zintegrowane także z innymi komponentami MediaWiki. [https://phabricator.wikimedia.org/T143350] * Zespół dodał [[:mediawikiwiki:Editing/Projects/Columns_for_references|obsługę wielu kolumn w listach przypisów]]. Blok <code><nowiki><references /></nowiki></code> może automatycznie wyświetlać długie listy przypisów w kolumnach na szerszych ekranach. Ułatwia to czytanie przypisów. Możesz [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Cite,VisualEditor,Wikimedia-Site-requests&title=Convert%20reference%20lists%20over%20to%20`responsive`%20on%20XXwiki&priority=10&parent=159895 '''poprosić o włączenie obsługi wielu kolumn'''] na twojej wiki. [https://phabricator.wikimedia.org/T33597] * Teraz można użyć funkcji z przeglądarki do przełączenia kierunku wprowadzania tekstu w nowym edytorze wikikodu. Najbardziej przyda się to użytkownikom języków RTL, takich jak Urdu czy Hebrajski, którzy muszą napisać odpowiedni JavaScript lub CSS. Aby to wywołać, użyj kombinacji klawiszy Command+Shift+X lub Control+Shift+X. [https://phabricator.wikimedia.org/T153356] * Sposób na przełączanie między edycją wizualną i kodu źródłowego jest teraz bardziej spójny. Umieszczono menu rozwijalne z dwoma tymi opcjami. Teraz jest taki sam na komputerach stacjonarnych i urządzeniach mobilnych, a także w osadzonym edytowaniu, np. we Flow. [https://phabricator.wikimedia.org/T116417] * Element {{Int:visualeditor-categories-tool}} został przeniesiony na górę menu {{Int:visualeditor-pagemenu-tooltip}}, aby był do niego łatwiejszy dostęp. [https://phabricator.wikimedia.org/T74399] Tam też umieszczono listę szablonów użytych na danej stronie. [https://phabricator.wikimedia.org/T149009] * Teraz można wstawiać w edytorze wizualnym znaczniki <code><nowiki><chem></nowiki></code> (znane także jako <code><nowiki><ce></nowiki></code>) służące do wyświetlania wzorów chemicznych. [https://phabricator.wikimedia.org/T153365] * Tabele można ustawić jako zwinięte albo rozwinięte. [https://phabricator.wikimedia.org/T157989] * Menu {{Int:visualeditor-specialcharacter-button-tooltip}} zawiera znaki dla Canadian Aboriginal Syllabics oraz kątowe znaki cytatu (‹› i ⟨⟩). Zespół dziękuje wolontariuszowy [[:S:en:User:Tpt|Tpt]]. [https://phabricator.wikimedia.org/T108626] * Pojawił się błąd, który powodował wyczyszczenie reszty strony, gdy pojawił się konflikt edycji sekcji. Został już naprawiony. Nasz zespół przeprasza za zamieszanie. [https://phabricator.wikimedia.org/T154217] * Nowy skrót klawiszowy do wstawiania przypisów: <code>Control</code>+<code>Shift</code>+<code>K</code> na PC lub <code>Command</code>+<code>Shift</code>+<code>K</code> na Mac. Bazowaliśmy na skrócie do wstawiania linków, którym jest <code>Control</code>+<code>K</code> lub odpowiednio <code>Command</code>+<code>K</code>. [https://phabricator.wikimedia.org/T99299] === Przyszłe zmiany === * Nasz zespół pracuje nad narzędziem podświetlania składni. Będzie ono podświetlało pary znaczników, takich jak <code><nowiki><ref></nowiki></code> i inne rodzaje składni wikikodu. Będzie można je włączać i wyłączać. Najpierw pojawi się ono w wbudowanym w edytor wizualny tryb edycji wikikodu, prawdopodobnie będzie to pod koniec 2017 roku. [https://phabricator.wikimedia.org/T101246] * Zmieni się wygląd przycisków {{Int:Showpreview}}, {{Int:showdiff}} i zapisu zmian we wszystkich wspieranych przez WMF edytorach wikikodu. Nowe przyciski będą korzystać z [[Mw:OOjs UI|OOjs UI]]. Będą one większe, jaśniejsze i czytelniejsze. Etykiety pozostaną te same. Można już przetestować nowy wygląd, otwierając edycję i dopisując <code>&ooui=1</code> na końcu URL, na przykład: https://www.mediawiki.org/wiki/Project:Sandbox?action=edit&ooui=1 Nie będzie dostępny stary wygląd, nawet po lokalnych zmianach w CSS. [https://phabricator.wikimedia.org/T162849] * W tym roku usuniemy [[:mediawikiwiki:File:Edit_toolbar_-_2.png|przestarzały pasek narzędziowy z 2006]]. Używa go ok. 0,03% aktywnych użytkowników. Zobacz [[:mw:Editor|listę narzędzi do edytowania na MediaWiki.org]], jeżeli nie masz pewności których używasz. [https://phabricator.wikimedia.org/T30856] *Jeżeli nie czytasz tego w swoim preferowanym języku, pomóż nam w tłumaczeniach! Subskrybuj [[mail:translators-l|listę dyskusyjną tłumaczy]] lub [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new skontaktuj się z nami] bezpośrednio, będziemy mogli wtedy powiadomić Cię, kiedy będzie gotowe następne wydanie. {{int:Feedback-thanks-title}} —[[:mw:User:Elitre (WMF)|Elitre (WMF)]] </div> 20:05, 12 maj 2017 (CEST) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=16160401 --> == RevisionSlider == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[mw:Special:MyLanguage/Extension:RevisionSlider|Suwak wersji]] będzie dostępny domyślnie dla wszystkich użytkowników na wszystkich wiki od 17 maja. Rozszerzenie RevisionSlider dodaje do widoku różnic pasek pozwalający na łatwe przemieszczanie się pomiędzy wersjami. Widok suwaka jest domyślnie zwinięty i załaduje się dopiero po jego kliknięciu. Można go także całkowicie wyłączyć w preferencjach użytkownika. Suwak wersji był domyślną funkcją przez 6 miesięcy na niemieckiej, arabskiej, hebrajskiej Wikipedii oraz jako funkcja eksperymentalna na pozostałych wiki przez 8 miesięcy. Ta możliwość została dodana na podstawie [[m:WMDE Technical Wishes|technicznej listy życzeń niemieckiej społeczności]]. Dziękujemy wszystkim, którzy testowali Suwak wersji i podzielili się cennymi opiniami pozwalającymi na ulepszenie tej funkcji. Mamy nadzieję, że Suwak wersji będzie nadal dobrze sprawować się w pracy. </div> [[m:user:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 16:44, 16 maj 2017 (CEST) <!-- Wiadomość wysłana przez User:Birgit Müller (WMDE)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=16715712 --> == Ogłoszenie o półmetku drugiego cyklu dyskusji == [[Plik:Book-cover-A-Z.svg|border|left|130px]] Już prawie półmetek '''2 cykl debaty o strategii ruchu Wikimedia na lata 2017-2030'''. Sformułowanie tematów pod dyskusję i ich opisy wywołały liczne sprzeciwy i niechęć, nie tyle z powodu ich meritum, ile użytego języka. Sprzeciwy te pojawiły się nie tylko u nas, ale też w wielu innych społecznościach. Główny zespół ds. strategii zdecydował się w związku z tym je skorygować. Miejmy nadzieję, że teraz są bardzie zrozumiałe. Mimo wszystko - dyskusje w polskiej Wikipedii należą i tak do najbardziej aktywnych. Mamy jeszcze czas do 12 czerwca aby wziąć aktywny udział w tej debacie. Punkt startu: [[:w:pl:Wikipedia:Strategia Wikimedia 2017]]. [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 16:05, 22 maj 2017 (CEST) == [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections|Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections]] == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr">[[File:Wikimedia-logo black.svg|{{#switch:{{CONTENTLANG}}|ar=left|he=left|right}}|125px|link=m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections]] :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections|Tłumaczenia tej wiadomości są dostępne na Meta-Wiki]].'' W imieniu Komisji Wyborczej Fundacji Wikimedia z przyjemnością informujemy, że rozpoczęło się przyjmowanie auto-nominacji do [[m:Wikimedia Foundation elections/2017/Funds Dissemination Committee/Call for candidates|Komitetu ds. Rozporządzania Środkami (FDC)]]. Prosimy przeczytać list od Fundacji Wikimedia na [[m:Wikimedia Foundation elections/2017/Funds Dissemination Committee/Call for candidates|portalu wyborczym Fundacji Wikimedia 2017]] wzywający kandydatów do zgłaszania się. Komitet ds. Rozporządzania Środkami (FDC)<br /> Komitet ds. Rozporządzania Środkami (FDC) formułuje zalecenia dotyczące sposobu przydzielania środków ruchu Wikimedia do uprawnionych podmiotów. Jest pięć miejsc do zajęcia. Więcej informacji na temat tej roli można znaleźć na [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee|stronie wyborów do FDC]]. ''Rzecznik Komitetu ds. Rozporządzania Środkami''<br /> Rzecznik Komitetu ds. Rozporządzania Środkami odbiera skargi i opinie na temat procesu FDC, rozpatruje skargi na wniosek Rady Powierniczej i raz w roku podsumowuje dochodzenia i informacje zwrotne dla Rady Powierniczej. Jest to funkcja jednoosobowa. Więcej informacji na temat tej roli można znaleźć na [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee Ombudsperson|stronie wyborów na Rzecznika FDC]]. '''[[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee/Candidates|Faza zgłaszania kandydatów]] będzie trwać do 28 maja (23:59 UTC).''' '''Do 28 maja będziemy też przyjmowali pytania do kandydatów. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee/Questions|Pytania te można zgłaszać na odpowiedniej stronie na Meta-Wiki]].''' Gdy 28 maja termin zgłaszania pytań minie, Komitet Wyborczy zgromadzi pytania, na które kandydaci będą mogli odpowiedzieć. Celem tego procesu jest zapełnienie '''pięciu miejsc z wyboru społeczności''' w Komitecie ds. Rozporządzania Środkami (FDC) oraz '''wybieranego przez społeczność Recznika FDC'''. Wyniki wyborów będą wykorzystane przez Radę do nominowania. Pełny harmonogram wyborów do FDC jest poniżej. Wszystkie daty należy traktować jako '''włączne''', to znaczy że terminy są od początku pierwszego dnia (UTC) do końca ostatniego. * 15 maja (00:00 UTC) – 28 maja (23:59 UTC) – '''Nominacje''' * 15 maja – 28 maja – '''Okres zgłaszania pytań do kandydatów''' * 29 maja - 2 czerwca - '''Kandydaci odpowiadają na pytania''' * 3 czerwca - 11 czerwca - '''Okres głosowania''' * 12-14 czerwca - '''Sprawdzanie głosów''' *15 czerwca - '''Planowana data ogłoszenia wyników głosowania''' Więcej informacji o tegorocznych wyborach można znaleźć na [[m:Special:MyLanguage/Wikimedia Foundation elections/2017|portalu wyborczym Wikimedia Foundation]]. Zapraszamy do wysłania informacji o wyborach w kawiarenkach Waszych projektów. Wszelkie pytania związane z wyborami można zamieszczać na stronie dyskusyjnej na Meta, lub przesłać na listę mailową komitetu wyborczego: <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">board-elections[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]wikimedia.org</tt>. W imieniu Komitetu Wyborczego,<br /> [[m:User:KTC|Katie Chan]], Przewodnicząca, [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Komitetu Wyborczego Wikimedia Foundation]]<br /> [[m:User:JSutherland (WMF)|Joe Sutherland]], Rzecznik Społeczności, Wikimedia Foundation ''Wysłane za pomocą systemu [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] • [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections|Przetłumacz]] • [[m:Talk:Wikimedia Foundation elections/2017|Uzyskaj pomoc]]''</div> 23:06, 23 maj 2017 (CEST) <!-- Wiadomość wysłana przez User:GVarnum-WMF@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16804695 --> == Moduł vs. Moduł (propozycja trwałej zmiany) == Po pojawieniu się przestrzeni "Module" w polskojęzycznych projektach tłumaczonej jako "Moduł" pojawił się problem z nazwą dla haseł w przestrzeni głównej nazywanych w pl.wikibooks "Modułami". Stawiam formalny wniosek o zmianę tego co jest w zakładce w przestrzeni głównej. Najpierw proponuję dyskusję (2 tygodnie) nad możliwymi zamiennikami, a potem głosowanie nad zaproponowanymi wersjami. Na początek proponuję * "Książka" (może mylić z książkami w wikiźródłach) * "Ustęp" (termin stosowany w terminologii poligraficznej, ale niestety zbyt wieloznaczny) * "Artykuł" (może mylić z artykułami prasowymi jakby w wikinews, albo tym co w wikipedii) * "Hasło" (może się mylić z wikisłownkiem) * "Temat" (chyba wolne w polskojęzycznych projektach) Czy ktoś ma jakieś inne propozycje? [[Wikipedysta:KaMan|KaMan]] ([[Dyskusja wikipedysty:KaMan|dyskusja]]) 11:42, 30 maj 2017 (CEST) == WAŻNE: Kontrola aktywności administratorów == Cześć. W 2013 w drodze [[:m:Requests for comment/Activity levels of advanced administrative rights holders|światowego konsensusu społeczności]] przyjęto politykę odbierania „zaawansowanych uprawnień” (administratora, biurokraty itp.). Na jej podstawie [[:m:Stewards/pl|stewardzi]] weryfikują aktywność administratorów we wszystkich projektach Wikimedia Foundation, które nie mają określonych zasad aktywności. Zgodnie z naszym stanem wiedzy, ta wiki nie ma formalnych zasad odbierania „zaawansowanych uprawnień” dla nieaktywnych kont. To oznacza, że stewardzi zajmą się tym, działając na podstawie [[:m:Admin activity review/pl|weryfikacji aktywności administratorów]]. Ustaliliśmy, że niżej wymienieni użytkownicy spełniają kryteria nieaktywności (brak edycji i akcji w czasie dłuższym niż dwa lata): #Derbeth 2 (biurokrata, administrator) #MonteChristof (administrator) Ci użytkownicy wkrótce otrzymają wiadomość, w której zostaną poproszeni o rozpoczęcie dyskusji w społeczności, jeśli chcą zachować wszystkie lub cześć uprawnień. W wypadku braku odpowiedzi stewardzi usuną uprawnienia z ich kont. Jednak jeśli Wy jako społeczność chcecie stworzyć własne zasady kontroli aktywności administratorów, zastępujące globalne, podjąć inną decyzję w sprawie nieaktywnych członków administracji lub macie już wdrożoną politykę, którą przeoczyliśmy, prosimy, poinformujcie [[:m:Stewards' noticeboard|stewardów na Meta-Wiki]], żeby nie weryfikować aktywności na Waszej wiki. Dziękujemy, '''[[User:Rschen7754|Rs]][[User talk:Rschen7754|chen]][[Special:Contributions/Rschen7754|7754]]''' 04:02, 13 cze 2017 (CEST) == Ogłoszenie o 4 wyzwaniu 3 cyklu dyskusji strategicznej == [[Plik:Internet-group-help-faq.svg|border|left|130px]] 3 temat 3 cyklu dyskusji o Strategii Ruchu Wikimedia przyniósł niespodziewanie dużą liczbę wpisów. Dziękuję wszystkim uczestnikom. Tymczasem, trochę na zkładkę zaczęła się też dyskusja nad 4 wyzwaniem, który dotyczy głównie kwestii technicznych i brzmi: '''Jak projekty Wikimedia mogą pozostać użyteczne dla świata, w którym prezentowanie i dystrybucja wiedzy się zmieni?'''. To, że świat internetu szybko się zmienia jest zauważalne dla każdego, jednak aby lepiej zrozumieć w jakim to może iść kierunku i jak to może wpłynąć na projekty Wikimedia warto zapoznać się ze streszczeniem [[:meta:Strategy/Wikimedia_movement/2017/Sources/Considering_2030:_Future_technology_trends_that_will_impact_the_Wikimedia_movement_(July_2017)/pl|przeprowadzonych w tym zakresie badań]]. Co zrobić aby dostosować się do tych zmian? Czekamy na odpowiedzi do 27 lipca (najbliższy czwartek). Punkt startu: '''[[:w:Wikipedia:Strategia Wikimedia 2017]]'''. [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 20:42, 22 lip 2017 (CEST) == Ulepszone wyszukiwanie w archiwum usuniętych stron == Podczas Wikimedia Hackathon 2016, zespół [[mw:Wikimedia_Discovery|Discovery]] [https://phabricator.wikimedia.org/T109561 pracował] nad jednym z życzeń społeczności 2015 zwanym [[m:2015_Community_Wishlist_Survey/Search#Provide_a_means_of_searching_for_deleted_pages|umożliwienie wyszukiwania w archiwum usuniętych stron]]. Ta funkcja jest już gotowa do wdrożenia na produkcję i będzie włączona na wszystkich wiki oprócz Wikidanych. Teraz ta funkcja już jest możliwa do przetestowania - przejdź na stronę <code>Special:Undelete</code> i dodaj do URL <code>&fuzzy=1</code>, co będzie wyglądać mniej więcej tak: https://test.wikipedia.org/w/index.php?title=Special%3AUndelete&fuzzy=1. Możesz zacząć wyszukiwać interesujące Cię strony. Będzie więcej wyników niż wcześniej, ponieważ wyszukiwanie korzysta teraz z indeksowania ElasticSearch (poprzez rozszerzenie CirrusSearch). Planujemy włączyć wyszukiwanie jako domyślne na wszystkich wiki już wkrótce (około 1 sierpnia 2017). Jeżeli masz jakieś wątpliwości z nią związane, prześlij je do zespołu Discovery poprzez [http://mailto:discovery@lists.wikimedia.org e-mail] lub na stronie dyskusji tego ogłoszenia. Tak jak większość parametrów konfiguracyjnych MediaWiki, także tą funkcję można skonfigurować dla każdej wiki z osobna. Po włączeniu ulepszonego wyszukiwaniu jako domyślne, nadal będzie można włączyć stary tryb poprzez <code>&fuzzy=0</code> w URL, np. https://test.wikipedia.org/w/index.php?title=Special%3AUndelete&fuzzy=0 Zwróć uwagę, że ponieważ Specjalna:Odtwórz jest dostępna tylko dla administratorów, więc wyszukiwanie również będzie dostępne tylko dla nich. {{Int:Feedback-thanks-title}} [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 20:33, 25 lip 2017 (CEST) <!-- Wiadomość wysłana przez User:CKoerner (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Archive_search_announce/Distribution_list&oldid=17036900 --> == Accessible editing buttons == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr">Twórcy MediaWiki pomału ulepszają dostępność interfejsu użytkownika. Następnym krokiem tych zmian jest zmiana wyglądu niektórych przycisków. Może to jednak spowodować, że niektóre przestarzałe (nieaktualizowane lub nieutrzymywane) skrypty użytkowników i gadżety mogą przestać działać. Możesz już zobaczyć [https://www.mediawiki.org/wiki/Project:Sandbox?action=submit&ooui=0 starszy] i [https://www.mediawiki.org/wiki/Project:Sandbox?action=submit&ooui=1 nowy] wygląd. Większość edytujących zauważy tylko, że niektóre przyciski są nieco większe i mają inne kolory. <gallery mode="nolines" caption="Porównanie starego i nowego stylu" heights="240" widths="572"> File:MediaWiki edit page buttons accessibility change 2017, before.png|Przyciski przed zmianą File:MediaWiki edit page buttons accessibility change 2017, after.png|Przyciski po zmianie </gallery> Może to jednak wpłynąć na niektóre skrypty użytkowników i gadżety. Niestety, niektóre z nich mogą nie działać zbyt dobrze w nowym systemie. <mark>Jeżeli utrzymujesz jakieś skrypty użytkowników lub gadżety, które są wykorzystywane podczas edycji, zobacz '''[[:mw:Contributors/Projects/Accessible editing buttons]]''' po informacje o tym, jak testować i poprawiać skrypty. Przestarzałe skrypty można już testować i poprawiać.</mark> Ta zmiana prawdopodobnie dotrze na tę wiki we '''wtorek 1 sierpnia 2017'''. Zostaw informację na [[:mw:Talk:Contributors/Projects/Accessible editing buttons]] jeżeli potrzebujesz pomocy.</div> --[[m:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[m:User talk:Whatamidoing (WMF)|talk]]) 18:56, 27 lip 2017 (CEST) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:Whatamidoing_(WMF)/Sandbox&oldid=17043399 --> == Kierunek Strategiczny ruchu Wikimedia 2030 == [[Plik:World_Map_Icon_%3F.svg|border|left|130px]] W tej chwili trwa drugi etap ustalania strategii ruchu Wikimedia do 2030 r. Etap ten polega na zapoznaniu się i ocenie kolejnych wersji wstępnego projektu dokumentu '''"[[:m:Strategy/Wikimedia movement/2017/Direction/pl|Kierunek Strategiczny]]"''', będącego rezultatem miesięcy dyskusji i badań. Ten szkic został intensywnie przedyskutowany w trakcie Wikimanii oraz jest wciąż dyskutowany on-line, w wyniku czego powstaje jego [[:m:Strategy/Wikimedia_movement/2017/Direction/pl#Wersja_robocza|druga wersja]]. Komitet Redakcyjny na bieżąco czyta komentarze i edytuje szkic na podstawie opinii. '''Weź udział w dyskusji nad kierunkiem, w którym ruch Wikimedia będzie dążył przez następne 15 lat. Teraz jest moment aby realnie wpłynąć na kształt naszej przyszłej, wspólnej strategii, [https://meta.wikimedia.org/w/index.php?title=Talk:Strategy/Wikimedia_movement/2017/Direction/pl&action=edit&section=new po polsku] lub [https://meta.wikimedia.org/w/index.php?title=Talk:Strategy/Wikimedia_movement/2017/Direction&action=edit&section=new po angielsku].''' [[Wikipedysta:Polimerek (WMF)|Polimerek (WMF)]] ([[Dyskusja wikipedysty:Polimerek (WMF)|dyskusja]]) 22:14, 17 sie 2017 (CEST) == Druga wersja "Kierunku strategicznego" == <div style="float:right; width:350px; border:gray 3px dotted; padding:5px;"> ;Czym jest strategia? [[w:Strategia organizacji|Strategia]] to metoda albo plan pomagający realizować wizję albo zbliżyć się do pożądanej przyszłości. Określa cele i priorytety, bierze pod uwagę okoliczności zewnętrzne i własne zasoby, dotyczy długiego okresu i pomaga oceniać krótkookresowe plany. Ten strategiczny kierunek całego [[w:wp:ruch Wikimedia|ruchu]] bierze pod uwagę zbiorowe interesy ludzi, których wspierają i którym służą nasze [[w:wp:projekty siostrzane|projekty]], grupy i organizacje. Będzie on rozpisany na około 13-15 lat między rokiem 2018 a 2030 i będzie wskazówką dla autorów lokalnych planów strategicznych i taktyk. Ponadto będzie on podlegał ocenom w zależności od zmian okoliczności i będzie dostosowany do zmian w otaczającym świecie. ; Kto i dlaczego potrzebuje strategii ruchu? Przede wszystkim strategii potrzebują najbardziej zaangażowani członkowie społeczności, Wikimedia Foundation i [[m:Special:MyLanguage/Wikimedia movement affiliates|organizacje afiliowane]]. Potrzebują oni bazy, która pomoże im określić priorytety pracy, którą wykonują, aby sprostać wyzwaniom i wykorzystać możliwości, przed którymi stoją Wikimedia. Strategia pomoże członkom społeczności lepiej współpracować i dążyć do naszej wizji. ; Kto i jak skorzysta ze strategii ruchu? W ostatecznym rozrachunku, każdy kto uczestniczy czy będzie uczestniczył w Wikimediach, oraz ten, kto korzysta czy będzie korzystał z naszych projektów. Strategia pomoże nam być bardziej efektywnymi w grupie i pojedynczo. Pomoże każdemu członkowi ruchu lepiej pojąć naszą rolę w świecie. Pomoże zapoznawać otoczenie z działalnością Wikimediów; w ten sposób więcej osób będzie mogło do nas dołączyć. </div> <gallery mode="packed-hover"> File:2030.wikimedia.org.webm|thumbtime=00:37 File:Strategy Graphic.pdf| File:The World in 2030 - Presentation for movement strategy discussions.pdf| </gallery> W 2017 rozpoczęła się szeroka [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017|dyskusja]], która miała doprowadzić do spisania kierunku strategicznego, który zjednoczy i zainspiruje Wikimedian. Ten kierunek będzie podstawą dla ustalania krótkoterminowych planów i priorytetów. Dyskusje odbyły się w ponad 80 społecznościach i zorganizowanych grupach<ref group=strategia>[[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 1/Report|Raport końcowy po Cyklu 1]]</ref><ref group=strategia>[[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Sources/Report/AB cycle 2/Insights summary|Raport końcowy po Cyklu 2]]</ref><ref group=strategia>[[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 3/Report|Raport końcowy po Cyklu 3]]</ref>. Zorganizowano badania i skonsultowano się z ponad 150 ekspertami<ref group=strategia>[[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Sources/New Voices Synthesis report (July 2017)|Raport końcowy z Nowych Głosów]]</ref>. Pod uwagę wzięto przyszłe trendy, które będą miały wpływ na naszą misję. Dodatkowo zebrano opinie partnerów i darczyńców. [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/People/Drafting Group|Grupa]] wolontariuszy i reprezentantów [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/People|zespołu strategicznego]] podsumowała zebrane opinie i opublikowała pierwszą wersję "Kierunku strategicznego", którą poddano pod dyskusję społeczności. '''[[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Direction|Teraz opublikowano drugą wersję Kierunku]]'''. Znów prosimy o lekturę i komentarze na [[m:Talk:Strategy/Wikimedia movement/2017/Direction|stronie dyskusji na Meta]] ([[m:Talk:Strategy/Wikimedia movement/2017/Direction/pl|pomocniczo: strona tylko na polskojęzyczne komentarze]]). Na podstawie opinii zespół autorów "Kierunku" naniesie ostateczne poprawki. <references group=strategia /> ---- '''Jeżeli macie pytania''' albo nie wiecie o co chodzi: po prawej wkleiłem fragment [[m:Strategy/Wikimedia_movement/2017/Frequently_asked_questions/pl|FAQ]]. Możecie mnie dopytywać, łapać na wiki, na fejsie, mailowo czy gdziekolwiek. [[Wikipedysta:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[Dyskusja wikipedysty:SGrabarczuk (WMF)|dyskusja]]) 13:44, 15 wrz 2017 (CEST) == RfC regarding "Interlinking of accounts involved with paid editing to decrease impersonation" == There is currently a RfC open on Meta regarding "[https://meta.wikimedia.org/wiki/Requests_for_comment/Interlinking_of_accounts_involved_with_paid_editing_to_decrease_impersonation requiring those involved with paid editing on Wikipedia to link on their user page to all other active accounts through which they advertise paid Wikipedia editing business.]" Note this is to apply to Wikipedia and not necessarily other sister projects, this is only to apply to websites where people are specifically advertising that they will edit Wikipedia for pay and not any other personal, professional, or social media accounts a person may have. [https://meta.wikimedia.org/wiki/Requests_for_comment/Interlinking_of_accounts_involved_with_paid_editing_to_decrease_impersonation Please comment on meta]. Thanks. Send on behalf of [[User:Doc James]]. [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 23:06, 17 wrz 2017 (CEST) <!-- Wiadomość wysłana przez User:Doc James@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedias&oldid=17234819 --> == New print to pdf feature for mobile web readers == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''New print to pdf feature for mobile web readers''' The Readers web team will be deploying a new feature this week to make it [[mw:Reading/Web/Projects/Mobile_PDFs|easier to download PDF versions of articles on the mobile website]]. Providing better offline functionality was one of the highlighted areas from [[m:New_Readers/Offline|the research done by the New Readers team in Mexico, Nigeria, and India]]. The teams created a prototype for mobile PDFs which was evaluated by user research and community feedback. The [[m:New_Readers/Offline#Concept_testing_for_mobile_web|prototype evaluation]] received positive feedback and results, so development continued. For the initial deployment, the feature will be available to Google Chrome browsers on Android. Support for other mobile browsers to come in the future. For Chrome, the feature will use the native Android print functionality. Users can choose to download a webpage as a PDF. [[mw:Reading/Web/Projects/Print_Styles#Mobile_Printing|Mobile print styles]] will be used for these PDFs to ensure optimal readability for smaller screens. The feature is available starting Wednesday, Nov 15. For more information, see [[mw:Reading/Web/Projects/Mobile_PDFs|the project page on MediaWiki.org]]. {{Int:Feedback-thanks-title}} </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 23:07, 20 lis 2017 (CET) <!-- Wiadomość wysłana przez User:CKoerner (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Mobile_PDF_distribution_list&oldid=17448927 --> == Editing News #1—2018 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> ''[[m:VisualEditor/Newsletter/2018/February|Przeczytaj w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]'' <div style="float:right;width:270px;margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center]] '''Czy wiesz?'''<div class="thumbcaption" style="font-size: 90%;"> Czy wiesz, że możesz skorzystać z [[mw:Special:MyLanguage/VisualEditor/Diffs|narzędzia wizualnych diffów]] na dowolnej stronie? [[File:Wikitext diff paragraph move correcting vandalism 2018.png|alt=Zrzut ekranu pokazujący wyświetlanie porównania zmian w formie dwukolumnowego porównania wikikodu|center|frameless|250px]] Czasami trudno jest dostrzec istotne zmiany w diffie ukazującym wikikod. Ten zrzut ekranu pokazuje porównanie wikikodu (kliknij aby powiększyć) pokazującego, że fragmenty tekstu zostały poprzestawiane, ale nie podświetla usunięcia słowa lub dopisania nowego zdania. Jeżeli włączysz w [[Special:Preferences#mw-prefsection-betafeatures|funkcjach eksperymentalnych]] "{{Int:visualeditor-preference-visualdiffpage-label}}", będzie dostępna nowa opcja. Na górze każdej strony z porównaniem zmian będą widoczne przyciski pozwalające wybrać system porównywania edycji. [[File:VisualEditor visual diff tool - toggle button.png|alt=Przełącznik opcji porównania wizualnego i wikikodu; zaznaczona jest opcja wizualna|center|frameless|200px]] Kliknij jeden z przycisków, aby przełączyć między porównaniem wikikodu i wizualnym. W porównywaniu wizualnym dodany tekst, usunięcia, nowe linki i zmiany w formatowaniu będą podświetlane. Inne zmiany, takie jak na przykład zmiana rozmiaru ilustracji, zostaną opisane słownie na bocznej stronie. [[File:Visual diff paragraph move correcting vandalism 2018.png|alt=Zrzut ekranu pokazujący te same zmiany w artykule. Większość zmian jest zaznaczanych odpowiednim formatowaniem tekstu.|center|frameless|250px]] Ten zrzut ekranu pokazuje tę samą edycję co w przykładzie porównania wikikodu. Porównanie wizualne podświetla usunięcie jednego słowa i dopisanie nowego zdania. Możesz przeczytać i pomóc przetłumaczyć [[mw:Special:MyLanguage/Help:VisualEditor/User guide|przewodnik użytkownika]], który zawiera więcej informacji o tym, jak korzystać z edytora wizualnego. </div></div> Od [[m:VisualEditor/Newsletter/2017/May|ostatniego wydania tego newslettera]], [[mw:Editing|zespół Editing]] poświęcał czas głównie na [[mw:2017 wikitext editor|edytor wikikodu 2017]], który jest dostępny wewnątrz edytora wizualnego jako funkcja eksperymentalna, oraz na prace nad [[mw:VisualEditor/Diffs|narzędziem do wizualnego porównywania]]. Ich główny panel organizacji pracy znajduje się [[phab:project/view/3236/|w Phabricatorze]]. Możesz znaleźć linki do list wykonanych zadań dla każdego tygodnia na stronie [[mw:VisualEditor/Weekly triage meetings]].. Ich [[mw:Editing team/Current priorities|bieżące priorytety]] to naprawa błędów, wspieranie edytora wikikodu 2017 oraz prace nad narzędziem porównywania wizualnego. === Ostatnie zmiany === *'''[[mw:2017 wikitext editor|Edytor wikikodu 2017]]''' jest dostępny jako [[Special:Preferences#mw-prefsection-betafeatures|funkcja eksperymentalna]] dla komputerów stacjonarnych. Ma ten sam pasek narzędzi co edytor wizualny, można w nim korzystać z Citoida i innych nowoczesnych narzędzi. Porównano wydajność w różnych warunkach edytowania. Przeanalizowano, jak długo mija od otwarcia strony do rozpoczęcia pisania. Analiza oparta jest o dane z miliona edycji między Grudniem a Styczniem. Wprowadzono kilka zmian zwiększających szybkość działania edytora wikikodu 2017 i edytora wizualnego. Ostatnio, edytor wikikodu otwierał się bardzo szybko podczas większości edycji, a edytor wikikodu 2010 był bardzo szybki przy niektórych edycjach. Więcej informacji znajduje się na [[mw:Contributors/Projects/Editing performance]]. *'''[[mw:VisualEditor/Diffs|Narzędzie do porównywania wizualnego]]''' zostało stworzone dla edytora wizualnego. Teraz jest dostępne dla wszystkich użytkowników edytora wizualnego i edytora wikikodu 2017. Podczas podglądu zmian przed zapisaniem, możesz przełączać między porównaniem wikikodu i wizualnym. Możesz też [[Special:Preferences#mw-prefsection-betafeatures|włączyć nową funkcje eksperymentalną]], która pozwala na wizualne porównywanie zmian w historii i [[Special:RecentChanges]]. [https://phabricator.wikimedia.org/T167508] *[[mw:Special:MyLanguage/Extension:CodeMirror|'''Podświetlanie składni wikitekstu''']] dostępne jest jako funkcja eksperymentalna zarówno dla [[mw:2017 wikitext editor|edytora wikikodu 2017]] jak i edytora wikikodu 2010. [https://phabricator.wikimedia.org/T101246] *[[mw:Citoid|Usługa Citoid]] automatycznie zamienia adresy URL, numery DOI, ISBN i PubMed na szablony cytowania w wikikodzie. Jest to często używane i przydatne dla edytujących, ale może być trudne do skonfigurowania. <mark>Twoja wiki także może mieć włączoną mozliwość korzystania z tej funkcji. [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|Przeczytaj instrukcję]]. Możesz [[phab:T127354|poprosić nasz zespół o pomoc w włączeniu Citoida dla Twojej wiki]]</mark>. === Pracujmy razem === *Na nadchodzącym [[m:Wikimedia Foundation metrics and activities meetings|spotkaniu Wikimedia Foundation metrics and activities]] zespół będzie rozmawiać o narzędziach edycyjnych. *Wikibooks, Wikiwersytet i inne wiki mogą mieć włączony edytor wizualny jako domyślny. Jeżeli twoja społeczność tego chce, skontaktujcie się z [[mw:User talk:Deskana (WMF)|Dan Garry]]. *Blok stworzony znacznikiem <code><nowiki><references /></nowiki></code> może [[mw:Special:MyLanguage/Contributors/Projects/Columns for references|automatycznie dzielić długie listy przypisów na kolumny]] na szerokich ekranach. Ułatwia to czytanie przypisów. Możesz [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Cite,VisualEditor,Wikimedia-Site-requests&title=Convert%20reference%20lists%20over%20to%20`responsive`%20on%20XXwiki&priority=10&parent=159895 '''poprosić o włączenie wsparcia dzielenia na kolumny'''] dla twojej wiki. [https://phabricator.wikimedia.org/T33597] *Jeżeli nie czytasz tego w swoim preferowanym języku, pomóż nam w tłumaczeniach! Subskrybuj [[mail:translators-l|listę dyskusyjną tłumaczy]] lub [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new skontaktuj się z nami] bezpośrednio, będziemy mogli wtedy powiadomić Cię, kiedy będzie gotowe następne wydanie. {{Int:Feedback-thanks-title}} —[[mw:User:Elitre (WMF)|Elitre (WMF)]] </div> 21:56, 2 mar 2018 (CET) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=17790200 --> == [[special:permalink/243078]] == Jak zrobić aby tabela działała?? [[Wikipedysta:Valentine 101|Valentine 101]] ([[Dyskusja wikipedysty:Valentine 101|dyskusja]]) : Chyba funkcja ''quiz'' nie obsługuje zadań z łączeniem, ale proponuję zrobić tak, by najpierw normalnie wypisać definicje i potem zrobić jako pytania nazwy pojęć z polami do wpisania litery. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 00:25, 31 mar 2018 (CEST) == AdvancedSearch == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Od 8 maja, [[mw:Special:MyLanguage/Help:Extension:AdvancedSearch|AdvancedSearch]] będzie dostępne jako [[mw:Special:MyLanguage/Beta Features|funkcja eksperymentalna]] na twojej wiki. Ta funkcja rozszerza [[Special:Search|stronę wyszukiwania]] o formularz z zaawansowanymi parametrami, co ułatwia poznanie i wykorzystanie [[m:WMDE_Technical_Wishes/AdvancedSearch/Functional_scope|dotychczas już istniejących opcji wyszukiwania]]. AdvancedSearch to projekt [[m:WMDE Technical Wishes/AdvancedSearch|WMDE Technical Wishes]]. Zachęcamy wszystkich do przetestowania tej funkcji i mamy nadzieję, że okaże się przydatna! </div> [[m:User:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 16:53, 7 maj 2018 (CEST) <!-- Wiadomość wysłana przez User:Birgit Müller (WMDE)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=17995461 --> == Update on page issues on mobile web == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Update on page issues on mobile web''' {{int:please-translate}} Hi everyone. The [[mw:Reading/Web/Team|Readers web team]] has recently begun working on exposing issue templates on the mobile website. Currently, details about issues with page content are generally hidden on the mobile website. This leaves readers unaware of the reliability of the pages they are reading. The goal of this project is to improve awareness of particular issues within an article on the mobile web. We will do this by changing the visual styling of page issues. So far, we have [[mw:Reading/Web/Projects/Mobile Page Issues|drafted a proposal on the design and implementation]] of the project. We were also able to run [[mw:Reading/Web/Projects/Mobile Page Issues/Research Results|user testing on the proposed designs]]. The tests so far have positive results. Here is a quick summary of what we learned: * The new treatment increases awareness of page issues among participants. This is true particularly when they are in a more evaluative/critical mode. * Page issues make sense to readers and they understand how they work * Readers care about page issues and consider them important * Readers had overwhelmingly positive sentiments towards Wikipedia associated with learning about page issues Our next step would be to start implementing these changes. We wanted to reach out to you for any concerns, thoughts, and suggestions you might have before beginning development. Please [[mw:Reading/Web/Projects/Mobile Page Issues|visit the project page]] where we have more information and mockups of how this may look. Please [[mw:Talk:Reading/Web/Projects/Mobile Page Issues|leave feedback on the talk page]]. </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 22:58, 12 cze 2018 (CEST) <!-- Wiadomość wysłana przez User:CKoerner (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Sandbox&oldid=18120916 --> == Global preferences are available == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Dostępne są już globalne preferencje. Można je ustawiać na stronie [[Special:GlobalPreferences|Globalne Preferencje]]. Instrukcje znajdują się na [[mw:Help:Extension:GlobalPreferences|mediawiki.org]]. Możesz [[mw:Help talk:Extension:GlobalPreferences|zostawić opinię]]. -- [[User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 21:19, 10 lip 2018 (CEST) <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=17968247 --> == New user group for editing sitewide CSS / JS == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> ''({{int:please-translate}})'' Witajcie! Aby zwiększyć bezpieczeństwo czytelników i redaktorów, zmieniono sposób obsługi uprawnień do edycji stron CSS/JS. (Są to takie strony jak <code dir="ltr">MediaWiki:Common.css</code> i <code dir="ltr">MediaWiki:Vector.js</code>, które zawierają kod wykonywany w przeglądarce odwiedzającego stronę użytkownika.) Została utworzona nowa grupa użytkowników, <code dir="ltr">[[m:Special:MyLanguage/Interface administrators|interface-admin]]</code>. Za cztery tygodnie począwszy od dziś, tylko członkowie tej grupy będą mogli edytować strony z CSS i JS (czyli wszystkie strony o nazwach kończących się na <code dir="ltr">.css</code> lub <code dir="ltr">.js</code>, zarówno w przestrzeni nazw <code dir="ltr">MediaWiki:</code> jak i na podstronach innych użytkowników). Aby dowiedzieć się więcej o motywach jakimi kierowano się wprowadzając tę zmianę, przeczytaj [[m:Special:MyLanguage/Creation of separate user group for editing sitewide CSS/JS|ten artykuł]]. Prosimy o dodawanie do tej grupy użytkowników, którzy potrzebują mieć możliwość edycji CSS/JS (robi się to tak jak przyznawanie uprawnień administratora przez biurokratę lub stewarda). Jest to niebezpieczne uprawnienie; użytkownik o złych zamiarach lub włamywacz na konto użytkownika z uprawnieniami może wykorzystać je do znacznie gorszych nadużyć niż może administrator. Prosimy o przyznawanie ich tylko użytkownikom, którzy ich potrzebują i są darzeni zaufaniem przez społeczność, a także postępują zgodnie z dobrymi praktykami ochrony konta (hasła) i komputera (używanie silnych haseł, nie wykorzystywanie tych samych haseł w wielu miejscach, korzystanie z autoryzacji dwuetapowej, nieinstalowanie oprogramowania nieznanego pochodzenia, korzystanie z programu antywirusowego). Dziękujemy! <br/><span dir="ltr">[[m:User:Tgr|Tgr]] ([[m:User talk:Tgr|talk]]) 19:45, 30 lip 2018 (CEST) <small>(poprzez [[m:Special:MyLanguage/Global_message_delivery|globalne rozsyłanie wiadomości]])</small></span> </div> <!-- Wiadomość wysłana przez User:Tgr@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:Tgr/massmessage-T139380-ifadmin&oldid=18255968 --> *Dobrze byłoby, gdyby społeczność Wikibooks wybrała sobie przynajmniej dwie-trzy takie osoby. Pozdrawiam, [[Wikipedysta:Tufor|Tufor]] ([[Dyskusja wikipedysty:Tufor|dyskusja]]) 20:10, 13 sie 2018 (CEST) *Jako, że nie ma chętnych, a jak mówiłem, lepiej by był ktoś z tymi uprawnieniami w projekcie, zgłaszam swoją kandydaturę poniżej. Otrzymałem już te uprawnienia na Wikipedii, wystarczająco znam się na JS/CSS. Na Wikibooks nie jestem aktywny, ale wystarczy mnie pingnąć lub napisać na stronie dyskusji, a postaram się pomóc. Pingi do aktywnych użytkowników: [[User:Adam majewski|Adam majewski]], [[User:Kompowiec2|Kompowiec2]], [[User:Pavroo|Pavroo]], [[User:Persino|Persino]], [[User:Wargo|Wargo]], [[User:Salicyna|Salicyna]] i do pozostałych adminów: [[User:Karol Karolus|Karol Karolus]], [[User:Lethern|Lethern]]. [[Wikipedysta:Tufor|Tufor]] ([[Dyskusja wikipedysty:Tufor|dyskusja]]) 20:12, 18 sie 2018 (CEST) === Tufor === Potwierdzam. [[Wikipedysta:Tufor|Tufor]] ([[Dyskusja wikipedysty:Tufor|dyskusja]]) 20:12, 18 sie 2018 (CEST) * [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:32, 18 sie 2018 (CEST) * {{za}} [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 20:59, 18 sie 2018 (CEST) * {{za}} [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 08:15, 3 wrz 2018 (CEST) Dostałem uprawnienia na 3 miesiące. {{załatwione}} [[Wikipedysta:Tufor|Tufor]] ([[Dyskusja wikipedysty:Tufor|dyskusja]]) 19:53, 6 wrz 2018 (CEST) === Wargo === Też kandyduję z racji tego że to jeden z moich ulubionych projektów :) --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:32, 18 sie 2018 (CEST) * {{za}} [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 20:59, 18 sie 2018 (CEST) * {{za}} [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:14, 27 sie 2018 (CEST) * {{za}} [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 08:15, 3 wrz 2018 (CEST) Uprawnienia przyznane na stałe. {{załatwione}} [[Wikipedysta:Tufor|Tufor]] ([[Dyskusja wikipedysty:Tufor|dyskusja]]) 19:53, 6 wrz 2018 (CEST) == Editing of sitewide CSS/JS is only possible for interface administrators from now == ''({{int:please-translate}})'' <div lang="en" dir="ltr" class="mw-content-ltr"> Hi all, as [[m:Special:MyLanguage/Creation of separate user group for editing sitewide CSS/JS/announcement 2|announced previously]], permission handling for CSS/JS pages has changed: only members of the <code>[[m:Special:MyLanguage/Interface administrators|interface-admin]]</code> ({{int:group-interface-admin}}) group, and a few highly privileged global groups such as stewards, can edit CSS/JS pages that they do not own (that is, any page ending with .css or .js that is either in the MediaWiki: namespace or is another user's user subpage). This is done to improve the security of readers and editors of Wikimedia projects. More information is available at [[m:Special:MyLanguage/Creation of separate user group for editing sitewide CSS/JS|Creation of separate user group for editing sitewide CSS/JS]]. If you encounter any unexpected problems, please contact me or file a bug. Thanks!<br /> [[m:User:Tgr|Tgr]] ([[m:User talk:Tgr|talk]]) 14:40, 27 sie 2018 (CEST) <small>(via [[m:Special:MyLanguage/Global_message_delivery|global message delivery]])</small> </div> <!-- Wiadomość wysłana przez User:Tgr@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18258712 --> == Read-only mode for up to an hour on 12 September and 10 October == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2018|Przeczytaj w innym języku]] • {{int:please-translate}} [[foundation:|Wikimedia Foundation]] będzie testowała swoją drugą, zapasową serwerownię. Upewni to nas, że Wikipedia i inne strony Wikimedia będą zawsze online, nawet w przypadku kataklizmu. Aby upewnić się, że wszystko działa, departament Technologii Wikimedia musi przeprowadzić zaplanowany test. Pokaże on, czy są w stanie przełączyć się z jednej serwerowni na inną. Wymaga to przygotowań do testu przez wiele zespołów i ich dostępności w celu naprawy jakichkolwiek nieprzewidzianych problemów. Cały ruch zostanie przełączony na zapasową serwerownię w '''środę 12 września 2018'''. W '''środę 10 października''' przełączą z powrotem na podstawową serwerownię. Niestety, z powodu niektórych ograniczeń w [[mw:Manual:What is MediaWiki?|MediaWiki]], wszystkie operacje edycyjne muszą zostać przerwane podczas tych dwóch przełączeń. Przepraszamy za te utrudnienia. Będziemy pracować nad tym, aby je zminimalizować w przyszłości. '''Każdą wiki przez krótki czas będzie można tylko czytać, ale nie edytować.''' *Edytowanie nie będzie możliwe przez maksymalnie godzinę, w środę, 12 września i 10 października. Test rozpocznie się o [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20170503T14 14:00 UTC] (15:00 BST, 16:00 CEST, 10:00 EDT, 07:00 PDT, 23:00 JST oraz w Nowej Zelandii o 02:00 NZST w czwartek 13 września i czwartek 11 października). *Jeżeli będziesz próbował edytować lub zapisywać podczas tych okresów, zobaczysz komunikat błędu. Mamy nadzieję, że żadne edycje nie zostaną utracone podczas tego czasu, ale nie możemy tego zagwarantować. Jeżeli zauważysz komunikat o błędzie, poczekaj aż wszystko wróci do normy. Wtedy będzie możliwość zapisania swoich zmian. Zalecamy jednak zrobienie kopii swoich zmian na wszelki wypadek. ''Inne skutki'': *Zadania w tle będą wolniejsze, a niektóre mogą być przerywane. Czerwone linki mogą nie być aktualizowane tak szybko jak zwykle. Jeżeli utworzysz artykuł, do którego gdzieś prowadzi jakiś link to ten link będzie dłużej czerwony niż zwykle. Niektóre długo działające skrypty zostaną zatrzymane. *Nie będzie zmian w kodzie na serwerze między 10 września 2018 a 8 października 2018. Nie będą miały miejsca wdrożenia kodu o małym znaczeniu. W razie konieczności, terminy testu mogą się przesunąć. Możesz [[wikitech:Switch Datacenter#Schedule for 2018 switch|zapoznać się z harmonogramem na wikitech.wikimedia.org]]. Wszelkie zmiany będą ogłoszone w tymże harmonogramie. Będzie więcej powiadomień na ten temat. '''Prosimy, podziel się tą informacją ze swoją społecznością.''' /<span dir=ltr>[[m:User:Johan (WMF)|User:Johan(WMF)]] ([[m:User talk:Johan (WMF)|talk]])</span> </div></div> 15:33, 6 wrz 2018 (CEST) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18333489 --> == The Community Wishlist Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> Badanie Życzeń Społeczności. Witajcie, Badanie Życzeń Społeczności to proces podczas którego społeczności Wikimedia decydują nad czym zespół [[m:Community Tech|Community Tech]] z Wikimedia Foundation ma pracować w przyszłym roku. Zespół Community Tech skupia się na narzędziach dla doświadczonych redaktorów w projektach Wikimedia. Od teraz do 11 listopada możesz wysłać propozycje potrzebnych rozwiązań technicznych. Następnie społeczność będzie mogła głosować na te propozycje od 16 listopada do 30 listopada. Więcej informacji na [[m:Special:MyLanguage/Community Wishlist Survey 2019|stronie tej ankiety]]. <span dir=ltr>/[[m:User:Johan (WMF)|User:Johan (WMF)]]</span></div></div> 12:06, 30 paź 2018 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18458512 --> == Editing News #2—2018 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> ''[[metawiki:VisualEditor/Newsletter/2018/October|Przeczytaj w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]'' <div style="float:right;width:270px;margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center]] '''Czy wiesz, że...?''' <div class="thumbcaption" style="font-size: 90%;"> Czy wiesz że można korzystać z edytora wizualnego na urządzeniach mobilnych? [[File:Mobile editing watchlist star editing pencil.png|alt=Zrzut ekranu pokazujący położenie ikonki ołówka|center|frameless|250px]] Dotknij ikonki z ołówkiem, aby rozpocząć edycję. Otworzy się edycja strony, będzie to edycja wikikodu. Na pasku narzędzi zobaczysz kolejną ikonkę z ołówkiem. Klikaj tę ikonkę aby przełączać się między edytowaniem wizualnym a edytowaniem kodu. [[File:Visual editing mobile switch wikitext.png|alt=Pasek narzędzi z otwartym menu|center|frameless|250px]] Pamiętaj o wysłaniu wprowadzonych zmian. Możesz przeczytać i pomóc przetłumaczyć [[mw:Special:MyLanguage/Help:VisualEditor/User guide|przewodnik użytkownika]], który zawiera więcej informacji o tym, jak korzystać z edytora wizualnego.</div></div> Od ostatniego wydania tego newslettera, [[mw:Editing|zespół Editing]] uwinął się z większością prac nad [[mw:2017 wikitext editor|edytorem wikikodu 2017]] oraz [[mw:VisualEditor/Diffs|narzędziem do porównywania wizualnego]]. Zespół zaczął analizować potrzeby edytujących z urządzeń mobilnych. Ich główny panel organizacji pracy jest [[phab:project/view/3236/|w Phabricatorze]]. Ich [[mw:Wikimedia Audiences/2018-19 Q2 Goals#Contributors|priorytet]] to teraz poprawa błędów oraz ulepszanie procesu edycji z urządzeń mobilnych. === Ostatnie zmiany === *Zespół Editing opublikował [[mw:Mobile editing using the visual editor report|wstępny raport o edytowaniu na urządzeniach mobilnych]]. *Zespół Editing zaczął studium projektu edytowania wizualnego w wersji mobilnej. Nowicjusze mają problem z wykonywaniem podstawowych czynności na smartfonie, takich jak dodawanie linków do innych artykułów Wikipedii. Możesz [[c:File:Visual Editor Heuristic - Results.pdf|przeczytać raport]]. *Zespół Reading pracuje nad [[mw:Reading/Web/Advanced mobile contributions|separate mobile-based contributions project]]. *Edytor wikikodu 2006 [[mw:Contributors/Projects/Removal of the 2006 wikitext editor|nie jest już wspierany]]. Jeżeli miałeś [[:File:Edit toolbar - 2.png|ten pasek narzędzi]], to teraz nie będzie widoczny żaden pasek narzędzi. Możesz wybrać inny zestaw narzędzi edycyjnych w [[Special:Preferences#mw-prefsection-editing|preferencjach - edytowanie]], [[Special:Preferences#mw-prefsection-gadgets|gadżetach dostępnych na tej wiki]] lub [[Special:Preferences#mw-prefsection-betafeatures|funkcjach eksperymentalnych]]. *Zespół Editing opisał historię i status [[mw:Extension:VisualEditor|Edytora Wizualnego]] w [[m:Wikimedia monthly activities meetings/2018-03|tej prezentacji]] (zaczyna się w 29 minucie, 30. sekunda). *Zespół Language miesiąc temu wydał [[mw:Content translation/V2|nową wersję Tłumaczenie Treści]] (CX2), na [[foundationsite:2018/09/30/international-translation-day/|Międzynarodowy Dzień Tłumacza]]. Zintegrowano edytor wizualny aby obsługiwać szablony, tabele i ilustracje. Generuje także poprawniejszy wikikod podczas publikacji tłumaczenia. [https://wikimediafoundation.org/2018/09/30/content-translation-version-two/] === Pracujmy razem === * Zespół Editing chce ulepszyć edytowanie wizualne w wersji mobilnej. <mark>Przeczytaj [[mw:Visual-based mobile editing/Ideas/October 2018|o ich pomysłach]] oraz powiedz, co mogłoby pomóc redaktorom korzystającym z wersji mobilnej.</mark> *W przyszłym tygodniu rozpocznie się [[m:Community Wishlist Survey 2019|Badanie Życzeń Społeczności]]. *Jeżeli nie czytasz tego w swoim języku, pomóż w tłumaczeniach! Subskrybuj [[mail:translators-l|listę dyskusyjną tłumaczy]] lub [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new skontaktuj się bezpośrednio]. Powiadomimy Cię, gdy nowe wydanie będzie gotowe do tłumaczenia. {{int:Feedback-thanks-title}} —[[mw:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:User talk:Whatamidoing (WMF)|talk]]) </div> 15:17, 2 lis 2018 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=17790200 --> == Unicode == Mamy na Wikiźródłach coś takiego jak [[s:Unicode|Unicode]]. Jest to głównie zestaw tabel znaków, ich kodowania itp. Do tego niektóre tabele w formie graficznej. Tekstu tyle co kot napłakał (tłumaczenia nazw zestawów znaków i [[s:Unicode/Alfabet łaciński/Łaciński rozszerzony A|niektóre polskie nazwy poszczególnych znaków]]). Od zarania dziejów wiadomo, że jest toto niezgodne z Wikiźródłową polityką publikacji, ale sobie leży, bo czasami bywa przydatne. Głównym powodem, dla którego nie pasują one do Wikiźródeł jest to, że Unikod się rozwija i tabele wymagaja od czasu do czasu aktualizacji. Zastanawiam się, czy zrobienie z tego jakiejś "książki" tutaj nie byłoby bardziej sensownym rozwiązaniem niż trzymanie tych tabel na Wikiźródłach. Proszę o opinie. [[Wikipedysta:Ankry|Ankry]] ([[Dyskusja wikipedysty:Ankry|dyskusja]]) 21:27, 10 lis 2018 (CET) PS. Nawet, jeśli społeczność Wikibooks powie "nie", nie wywalimy tego z Wikiźródeł. Po prostu zastanawiam się czy jest jakiś bardziej odpowiedni projekt na tego typu materiały. {{Ping|Persino}} ^^^^^ [[Wikipedysta:Ankry|Ankry]] ([[Dyskusja wikipedysty:Ankry|dyskusja]]) 22:35, 11 lis 2018 (CET) :Czyli mam zrobić szablon i napisać moduł w lua, które z artykułów robią książkę. Jest to do zrobienia. [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:53, 11 lis 2018 (CET) :: Nie. Chodzi o przeniesienie tablicy z listą znaków kodowanych przez Unicode z Wikiźródeł do Wikibooks. Pytanie jest czy Wikibooks jest odpowiednim miejscem. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 09:17, 12 lis 2018 (CET) ::: Dokładnie. Chodzi o to, czy gdyby zrobić z tych tabel coś w rodzaju broszury (w jakiej dokładnie formie - jest to rzecz otwarta) będą się one mieściły się z zakresie projektu Wikibooks. Niestety, ja nie mam pojęcia i dlatego liczę, że aktywni użytkownicy Wikibooks wyrażą w tej materii swoją opinię. Czyżby oni też nie wiedzieli co się mieści w zakresie projektu, w którym działają, a co nie? 😲 [[Wikipedysta:Ankry|Ankry]] ([[Dyskusja wikipedysty:Ankry|dyskusja]]) 18:07, 17 lis 2018 (CET) :Nie widzę przeszkód. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 19:12, 18 lis 2018 (CET) == Change coming to how certain templates will appear on the mobile web == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Nadchodzi zmiana wpływająca na wyświetlanie niektórych szablonów w wersji mobilnej''' {{int:please-translate}} [[File:Page_issues_-_mobile_banner_example.jpg|thumb|Przykład zmiany]] Witajcie, W najbliższych tygodniach zespół Readers web zmieni sposób wyświetlania niektórych szablonów na wersji mobilnej. Zrobimy tak, że te szablony będą bardziej przykuwać uwagę podczas czytania artykułów. Prosimy o pomoc w aktualizacji tych szablonów, które nie wyglądają prawidłowo. O jakie szablony chodzi? Konkretnie o szablony informujące czytelników i redaktorów o problemach w treści artykułów – o treści i informacjach w artykule. Przykłądy to [[wikidata:Q5962027|Szablon:Źródła]] lub [[Wikidata:Q5619503|więcej przypisów]] lub [[d:Q5624688|Szablon:Dopracować]]. Do tej pory te powiadomienia były ukryte pod linkiem pod tytułem artykułu. Będziemy formatować takie szablony (w większości wykorzystujące Szablon:Ambox czy w ogóle szablony do tworzenia komunikatów) tak, aby pokazywały krótką informację pod tytułem strony. Można będzie kliknąć link "Dowiedz się więcej", aby dowiedzieć się więcej o danym rodzaju problemów. Dla osób opiekujących się szablonami mamy [[mw:Recommendations_for_mobile_friendly_articles_on_Wikimedia_wikis#Making_page_issues_(ambox_templates)_mobile_friendly|zalecenia jak tworzyć szablony tak, aby były przyjazne dla użytkowników urządzeń mobilnych]] oraz [[mw:Reading/Web/Projects/Mobile_Page_Issues|dokumentację naszej pracy]]. Jeżeli macie jakieś pytania na temat formatowania szablonów dla wersji mobilnych, [[mw:Talk:Reading/Web/Projects/Mobile_Page_Issues|można je zadać na stronie dyskusji tego projektu]] lub [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Readers-Web-Backlog napisać zgłoszenie w Phabricatorze], pomożemy. {{Int:Feedback-thanks-title}} </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 20:35, 13 lis 2018 (CET) <!-- Wiadomość wysłana przez User:CKoerner (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18543269 --> == Community Wishlist Survey vote == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> Badanie Życzeń Społeczności. Witajcie, Badanie Życzeń Społeczności to proces podczas którego społeczności Wikimedia decydują nad czym zespół [[m:Community Tech|Community Tech]] z Wikimedia Foundation ma pracować w przyszłym roku. Zespół Community Tech skupia się na narzędziach dla doświadczonych redaktorów w projektach Wikimedia. Członkowie społeczności zamieścili już pełno propozycji o sprawach technicznych. Od teraz do 30 listopada możesz głosować na propozycje. Więcej informacji na [[m:Special:MyLanguage/Community Wishlist Survey 2019|stronie tej ankiety]]. <span dir=ltr>/[[m:User:Johan (WMF)|User:Johan (WMF)]]</span></div></div> 19:13, 22 lis 2018 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18543269 --> == Advanced Search == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Począwszy od 28 listopada [[m:WMDE_Technical_Wishes/AdvancedSearch|Advanced Search]] będzie funkcją podstawową w Twojej wiki. Za jej pomocą możesz wykorzystywać zaawansowane opcje [[Special:Search|strony wyszukiwania]], nawet jeśli nie znasz [[mw:Special:MyLanguage/Help:CirrusSearch|specjalistycznych parametrów]]. Funkcja Advanced Search zapoczątkowana została jako [[m:WMDE_Technical_Wishes|projekt WMDE Technical Wishes]]. Jest ona funkcją podstawową w Wikipediach niemieckiej, arabskiej, perskiej i węgierskiej. Ponadto przeszło 40 tys. użytkowniczek i użytkowników ze wszystkich wiki wzięło udział w testach wersji beta. Uwagi i opinie prosimy składać na [[mw:Help talk:Extension:AdvancedSearch|głównej stronie dyskusji]].</div> [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] ([[m:User talk:Johanna Strodt (WMDE)|talk]]) 12:03, 26 lis 2018 (CET) <!-- Wiadomość wysłana przez User:Johanna Strodt (WMDE)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=18363910 --> == New Wikimedia password policy and requirements == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Nowa polityka haseł Wikimedia i wymagania''' Wikimedia Foundation wdraża nową [[m:Password policy|politykę i wymagania dotyczące haseł]]. [[mw:Wikimedia_Security_Team/Password_strengthening_2019|Więcej o tym projekcie przeczytasz na MediaWiki.org]]. Nowe wymogi mają zastosowanie do nowo zakładanych kont i kont z zaawansowanymi uprawnieniami. Dla nowych kont wymagane będą hasła o minimalnej długości 8 znaków. Dla kont z uprawnieniami zaawansowanymi będzie wyświetlana prośba o zmianę hasła na takie, które będzie miało minimum 10 znaków. Zmiana zostanie wcielona w życie 13 grudnia. Jeżeli sądzisz, że ta zmiana ma wpływ na twoje działania lub narzędzia, powiadom nas na [[mw:Talk:Wikimedia_Security_Team/Password_strengthening_2019|stronie dyskusji]]. {{Int:Feedback-thanks-title}} </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 21:03, 6 gru 2018 (CET) <!-- Wiadomość wysłana przez User:CKoerner (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == Invitation from Wiki Loves Love 2019 == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:WLL Subtitled Logo (transparent).svg|right|frameless]] Love is an important subject for humanity and it is expressed in different cultures and regions in different ways across the world through different gestures, ceremonies, festivals and to document expression of this rich and beautiful emotion, we need your help so we can share and spread the depth of cultures that each region has, the best of how people of that region, celebrate love. [[:c:Commons:Wiki Loves Love|Wiki Loves Love (WLL)]] is an international photography competition of Wikimedia Commons with the subject love testimonials happening in the month of February. The primary goal of the competition is to document love testimonials through human cultural diversity such as monuments, ceremonies, snapshot of tender gesture, and miscellaneous objects used as symbol of love; to illustrate articles in the worldwide free encyclopedia Wikipedia, and other Wikimedia Foundation (WMF) projects. The theme of 2019 iteration is '''''Celebrations, Festivals, Ceremonies and rituals of love.''''' Sign up your affiliate or individually at [[:c:Commons:Wiki Loves Love 2019/Participants|Participants]] page. To know more about the contest, check out our [[:c:Commons:Wiki Loves Love 2019|Commons Page]] and [[:c:Commons:Wiki Loves Love 2018/FAQ|FAQs]] There are several prizes to grab. Hope to see you spreading love this February with Wiki Loves Love! Kind regards, [[:c:Commons:Wiki Loves Love 2018/International Team|Wiki Loves Love Team]] Imagine... the sum of all love! </div> --[[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 11:13, 27 gru 2018 (CET) <!-- Wiadomość wysłana przez User:Tiven2240@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == FileExporter beta feature == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[File:Logo for the beta feature FileExporter.svg|thumb|Nadchodzi: eksperymentalna funkcja [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter]]]] Wkrótce zostanie wydana nowa funkcja eksperymentalna dla wszystkich wiki: [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter]]. Umożliwia ona eksportowanie plików przesłanych lokalnie na wiki do Wikimedia Commons, wraz z historią pliku i strony opisowej. Rodzaje plików, które można przesyłać definiowane są przez społeczność danej wiki: '''Sprawdź [[m:WMDE_Technical_Wishes/Move_files_to_Commons/Configuration file documentation|plik konfiguracyjny]]''' swojej wiki, jeżeli ma korzystać z tej funkcji. FileExporter wcześniej już był dostępny jako funkcja eksperymentalna na [https://www.mediawiki.org mediawiki.org], [https://meta.wikimedia.org meta.wikimedia], deWP, faWP, arWP, koWP i [https://wikisource.org wikisource.org]. Po uzupełnieniu o dodatkowe funkcje, zostanie wprowadzona na wszystkie wiki. Wprowadzenie planowane jest na 16 stycznia. Więcej informacji można znaleźć na [[m:WMDE_Technical_Wishes/Move_files_to_Commons|stronie projektu]]. Jak zawsze, mile widziane są opinie. Jeżeli chcesz przetestować FileExportera, aktywuj go w swoich [[Special:Preferences#mw-prefsection-betafeatures|preferencjach użytkownika]]. Najlepszym miejscem na składanie opinii jest [[mw:Help_talk:Extension:FileImporter|centralna strona dyskusji]]. Dziękujemy w imieniu [[m:WMDE Technical Wishes|projektu Technical Wishes]] Wikimedia Deutschland. </div> [[User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 10:41, 14 sty 2019 (CET) <!-- Wiadomość wysłana przez User:Johanna Strodt (WMDE)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=18782700 --> == No editing for 30 minutes on 17 January == <div lang="en" dir="ltr" class="mw-content-ltr">You will '''not be able to edit''' the wikis for up to 30 minutes on '''[https://www.timeanddate.com/worldclock/fixedtime.html?iso=20190117T07 17 January 07:00 UTC]'''. This is because of a database problem that has to be fixed immediately. You can still read the wikis. Some wikis are not affected. They don't get this message. You can see which wikis are '''not''' affected [[:m:User:Johan (WMF)/201901ReadOnlyPage|on this page]]. Most wikis are affected. The time you can not edit might be shorter than 30 minutes. /[[User:Johan (WMF)|Johan (WMF)]]</div> 19:52, 16 sty 2019 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/201901ReadOnly/Targets6&oldid=18789238 --> == Talk to us about talking == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[File:OOjs_UI_icon_speechBubbles-rtl.svg|alt="ikonka pokazująca dwa dymki symbolizujące dialog"|frameless|right|120px]] Wikimedia Foundation zamierza przeprowadzić [[mw:Talk pages consultation 2019|globalną konsultację dotyczącą komunikacji użytkowników]]. Jej celem jest zebranie głosów Wikimedian i innych ludzi ukierunkowanych na wiki, aby ulepszyć narzędzia służące do komunikacji. Chcemy umożliwić wszystkim, którzy wnoszą wkład w projekty Wikimedia, aby mogli komunikować się z każdym na wiki, bez względu na swoje doświadczenia, umiejętności lub wykorzystywane urządzenia. Oczekujemy wyrażenia zdania od jak największej ilości grup społeczności Wikimedia. Opinie mają być zebrane z różnych projektów, języków i różnych perspektyw. Na razie planujemy proces przeprowadzenia tych konsultacji. Potrzebujemy do tego Twojej pomocy. '''Potrzebujemy wolontariuszy do pomocy w kontakcie z ich grupami użytkowników.''' Możesz pomóc organizując dyskusję na swojej wiki. Oto rzeczy do zrobienia: # Najpierw [[mw:Talk pages consultation 2019/Participant group sign-up|zapisz swoją grupę tutaj]] . # Następnie, utwórz stronę (lub sekcję w Kawiarence lub wątek e-mail itp.), na której będą zbierane informacje od innych użytkowników z Twojej społeczności. To nie jest głosowanie ani podejmowanie dyskusji: zbieramy tylko opinie. # Następnie zapytaj ludzi co sądzą o procesach komunikacyjnych. Chcemy żeby opowiedzieli o tym jak komunikują się między sobą na wiki i poza wiki. Postaraj się zadać te pięć pytań: ## Gdy chcesz przedyskutować coś ze społecznością, jakie narzędzia Ci to wspomagają, a co przeszkadza? ## Jak sądzicie, czy nowicjusze radzą sobie z korzystaniem ze stron dyskusji? Co im może przeszkadzać? ## Z czym boryka się Twoja społeczność odnośnie stron dyskusji? ## Co chciałbyś by dało się robić na stronach dyskusji, ale z powodu ograniczeń technicznych nie da się tego zrobić? ## Jakie są ważne aspekty dyskutowania na wiki? # Na końcu, przejdź do strony [[mw:Talk:Talk pages consultation 2019|Talk pages consultation 2019 na Mediawiki.org]] i zdaj raport z tego, czego dowiedziałeś się od swojej grupy. Dołącz linki, jeżeli dyskusja jest dostępna publicznie. '''Możesz też pomóc stworzyć listę najróżniejszych sposobów komunikowania się.''' * Nie wszystkie grupy aktywnych użytkowników wiki lub wspomagających rozwój wiki: takie rozmowy odbywają się na stronach wiki, w serwisach społecznościowych, komunikatorach i czatach... Po prostu powiedz nam [[mw:Talk pages consultation 2019/Tools in use|jak Twoja grupa się porozumiewa]]. Możesz poczytać więcej o [[mw:Talk pages consultation 2019|całym procesie]] na mediawiki.org. Jeżeli masz pytania lub pomysły co do samego procesu, [[mw:Talk:Talk pages consultation 2019|zostaw wiadomość tutaj]] (możesz w swoim języku). Dziękujemy! Z niecierpliwością czekamy na odzew. </div> [[user:Trizek (WMF)|Trizek (WMF)]] 16:01, 21 lut 2019 (CET) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == Read-only mode for up to 30 minutes on 11 April == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> <div lang="en" dir="ltr" class="mw-content-ltr">'''Nie będzie możliwe edytowanie''' większości wiki Wikimedia przez około 30 minut, '''[https://www.timeanddate.com/worldclock/fixedtime.html?iso=20190411T05 11 kwietnia 05:00 UTC]'''. Powodem są problemy ze sprzętem. Czytanie treści nadal będzie możliwe. Zobacz [[phab:T220080|których wiki to dotyczy]]. Czas w którym nie będzie można zapisywać zmian być może będzie krótszy niż 30 minut. /[[User:Johan (WMF)|Johan (WMF)]]</div></div></div> 12:56, 8 kwi 2019 (CEST) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18979889 --> == Wikimedia Foundation Medium-Term Plan feedback request == {{int:please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr">The Wikimedia Foundation has published a [[m:Special:MyLanguage/Wikimedia_Foundation_Medium-term_plan_2019|Medium-Term Plan proposal]] covering the next 3–5 years. We want your feedback! Please leave all comments and questions, in any language, on [[m:Talk:Wikimedia_Foundation_Medium-term_plan_2019|the talk page]], by April 20. {{Int:Feedback-thanks-title}} [[m:User:Quiddity (WMF)|Quiddity (WMF)]] ([[m:User talk:Quiddity (WMF)|talk]]) 19:35, 12 kwi 2019 (CEST)</div> <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18998727 --> == [[:Kategoria:Książka kucharska/Wszystkie przepisy]] , [[:Kategoria:Książka kucharska/Spis alfabetyczny]] == Może da się zrobić tak, żeby odpowiednie strony lądowały w tych kategoriach automatycznie? Inaczej te kategorie chyba mijają się z celem... Przepisy lądują na Wikibooks dosyć randomowo, nie ma co liczyć na to, że przypadkowe osoby je wstawiające będą to poprawnie kategoryzować. Ta druga kategoria nie ma nawet utworzonych wszystkich podkategorii, chociaż są do nich linkowania [https://pl.wikibooks.org/w/index.php?title=Kategoria:Ksi%C4%85%C5%BCka_kucharska/Spis_alfabetyczny/D&action=edit&redlink=1 (przykład)]. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 16:28, 19 kwi 2019 (CEST) == Multilingual Shared Templates and Modules == <div lang="en" dir="ltr" class="mw-content-ltr">Hello pl-wiki community! ({{int:please-translate}}) I recently organized a project to share templates and modules between wiki projects and languages. It allows modules and templates to be “language-neutral”, and store all text translations on Commons. This means that it is enough to copy/paste a template without any changes, and update the translations separately. If someone fixes a bug or adds a new feature in the original module, you can copy/paste it again without any translation work. My bot ''DiBabelYurikBot'' can help with copying. This way users can spend more time on content, and less time on updating and copying templates. Please see [[mw:WP:TNT|project page]] for details and ask questions on talk page. P.S. I am [[meta:Affiliate-selected_Board_seats/2019/Nominations/Yuri_Astrakhan_(yurik)|currently running]] for the Wikimedia board, focusing on content and support of multi-language communities. If you liked my projects like maps, graphs, or this one, I will be happy to receive your support. (any [[meta:Affiliate-selected_Board_seats/2019/Eligible_entities|registered user group]] can vote). Thank you! --[[User:Yurik|Yurik]] ([[mw:User talk:Yurik|🗨️]]) 06:21, 12 maj 2019 (CEST)</div> == WAŻNE: Kontrola aktywności administratorów == Cześć. W 2013 w drodze [[:m:Requests for comment/Activity levels of advanced administrative rights holders|światowego konsensusu społeczności]] przyjęto politykę odbierania „zaawansowanych uprawnień” (administratora, biurokraty itp.). Na jej podstawie [[:m:Stewards/pl|stewardzi]] weryfikują aktywność administratorów we wszystkich projektach Wikimedia Foundation, które nie mają określonych zasad aktywności. Zgodnie z naszym stanem wiedzy, ta wiki nie ma formalnych zasad odbierania „zaawansowanych uprawnień” dla nieaktywnych kont. To oznacza, że stewardzi zajmą się tym, działając na podstawie [[:m:Admin activity review/pl|weryfikacji aktywności administratorów]]. Ustaliliśmy, że niżej wymienieni użytkownicy spełniają kryteria nieaktywności (brak edycji i akcji w czasie dłuższym niż dwa lata): #Lethern (administrator) Ci użytkownicy wkrótce otrzymają wiadomość, w której zostaną poproszeni o rozpoczęcie dyskusji w społeczności, jeśli chcą zachować wszystkie lub cześć uprawnień. W wypadku braku odpowiedzi stewardzi usuną uprawnienia z ich kont. Jednak jeśli Wy jako społeczność chcecie stworzyć własne zasady kontroli aktywności administratorów, zastępujące globalne, podjąć inną decyzję w sprawie nieaktywnych członków administracji lub macie już wdrożoną politykę, którą przeoczyliśmy, prosimy, poinformujcie [[:m:Stewards' noticeboard|stewardów na Meta-Wiki]], żeby nie weryfikować aktywności na Waszej wiki. Dziękujemy, '''[[User:Rschen7754|Rs]][[User talk:Rschen7754|chen]][[Special:Contributions/Rschen7754|7754]]''' 04:58, 19 cze 2019 (CEST) == Editing News #1—July 2019 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> ''[[m:VisualEditor/Newsletter/2019/July|Przeczytaj w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]'' <div style="float:right;width:270px;margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center]] <big>'''Czy wiesz, że...?'''</big> <div class="thumbcaption" style="font-size: 90%;"> Czy wiesz że można korzystać z edytora wizualnego na urządzeniach mobilnych? Nad każdym artykułem znajduje się ikonka z ołówkiem. Dotknij ikonkę [[File:OOjs UI icon edit-ltr.svg|frameless|16x16px]], aby rozpocząć edycję. '''<big>Edit Cards</big>''' [[File:EditCards-v.20.png|alt=Toolbar with menu opened|center|frameless|250px]] This is what the new '''Edit Cards for editing links''' in the mobile visual editor look like. Prototyp możesz wypróbować tutaj: '''[[mw:Topic:V394zwrigth8ii7c|📲 Wypróbuj Edit Cards]].''' </div></div> Witamy ponownie czytelników newslettera [[mw:Editing|zespołu rozwijającego narzędzia edycji]]. Od czasu [[m:VisualEditor/Newsletter/2018/October|ostatniego wydania]] ten zespół wydał dwie nowe funkcje dla [[mw:VisualEditor on mobile|edytora wizualnego dla urządzeń mobilnych]] oraz zaczął tworzyć trzy następne. Wszystko jest częścią planu, aby [[m:Wikimedia Foundation Annual Plan/2018-2019/Audiences#Outcome 3: Mobile Contribution|uczynić edytowanie na urządzeniach mobilnych łatwiejszym]]. Zanim przejdziemy do najnowszych informacji o wypuszczeniu tych funkcji, mamy do Ciebie pytanie: <strong>Czy chcesz wypróbować nowy sposób dodawania i zmiany linków?</strong> Jeżeli jesteś zainteresowany, docenimy twój wysiłek! Możesz wypróbować to nowe narzędzie do linków w edytorze wizualnym na wersje mobilne na oddzielnej wiki. <em>Postępuj według tych instrukcji i podziel się wrażeniami:</em> <strong>[[mw:Topic:V394zwrigth8ii7c|📲 Wypróbuj Edit Cards]].</strong> === Ostatnio wydano === Edytor wizualny na wersje mobilne jest prostszym narzędziem do edycji na smartfonach i tabletach przy użyciu [[mw:Reading/Web/Mobile#About|wersji mobilnej strony]]. Nasz zespół ostatnio uruchomił dwie nowe funkcje ulepszające edytor wizualny na wersje mobilne. # [[mw:VisualEditor on mobile/Section editing|Edytowanie sekcji]] #* Celem jest pomoc edytującym skupić się na swoich edycjach. #* The team studied this with an A/B test. [[mw:VisualEditor on mobile/Section editing#16 June 2019|This test showed]] that contributors who could use section editing were '''1% more likely to publish''' the edits they started than people with only full-page editing. # [[mw:VisualEditor on mobile#March 1, 2019|Przysłanianie podczas ładowania]] #* Celem jest płynne przejście między czytaniem a edytowaniem. Edytowanie sekcji i nowy wygląd wskaźnika ładowania edytora są '''już dostępne dla wszystkich''' używających edytora wizualnego na wersje mobilne. === Nowe i bieżące projekty === To jest lista naszych najbardziej aktywnych projektów. [[mw:Help:Watching pages|Obserwuj]] te strony aby dowiadywać się o zmianach w projektach i dziel się swoim wkładem w projektowanie, tworzenie prototypów i we wnioski z badań. *[[mw:VisualEditor on mobile/Edit cards|Edit cards]]: Jest to bardziej przejrzysty sposób dodawania i edytowania linków, przypisów, ilustracji, szablonów itp w artykułach. Możesz już wypróbować tę funkcję. <em>Zobacz:</em> [[mw:Topic:V394zwrigth8ii7c|📲 <em>Wypróbuj Edit Cards</em>]]. *[[mw:VisualEditor on mobile/Toolbar refresh|Odświeżenie paska narzędzi w wersji mobilnej]]: Ten projekt ma za zadanie wykazać czy redaktorzy sa bardziej skuteczni jeżeli narzędzia edycyjne są łatwiej rozpoznawalne. *[[mw:VisualEditor on mobile/VE mobile default|Dostępność edytora wizualnego na wersje mobilne]]: Ten test A/B zakłada takie pytanie: ''Czy nowi redaktorzy są bardziej skuteczni jeżeli korzystają z edytora wizualnego na wersje mobilne?'' Współpracujemy z [[mw:VisualEditor on mobile/VE mobile default#26 June 2019 %E2%80%93 Participating wikis and test start date|20 wersjami językowymi Wikipedii]] aby odpowiedzieć na to pytanie. *[[mw:VisualEditor on mobile/Usability improvements|Wzbogacenie użyteczności]]: Ten projekt ma uczynić edytor wizualny na wersje mobilne łatwiejszym w użyciu. Celem jest skupienie redaktorów na edytowaniu i sprawienie, że czują się pewnie z narzędziami edycyjnymi. === Plany na przyszłość === * '''Wikimania:''' Część członków zespołu Editing będzie uczestniczyć w [[wmania:|Wikimanii]] odbywającej się w sierpniu 2019. Poprowadzą oni sesję o edytowaniu na urządzeniach mobilnych w ramach [[wmania:2019:Community Growth/Visual editing on mobile: An accessible editor for all|przestrzeni Community Growth]]. Porozmawiaj z nimi o tym, jak można usprawnić edytowanie. * '''Strony dyskusji:''' W najbliższych miesiącach zespół Editing rozpocznie [[mw:Talk pages consultation 2019|ulepszanie stron dyskusji]] i mechanizmów komunikacji na wiki. === Dowiedz się więcej === Strona [[mw:VisualEditor on mobile|VisualEditor on mobile]] jest dobrym źródłem informacji o projektach, nad którymi pracujemy. Nasz zespół chciałby porozmawiać o wszystkim co zwiazane z procesem edytowania. Jeżeli chciałbyś coś powiedzieć lub zapytać, zostaw wiadomość na stronie [[mw:Talk:VisualEditor on mobile|Talk:VisualEditor on mobile]]. [[user:PPelberg (WMF)|PPelberg (WMF)]] ([[mw:user_talk:PPelberg (WMF)|talk]]) & [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:user_talk:Whatamidoing (WMF)|talk]]) </div> 20:32, 23 lip 2019 (CEST) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=19175117 --> == Update on the consultation about office actions == Hello all, Last month, the Wikimedia Foundation's Trust & Safety team [[:en:Wikipedia:Village_pump_(policy)/Archive_152#Announcement_of_forthcoming_temporary_and_partial_ban_tool_consultation|announced]] a future consultation about partial and/or temporary [[m:Special:MyLanguage/office actions|office actions]]. We want to let you know that the '''draft version''' of this consultation has now been [[:m:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|posted on Meta]]. This is a '''draft'''. It is not intended to be the consultation itself, which will be posted on Meta likely in early September. Please do not treat this draft as a consultation. Instead, we ask your assistance in forming the final language for the consultation. For that end, we would like your input over the next couple of weeks about what questions the consultation should ask about partial and temporary Foundation office action bans and how it should be formatted. '''[[:m:Talk:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|Please post it on the draft talk page]]'''. Our goal is to provide space for the community to discuss all the aspects of these office actions that need to be discussed, and we want to ensure with your feedback that the consultation is presented in the best way to encourage frank and constructive conversation. Please visit [[:m:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|the consultation draft on Meta-wiki]] and leave your comments on the draft’s talk page about what the consultation should look like and what questions it should ask. Thank you for your input! -- The [[m:Special:MyLanguage/Trust and Safety|Trust & Safety team]] 10:03, 16 sie 2019 (CEST) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=19175143 --> == New tools and IP masking == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> <div lang="en" dir="ltr" class="mw-content-ltr"> Witajcie, Wikimedia Foundation chce pracować nad dwiema rzeczami wpływającymi na patrolowanie zmian i postępowanie z wandalizmami lub innymi niepożądanymi edycjami. Chcemy tworzyć narzędzia, które pozwolą lepiej postępować z niewłaściwymi edycjami. Chcemy też dać więcej prywatności użytkownikom niezarejestrowanym, więc w przyszłości adresy IP niezarejestrowanych użytkowników nie będą każdemu pokazywane. Na razie jednak nie będziemy ukrywać adresów IP dopóki nie powstaną lepsze narzędzia do patrolowania. Mamy pomysł jakie narzędzia mogły by działać lepiej i jak bardziej ograniczony dostęp do adresów IP mógłby zmienić różne sprawy, ale musimy wysłuchać opinii użytkowników wiki. Więcej informacji o tym projekcie możesz uzyskać na [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/pl|Meta]]. Można także [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|wziąć udział w dyskusji]]. Teraz jest moment kiedy potrzebujemy twojego zdania aby dostarczyć Ci lepsze narzędzia do walki z wandalizmami, spamem i nękaniem. Możesz napisać w dowolnym języku. [[User:Johan (WMF)|Johan (WMF)]]</div></div></div> 16:18, 21 sie 2019 (CEST) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Tools_and_IP_message/Distribution&oldid=19315232 --> == The consultation on partial and temporary Foundation bans just started == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> <div class="plainlinks"> Witajcie, W [[:en:Wikipedia:Community_response_to_the_Wikimedia_Foundation%27s_ban_of_Fram/Official_statements#Board_statement|ostatnim oświadczeniu]], Rada Powiernicza Wikimedia Foundation [[:en:Wikipedia:Community_response_to_the_Wikimedia_Foundation%27s_ban_of_Fram/Official_statements#Board_statement|zażądała przeprowadzenia konsultacji przez pracowników]] celem przeanalizowania lub uwzględnienia zdania społeczności w sprawie dwóch nowych narzędzi wykorzystywanych podczas interwencji biura Fundacji (nakładanie przez pracowników Fundacji banów na czas określony oraz częściowe bany)". W związku z tym zespół Trust & Safety zaprasza Wikimedian [[:m:Office actions/Community consultation on partial and temporary office actions/09 2019|do wzięcia udziału w tych konsultacjach]] trwających od 30 września do 30 października. Jak możesz pomóc? * Podpowiedz jak częściowe i czasowe blokady nakładane przez Fundację powinny być wykorzystywane, jeżeli powinny (np. na wszystkich projektach lub tylko w części) * Zaproponuj jak zaimplementować banowanie częściowe i na czas określony * Zaproponuj zmiany w dotychczasowych zasadach działań Fundacji (Office Actions) tak, aby uwzględniły banowanie tymczasowe i częściowe. Z góry dziękujemy za Wasz wkład i mamy nadzieję na jak największy udział członków społeczności w tych konsultacjach! </div> </div>-- [[user:Kbrown (WMF)|Kbrown (WMF)]] 19:13, 30 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=19302497 --> == Feedback wanted on Desktop Improvements project == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> {{int:Hello}}. Zespół Readers Web z WMF będzie pracował w najbliższych latach nad niektórymi [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|ulepszeniami interfejsu na komputery stacjonarne]]. Celem jest zwiększenie użyteczności bez pozbawiania funkcjonalności. Zainspirowaliśmy się zmianami dokonywanymi przez wolontariuszy, a które istnieją jedynie jako lokalne gadżety, skrypty, prototypy i utrzymywane przez wolontariuszy skórki. Chcemy zacząć procedurę przeniesienia części takich zmian do domyślnego interfejsu we wszystkich projektach Wikimedia. Obecnie jesteśmy na etapie analiz i czekamy na pomysły ulepszeń a także opinie odnośnie naszych pomysłów. Niedawno przeprowadzaliśmy wywiady z członkami społeczności obecnych na konferencji Wikimania. Zebraliśmy listę poprzednich prac wolontariuszy i WMF w tym kierunku. Rozpatrujemy techniczne aspekty osiągnięcia tych zmian. Oczekujemy indywidualnych opinii o: * Zidentyfikowanie obszarów zainteresowania dla tego projektu, których jeszcze nie odkryliśmy * Rozbudowa listy istniejących gadżetów i skryptów użytkowników, które związane są z ulepszeniem wykonywania zadań na komputerach stacjonarnych. Jeżeli znasz takie, daj nam znać * Opinie o zebranych przez nas pomysłach i wizualizacjach Chcemy zebrać listę wiki, które są zainteresowane udziałem w testach - będą one jako pierwsze otrzymywać nowe funkcje. Podczas wyrażania opinii, rozważ niżej wymienione cele tego projektu: * Ułatwienie czytelnikom skupienia się na treści * Łatwy dostęp do codziennych czynności (np. wyszukiwanie, zmiana języka, edytowanie) * Umieszczanie elementów we właściwych miejscach * Zwiększenie spójności interfejsu z innymi platformami - wersją mobilną i aplikacjami * Eliminacja bałaganu * Plany na dalszy rozwój a także poniższe zastrzeżenia: * Bez zmian w treściach - propozycje nie mogą wymagać zmian w stylach szablonów lub samej treści * Bez usuwania funkcji * Bez drastycznych zmian w układzie strony - przyjmujemy podejście ewolucyjne; chcemy aby strona była odczuwana zgodnie z przyzwyczajeniami czytelników i redaktorów Wyraź swoje zdanie (w dowolnym języku) na stronie [[mw:Talk:Reading/Web/Desktop Improvements|mw:Talk:Reading/Web/Desktop Improvements]] After this round of feedback, we plan on building a prototype of suggested changes based on the feedback we receive. You’ll hear from us again asking for feedback on this prototype. {{Int:Feedback-thanks-title}} [[mw:User:Quiddity (WMF)|Quiddity (WMF)]] ([[mw:User talk:Quiddity (WMF)|talk]]) </div> 09:14, 16 paź 2019 (CEST) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/Global_message_delivery_split_1&oldid=19462889 --> == Editing News #2 – Mobile editing and talk pages == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> <em>[[m:VisualEditor/Newsletter/2019/October|Przeczytaj w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]</em> W tym wydaniu newslettera [[mw:Editing|zespół Editing]] opowiada o swojej pracy nad [[mw:Mobile visual editor|edytorem wizualnym dla urządzeń mobilnych]], o [[mw:Talk pages project|projekcie ulepszenia stron dyskusji]] oraz o konferencji [[wikimania:|Wikimania 2019]]. === Pomóż === <strong>Jakie kojarzysz interakcje ze stronami dyskusji?</strong> Czy potrafisz opowiedzieć jakąś historię jak ktoś pomógł Ci dowiedzieć się czegoś nowego? Może o tym, jak zaangażować się w jakiejś grupie? Coś innego? Cokolwiek to jest, chcemy ją poznać! Prosimy opowiedzieć, jak korzystasz ze stron dyskusji. <mark>Dołącz link do dyskusji, którą wspominasz lub opisz ją na <strong>[[mw:Topic:V8d91yh8gcg404dj|stronie dyskusji tego projektu]]</strong>.</mark> The team wants your examples. These examples will help everyone develop a shared understanding of what this project should support and encourage. === Projekt ulepszenia stron dyskusji === [[mw:Talk pages consultation 2019|Konsultacje w sprawie stron dyskusji]] były to globalne konsultacje służące zdefiniowaniu lepszych narzędzi do komunikacji na wiki. Od lutego do czerwca 2019 ponad 500 wolontariuszy z 20 wiki, spośród 15 języków i wielu projektów skomunikowali się z członkami Fundacji aby opracować kierunek rozwoju produktu dla zestawu narzędzi do prowadzenia dyskusji. [[mw:Talk pages consultation 2019/Phase 2 report|Raport z etapu drugiego]] został opublikowany w sierpniu. Podsumowuje on kierunek produktu, nad którym nasz zespół rozpoczął prace, o którym można poczytać tu: [[mw:Talk pages project|Talk Page Project]]. Nasz zespół potrzebuje Twojego wsparcia na tym etapie. Zaczęliśmy opracowywać pierwszy pomysł. Dodaj swoją nazwę użytkownika w sekcji [[mw:Talk pages project#Getting involved|<strong>"Getting involved"</strong>]] na stronie wspomnianego projektu jeżeli chcesz otrzymywać informacje o sposobach zaangażowania. === Edytor wizualny dla urządzeń mobilnych === Zespół Editing próbuje ułatwić edytowanie na urządzeniach mobilnych. Zespół ten zmienia [[mw:VisualEditor on mobile|edytor wizualny na urządzenia mobilne]]. Jeżeli chciałbyś coś powiedzieć na temat edytowania na urządzeniach mobilnych, zostaw wiadomość na stronie [[mw:Talk:VisualEditor on mobile|Talk:VisualEditor on mobile]]. ==== [[mw:VisualEditor on mobile/Edit cards|Edit Cards]] ==== [[File:Edit Cards-before-v3-comparison.png|thumb|486x486px|What happens when you click on a link. The new Edit Card is bigger and has more options for editing links.]] * On 3 September, the Editing team released [[:File:Edit Cards comparison v2 and v3.png|version 3 of Edit Cards]]. Anyone could use the new version in the mobile visual editor. * There is an [[:File:Edit Cards comparison v2 and v3.png|updated design]] on the Edit Card for adding and modifying links. There is also a new, [[mw:VisualEditor on mobile/Edit cards#2 September 2019 - v3 deployment timing|combined workflow for editing a link's display text and target]]. * Feedback: You can try the new Edit Cards by opening the mobile visual editor on a smartphone. Please post your feedback on the [[:mw:Topic:V5rg0cqmikpubmjj|Edit cards talk page]]. ==== [[mw:VisualEditor on mobile/Toolbar refresh|Pasek narzędzi]] ==== [[File:Toolbar-comparison-v1.png|thumb|486px|Pasek narzędzi zmienił się w wersji mobilnej. Stary system miał dwa oddzielne paski. Teraz wszystkie przyciski są razem. [[mw:Topic:V79x6zm8n6i4nb56|Opowiedz naszemu zespołowi co sądzisz o nowym pasku narzędzi]].]] * We wrześniu zespół Editing zmienił pasek narzędzi edytora wizualnego w wersji mobilnej. Każdy może zauważyć tę zmianę. ** <em>Jeden pasek narzędzi:</em> Wszystkie narzędzia edycyjne zostały umieszczone na jednym pasku. Poprzednio zawartość paska zmieniała się w zależności od kliknięcia poszczególnych funkcji. **<em>Nowa nawigacja:</em> Zmieniły się przyciski do poruszania się wstecz i dalej w cyklu edycji. **<em>Niezauważalne przełączanie:</em> [[phab:T228159|ulepszony sposób działania]] podczas przełączania między trybem wizualnym i wikikodu. * Feedback: możesz wypróbować odnowiony pasek narzędzi poprzez uruchomienie edytora wizualnego na smartfonie. Po wypróbowaniu możesz podzielić się opinią na [[mw:Topic:V79x6zm8n6i4nb56|stronie dyskusji]]. === Wikimania === Zespół Editing Team uczestniczył w konferencji [[wmania:2019:Program|Wikimania 2019]] w Szwecji. Prowadzili sesję o [[wmania:2019:Community Growth/Visual editing on mobile: An accessible editor for all|edytorze wizualnym na urządzenia mobilne]] oraz sesję o [[wmania:2019:Community Growth/After Flow: A new direction for improving talk pages|projekcie nowych stron dyskusji]]. Przetestowali oni [[mw:VisualEditor on mobile/Toolbar refresh#v1 prototype|dwie]] nowe [[mw:VisualEditor on mobile/Edit cards#v3 prototype|funkcje]] w edytorze wizualnym na urządzenia mobilne, przy współpracy z innymi uczestnikami. Więcej o tym czego nasz zespół się dowiedział i co robił przeczytasz w [[mw:VisualEditor on mobile#Wikimania Stockholm: Overview|raporcie zespołu dotyczącym Wikimanii 2019]]. === Plany na przyszłość === * <strong>Projekt ulepszenia stron dyskusji:</strong> Zespół myśli już nad pierwszym zestawem proponowanych zmian. Będzie on pracował z kilkoma społecznościami aby wprowadzać te zmiany pilotażowo. Najlepszym sposobem na bycie poinformowanym jest dodanie swojej nazwy użytkownika w sekcji [[$signup|<strong>"Getting involved"</strong>]] na stronie wspomnianego projektu. * <strong>Testowanie edytora wizualnego w wersji mobilnej jako domyślnego:</strong> Zespół Editing planuje opublikować wyniki pod koniec tego roku. Najlepszym sposobem aby być poinformowanym jest dodanie strony tego projektu do obserwowanych: [[mw:VisualEditor on mobile/VE mobile default|<strong>strona projektu "Edytor wizualny jako domyślny w wersji mobilnej"</strong>]]. * <strong>Measuring the impact of Edit Cards:</strong> To badanie odpowiada na pytanie czy ten projekt pomógł redaktorom w dodawaniu linków i przypisów. Planowany termin opublikowania wyników to listopad. Najlepszym sposobem aby być poinformowanym jest dodanie strony tego projektu do obserwowanych: [[mw:VisualEditor on mobile/Edit cards|<strong>strona projektu Edit Cards</strong>]]. – [[User:PPelberg (WMF)|PPelberg (WMF)]] ([[mw:User talk:PPelberg (WMF)|talk]]) & [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:User talk:Whatamidoing (WMF)|talk]]) </div> 12:13, 29 paź 2019 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/VE_201910/6&oldid=19500852 --> == Community Wishlist 2020 == [[File:Magic Wand Icon 229981 Color Flipped.svg|right|48px]] <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Trwa '''[[m:Special:MyLanguage/Community Wishlist Survey 2020|2020 Community Wishlist Survey]]'''! To badanie to procedura decyzji społeczności o tym, nad czym ma pracować zespół [[m:Community Tech|Community Tech]] w następnym roku. Zachęcamy do przesyłania swoich propozycji narzędzi i ulepszeń technicznych do '''{{#time:j xg|2019-11-11|{{PAGELANGUAGE}}}}''', a także do komentowania innych propozycji, aby je ulepszyć zanim rozpocznie się głosowanie. '''W tym roku skupiamy się wyłącznie na mniejszych projektach (czyli Wikibooks, Wikisłownik, Wikicytaty, Wikiźródła, Wikiwersytet, Wikispecies, Wikipodróże i Wikinews).''' Chcemy pomóc tym projektom i wprowadzać sensowne usprawnienia dla zróżnicowanych grup społeczności. Jeżeli jesteś członkiem któregokolwiek z tych projektów, weź udział w tym badaniu! Aby zgłosić propozycje, zobacz [[m:Special:MyLanguage/Community Wishlist Survey 2020#Guidelines|te zasady]]. Propozycje można pisać w dowolnym języku - zostaną one przetłumaczone na angielski. Dziękujemy i wyczekujemy Twoich propozycji! </div> [[:m:user:IFried (WMF)|IFried (WMF)]] 20:30, 4 lis 2019 (CET) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=19523495 --> == WAŻNE: Kontrola aktywności administratorów == Cześć. W 2013 w drodze [[:m:Requests for comment/Activity levels of advanced administrative rights holders|światowego konsensusu społeczności]] przyjęto politykę odbierania „zaawansowanych uprawnień” (administratora, biurokraty itp.). Na jej podstawie [[:m:Stewards/pl|stewardzi]] weryfikują aktywność administratorów we wszystkich projektach Wikimedia Foundation, które nie mają określonych zasad aktywności. Zgodnie z naszym stanem wiedzy, ta wiki nie ma formalnych zasad odbierania „zaawansowanych uprawnień” dla nieaktywnych kont. To oznacza, że stewardzi zajmą się tym, działając na podstawie [[:m:Admin activity review/pl|weryfikacji aktywności administratorów]]. Ustaliliśmy, że niżej wymienieni użytkownicy spełniają kryteria nieaktywności (brak edycji i akcji w czasie dłuższym niż dwa lata): #Karol Karolus (administrator) Ci użytkownicy wkrótce otrzymają wiadomość, w której zostaną poproszeni o rozpoczęcie dyskusji w społeczności, jeśli chcą zachować wszystkie lub cześć uprawnień. W wypadku braku odpowiedzi stewardzi usuną uprawnienia z ich kont. Jednak jeśli Wy jako społeczność chcecie stworzyć własne zasady kontroli aktywności administratorów, zastępujące globalne, podjąć inną decyzję w sprawie nieaktywnych członków administracji lub macie już wdrożoną politykę, którą przeoczyliśmy, prosimy, poinformujcie [[:m:Stewards' noticeboard|stewardów na Meta-Wiki]], żeby nie weryfikować aktywności na Waszej wiki. Dziękujemy, --[[Wikipedysta:علاء|علاء]] ([[Dyskusja wikipedysty:علاء|dyskusja]]) 21:02, 7 sty 2020 (CET) == Wiki Loves Folklore == [[File:WLL Subtitled Logo (transparent).svg|100px|right|frameless]] '''Hello Folks,''' Wiki Loves Love is back again in 2020 iteration as '''[[:c:Commons:Wiki Loves Folklore|Wiki Loves Folklore]]''' from 1 February, 2020 - 29 February, 2020. Join us to celebrate the local cultural heritage of your region with the theme of folklore in the international photography contest at [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wllove Wikimedia Commons]. Images, videos and audios representing different forms of folk cultures and new forms of heritage that haven’t otherwise been documented so far are welcome submissions in Wiki Loves Folklore. Learn more about the contest at [[m:Wiki Loves Folklore|Meta-Wiki]] and [[:c:Commons:Wiki Loves Folklore|Commons]]. '''Kind regards,'''<br/> [[:c:Commons:Wiki Loves Folklore/International Team|'''Wiki Loves Folklore International Team''']]<br/> <small>&mdash;&nbsp;[[User:Tulsi Bhagat|<font color="black">'''Tulsi Bhagat'''</font>]] <small>([[Special:Contributions/Tulsi Bhagat|<font color="black">contribs</font>]] &#124; [[User talk:Tulsi Bhagat|<font color="black">talk</font>]])</small><br/> sent using [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 07:15, 18 sty 2020 (CET)</small> <!-- Wiadomość wysłana przez User:Tulsi Bhagat@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wll&oldid=19716850 --> == Movement Learning and Leadership Development Project == Hello The Wikimedia Foundation’s Community Development team is seeking to learn more about the way volunteers learn and develop into the many different roles that exist in the movement. Our goal is to build a movement informed framework that provides shared clarity and outlines accessible pathways on how to grow and develop skills within the movement. To this end, we are looking to speak with you, our community to learn about your journey as a Wikimedia volunteer. Whether you joined yesterday or have been here from the very start, we want to hear about the many ways volunteers join and contribute to our movement. To learn more about the project, [[:m:special:MyLanguage/Movement Learning and Leadership Development Project|please visit the Meta page]]. If you are interested in participating in the project, please complete [https://docs.google.com/forms/d/e/1FAIpQLSegM07N1FK_s0VUECM61AlWOthwdn5zQOlVsa2vaKcx13BwZg/viewform?usp=sf_link this simple Google form]. Although we may not be able to speak to everyone who expresses interest, we encourage you to complete this short form if you are interested in participating! -- [[user:LMiranda (WMF)|LMiranda (WMF)]] ([[user talk:LMiranda (WMF)|talk]]) 20:00, 22 sty 2020 (CET) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=19738989 --> == Additional interface for edit conflicts on talk pages == ''Sorry, for writing this text in English. If you could help to translate it, it would be appreciated.'' You might know the new interface for edit conflicts (currently a beta feature). Now, Wikimedia Germany is designing an additional interface to solve edit conflicts on talk pages. This interface is shown to you when you write on a discussion page and another person writes a discussion post in the same line and saves it before you do. With this additional editing conflict interface you can adjust the order of the comments and edit your comment. We are inviting everyone to have a look at [[m:WMDE Technical Wishes/Edit Conflicts#Edit conflicts on talk pages|the planned feature]]. Let us know what you think on our [[mw:Help talk:Two Column Edit Conflict View|central feedback page]]! -- For the Technical Wishes Team: [[m:User:Max Klemm (WMDE)|Max Klemm (WMDE)]] 15:15, 26 lut 2020 (CET) <!-- Wiadomość wysłana przez User:Max Klemm (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=19845780 --> == Editing news 2020 #1 – Discussion tools == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> <em>[[m:VisualEditor/Newsletter/2020/April|Przeczytaj w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]</em> [[File:TalkPages-Reply-v1.0.png|thumb|300px|alt=Zrzut ekranu pokazujący wygląd narzędzia do odpowiadania|Pierwsza wersja narzędzia do odpowiadania automatycznie podpisuje i stosuje wcięcia do komentarzy.]] [[mw:Editing|Zespół Editing]] pracował nad [[mw:Talk pages project|projektem ulepszeń stron dyskusji]]. Celem tego projektu jest pomoc w ułatwieniu komunikacji na wiki. Ten projekt został opracowany na podstawie [[mw:Talk pages consultation 2019|konsultacji o stronach dyskusji z 2019 roku]]. [[File:TalkPages-Reply-v2.0.png|thumb|300px|alt=Narzędzie do odpowiadania wzbogacone o przyciski edycji|W następnych pracach planowane jest stworzenie narzędzia do łatwiejszego linkowania nazwy innego użytkownika, edytowanie z formatowaniem i inne.]] Obecnie nasz zespół tworzy [[mw:Talk pages project/replying|nowe narzędzie do odpowiadania]] na wiadomości. Ta najwcześniejsza wersja już może podpisywać komentarze i umieszczać je z odpowiednim wcięciem. <strong>Prosimy o [[mw:Talk pages project/replying/prototype testing#Reply%20version%201.0|przetestowanie nowego narzędzia]].</strong> *31 marca 2020 nowe narzędzie "{{Int:discussiontools-replylink}}" zostało dodane jako [[mw:Beta Feature|Funkcja Eksperymentalna]] użytkownikom czterech wersji językowych Wikipedii: [[w:ar:Special:Preferences#mw-prefsection-betafeatures|arabskiej]], [[w:nl:Special:Preferences#mw-prefsection-betafeatures|duńskiej]], [[w:fr:Special:Preferences#mw-prefsection-betafeatures|francuskiej]] i [[w:hu:Special:Preferences#mw-prefsection-betafeatures|węgierskiej]]. Jeżeli wasza społeczność też chce wczesny dostęp do nowego narzędzia, należy skontaktować się z [[User:Whatamidoing (WMF)]]. *Planowane są następne zmiany. <strong>Prosimy o [[mw:Talk pages project/replying#Version%202.0|przejrzenie proponowanego projektu]] i wyrażenie swojego zdania na stronie dyskusji.</strong> Zostaną wypróbowane funkcje takie jak: **ułatwienie wywoływania użytkownika ("pinging"), **możliwość edycji formatowania, oraz **inne funkcje określone na podstawie testowania przez użytkowników lub przez nich zalecone. Aby dowiadywać się więcej o nowościach dotyczących prac działu Editing, dodaj swoją nazwę użytkownika w sekcji [[mw:Talk pages project#Get involved|<strong>"Get involved"</strong>]] na stronie projektu. Można też obserwować [[File:MediaWiki Vector skin blue star watchlist icon.svg|frameless|16px]] te strony: [[mw:Talk pages project|główna strona tego projektu]], [[mw:Talk pages project/Updates|nowości]], [[mw:Talk pages project/replying|odpowiadanie]] oraz [[mw:Talk pages project/replying/prototype testing|testowanie przez użytkowników]]. – [[user:PPelberg (WMF)|PPelberg (WMF)]] ([[mw:User talk:PPelberg (WMF)|talk]]) & [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:User talk:Whatamidoing (WMF)|talk]]) </div> 21:28, 8 kwi 2020 (CEST) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/sandbox3&oldid=19967063 --> == Editing news 2020 #2 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> <em>[[m:Special:MyLanguage/VisualEditor/Newsletter/2020/June|Przeczytaj w innym języku]] • [[m:Special:MyLanguage/VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]</em> [[File:TalkPages-Reply-v2.0.png|alt=Wizualizacja nowego sposobu umieszczania odpowiedzi|thumb|400x400px|Nowa funkcja dostarcza również pasek narzędzi. [[mw:Talk:Talk pages project/replying|Jak myślisz, co potrzeba, żeby znalazło się na pasku narzędzi?]]]] To wydanie newslettera o [[mw:Special:MyLanguage/Editing|rozwoju narzędzi do edytowania]] zawiera informacje o [[mw:Special:MyLanguage/Talk pages project|pracach nad usprawnieniem stron dyskusji]]. * [[mw:Special:MyLanguage/Talk pages project/replying|<strong>Narzędzie do odpowiadania</strong>]]: Jest ono dostępne jako funkcja eksperymentalna na czterech wiki, które włączyły się do współpracy (Wikipedia w języku arabskim, duńskim, francuskim i węgierskim). Nazwa, jaką należy znaleźć w ustawieniach to "{{int:discussiontools-preference-label}}". W ramach tego narzędzia pojawią się wkrótce kolejne [[mw:Special:MyLanguage/Talk pages project/replying#Version%202.0|funkcje]]. Będzie to na przykład wizualny tryb pisania odpowiedzi oraz wywoływanie użytkowników poprzez wpisanie <code>@</code>. Można już [[mw:Special:MyLanguage/Talk pages project/replying/prototype testing#Reply%20tool%20version%202.0|przetestować nowe funkcje]] na [[mw:Special:MyLanguage/Beta Cluster|serwerze testowym]]. Niektóre kolejne wiki będą mogły w ciągu najbliższych kilku miesięcy wypróbować je u siebie. * [[mw:Special:MyLanguage/New requirements for user signatures|<strong>Nowe wymagania co do podpisów użytkowników</strong>]]: Wkrótce użytkownicy nie będą mogli zapisać w [[Special:Preferences|preferencjach]] nieprawidłowych podpisów. Spowoduje to ograniczenie fałszowania podpisów, psucia stron, a nowe narzędzia do prowadzenia dyskusji będą działać lepiej. Większość użytkowników nie powinno zauważyć problemów, gdyż ich podpisy są prawidłowe. * [[mw:Special:MyLanguage/Talk pages project/New discussion|<strong>Narzędzie do zaczynania dyskusji</strong>]]: Rozpoczęły się prace zespołu Editing nad uproszczeniem procedury zakładania nowej dyskusji. Możesz [[mw:Special:MyLanguage/Talk pages project/New discussion#Design|zobaczyć wstępny projekt]]. * [[m:Special:MyLanguage/Research:Usage of talk pages|<strong>Badanie nad wykorzystywaniem stron dyskusji</strong>]]: Zespół Editing przy współpracy z [[mw:Special:MyLanguage/Wikimedia Research|działem badawczym Wikimedia]] badał, jak korzystanie ze stron dyskusji pomaga użytkownikom ulepszać artykuły. Dowiedzieliśmy się, że nowy użytkownicy, którzy korzystają ze stron dyskusji robią więcej edycji w przestrzeni głównej niż nowi użytkownicy, którzy nie korzystają ze stron dyskusji. – [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|dyskusja]]) </div> 22:36, 17 cze 2020 (CEST) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=20184676 --> == Feedback on movement names == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:Hello}}. Apologies if you are not reading this message in your native language. {{int:please-translate}} if necessary. {{Int:Feedback-thanks-title}} There are a lot of conversations happening about the future of our movement names. We hope that you are part of these discussions and that your community is represented. Since 16 June, the Foundation Brand Team has been running a [https://wikimedia.qualtrics.com/jfe/form/SV_9G2dN7P0T7gPqpD survey] in 7 languages about [[m:Special:MyLanguage/Communications/Wikimedia brands/2030 movement brand project/Naming convention proposals|3 naming options]]. There are also community members sharing concerns about renaming in a [[m:Special:MyLanguage/Community open letter on renaming|Community Open Letter]]. Our goal in this call for feedback is to hear from across the community, so we encourage you to participate in the survey, the open letter, or both. The survey will go through 7 July in all timezones. Input from the survey and discussions will be analyzed and published on Meta-Wiki. Thanks for thinking about the future of the movement, --[[:m:Talk:Communications/Wikimedia brands/2030 movement brand project|The Brand Project team]], 21:52, 2 lip 2020 (CEST) ''Note: The survey is conducted via a third-party service, which may subject it to additional terms. For more information on privacy and data-handling, see the [[foundation:Special:MyLanguage/Naming Convention Proposals Movement Feedback Survey Privacy Statement|survey privacy statement]].'' </div> <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/All_wikis_June_2020&oldid=20238848 --> == Editing news 2020 #3 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> == Wiadomości redakcyjne 2020 #3 == <em>[[m:VisualEditor/Newsletter/2020/July|Przeczytaj w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]</em> [[File:50M@2x.png|thumb|alt=Złota gwiazdka z niebieską wstęgą oraz tekst 50 m|Za pomocą edytora wizualnego dokonano ponad <strong>50 milionów edycji</strong>.|400px]] W tym miesiącu upływa siedem lat od momentu, gdy [[mw:Editing team|Zespół redakcyjny]] zaproponował większości redaktorów Wikipedii edytor wizualny. Od tamtej poty redaktorzy wiele dokonali, o czym świadczą liczby: * Za pomocą edytora wizualnego dokonano ponad <strong>50 milionów edycji</strong>. * W edytorze wizualnym utworzono ponad <strong>2 miliony nowych artykułów</strong>. Ponad 600 000 wspomnianych nowych artykułów powstało w 2019 roku. * <strong>Popularność</strong> edytora wizualnego <strong>rośnie</strong>. Od czasu jego wprowadzenia proporcjonalnie coraz więcej edycji dokonuje się właśnie za jego pomocą. * W 2019 roku <strong>35% edycji będących dziełem nowych osób</strong> (zalogowanych redaktorów mających na koncie ≤99 edycji) dokonano w edytorze wizualnym. Procent ten <strong>z roku na rok rośnie</strong>. * W edytorze wizualnym dokonano blisko <strong>5 milionów edycji na urządzeniach mobilnych</strong>. Większość tych edycji pochodzi z okresu, odkąd Zespół redakcyjny w 2018 roku zaczął udoskonalać [[mw:Mobile visual editor|mobilny edytor wizualny]]. * 17 listopada 2019 roku po raz pierwszy dokonano edycji w mobilnym edytorze wizualnym z <strong>przestrzeni kosmicznej</strong>. 🚀 👩‍🚀 * Redaktorzy dokonali ponad <strong>7 milionów edycji w edytorze wikitext z 2017 roku</strong>, wliczając powstałych w nim 600 000 nowych artykułów. [[mw:2017 wikitext editor|2017 wikitext editor]] to edytor wizualny wbudowany w tryb wikitext. Możesz go [[Special:Preferences#mw-prefsection-betafeatures|dostosować do własnych preferencji]] [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|Dyskusja]]) </div> 14:56, 9 lip 2020 (CEST) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=20232673 --> == Announcing a new wiki project! Welcome, Abstract Wikipedia == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> ===Ogłoszenie nowego projektu Wikimedia! Abstrakcyjna Wikipedio, witaj!=== Dzień dobry wszystkim, Mam zaszczyt przedstawić Abstrakcyjną Wikipedię, nowy projekt, który został jednogłośnie zatwierdzony przez Radę Powierniczą Fundacji Wikimedia. Abstrakcyjna Wikipedia proponuje nowy sposób generowania podstawowych treści encyklopedycznych w sposób wielojęzyczny, co pozwoli większej liczbie współpracowników i czytelników na dzielenie się wiedzą w większej liczbie języków. Jest to podejście, które ma na celu ułatwienie współpracy wielojęzycznej w naszych projektach, zwiększenie trwałości naszego ruchu poprzez rozszerzenie dostępu do uczestnictwa, poprawę doświadczenia użytkowników dla czytelników wszystkich języków oraz innowacje w zakresie wolnej wiedzy poprzez połączenie niektórych z mocnych stron naszego ruchu, aby stworzyć coś nowego. Jest to nasz pierwszy nowy projekt od ponad siedmiu lat. Streszczenie Wikipedii zostało przedłożone jako propozycja projektu przez Denny'ego Vrandečicia w maju 2020 roku <ref>[[m:Special:MyLanguage/Abstract Wikipedia|Abstract Wikipedia]]</ref> po latach przygotowań i badań, które doprowadziły do powstania szczegółowego planu i ożywionych dyskusji w społecznościach Wikimedia. Wiemy, że energia i kreatywność społeczności często napotyka na bariery językowe, a informacje dostępne w jednym języku mogą nie trafić do Wikipedii w innym języku. Abstrakcyjna Wikipedia ma z założenia wyglądać i być używana dokładnie jak tradycyjna Wikipedia, lecz zbudowana w oparciu o potężne, niezależne od języków naturalnych modele konceptualne Wikidata, mając na celu umożliwienie ochotnikom tworzenie i redagowanie artykułów Wikipedii dla całego, wielojęzycznego świata Wikimedii. Projekt pozwoli wolontariuszom zebrać podstawy artykułu za pomocą słów i elementów z Wikidata. Ponieważ Wikidata wykorzystuje modele konceptualne, które mają być uniwersalne we wszystkich językach, powinno być możliwe użycie i rozszerzenie tych elementów wiedzy w celu stworzenia modeli dla artykułów, które mają również wartość uniwersalną. Używając kodu, wolontariusze będą w stanie przetłumaczyć te abstract "artykuły" na swoje własne języki. Jeśli się to uda, może to w końcu umożliwić każdemu czytanie na dowolny temat w Wikidata w jego własnym języku. Jak możesz sobie wyobrazić, ta praca będzie wymagała dużego nakładu pracy przy tworzeniu oprogramowania i dużej współpracy pomiędzy Wikimedianami. Aby umożliwić ten wysiłek, Denny dołączy w lipcu do Fundacji jako pracownik i poprowadzi tę inicjatywę. Możesz znać Denny'ego jako twórcę Wikidata, wieloletniego członka społeczności, byłego pracownika Wikimedia Deutschland oraz byłego członka Rady Powierniczej Fundacji Wikimedia <ref>[[m:User:Denny|User:Denny]]</ref>. Jesteśmy bardzo podekscytowani, że Denny wniesie swoje umiejętności i wiedzę do pracy nad tym projektem wraz z zespołami ds. produktów, technologii i społeczności Fundacji. Ważne jest, aby przyznać, że jest to projekt eksperymentalny i że każda społeczność Wikipedii ma inne potrzeby. Ten projekt może oferować niektórym społecznościom ogromne korzyści. Inne społeczności mogą się mniej angażować. Każda społeczność Wikipedii w każdym języku będzie mogła swobodnie wybierać i moderować, czy i jak będzie korzystać z treści z tego projektu. Jesteśmy podekscytowani, że ten nowy wiki-projekt ma możliwość zwiększenia sprawiedliwości wiedzy poprzez zwiększony dostęp do wiedzy. Zaprasza nas on również do rozważenia i zaangażowania się w krytyczne pytania dotyczące tego, jak i przez kogo tworzona jest wiedza. Cieszymy się na współpracę ze społecznościami w celu przemyślenia tych ważnych pytań. Jest wiele do zrobienia, ponieważ zaczynamy projektować plan dla Wikipedii Abstract w ścisłej współpracy z naszymi społecznościami. Zachęcam Was do zaangażowania się w projekt i dołączenia do nowej listy mailingowej<ref>[[mail:abstract-wikipedia|Lista dyskusyjna Abstract Wikipedia]]</ref>. Zdajemy sobie sprawę, że Wikipedia Abstract jest ambitna, ale dostrzegamy również jej potencjał. Zapraszamy wszystkich do przyłączenia się do nas na nowej, niezbadanej ścieżce. Z poważaniem, Katherine Maher (dyrektor wykonawcza Fundacji Wikimedia) <references/> </div> <small>Sent by [[:m:User:Elitre (WMF)]] 21:56, 9 lip 2020 (CEST) - '''[[:m:Special:MyLanguage/Abstract Wikipedia/July 2020 announcement]]''' </small> <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/All_wikis_June_2020&oldid=20265886 --> == Technical Wishes: FileExporter and FileImporter become default features on all Wikis == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter i FileImporter]] staną się funkcjami standardowymi na wszystkich stronach wiki do 7 sierpnia 2020 r. Mają one pomóc autorom przenieść pliki z lokalnej wiki do Wikimedia Commons, zachowując jednocześnie wszystkie oryginalne informacje o pliku (Opis, Źródło, Data, Autor, Historia) nienaruszone. Dodatkowo przeniesienie jest udokumentowane w historii pliku. Jak to działa? 1. krok: Jeśli użytkownik jest automatycznie zatwierdzony, na stronie pliku lokalnego zobaczy link. 2. krok: po kliknięciu na ten link FileImporter sprawdza, czy plik można rzeczywiście przenieść do Wikimedia Commons. Te kontrole są wykonywane na podstawie [[m:WMDE_Technical_Wishes/Move_files_to_Commons/Configuration_file_documentation|pliku konfiguracyjnego]], który jest tworzony i utrzymywany przez każdą lokalną społeczność wiki. krok: Jeśli plik jest zgodny z Wikimedia Commons, nastąpi przejście do strony importu, na której można zaktualizować lub dodać informacje dotyczące pliku, takie jak opis. Można również dodać szablon “Now Commons” do pliku na lokalnej wiki, klikając odpowiednie pole wyboru w formularzu importu. Administratorzy mogą usunąć plik z lokalnej Wiki, zaznaczając pole wyboru. Kliknięcie przycisku na końcu strony powoduje import pliku do Wikimedia Commons. Jeśli chcesz dowiedzieć się więcej o [[m:WMDE_Technical_Wishes/Move_files_to_Commons|rozszerzeniu FileImporter]] lub o [[m:WMDE_Technical_Wishes|projekcie “Życzenia Techniczne”]], kliknij na linki. --W imieniu zespołu “Życzenia Techniczne”: </div>[[User:Max Klemm (WMDE)|Max Klemm (WMDE)]] 11:14, 6 sie 2020 (CEST) <!-- Wiadomość wysłana przez User:Max Klemm (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=20343133 --> == Important: maintenance operation on September 1st == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Przeczytaj w innym języku]] [[foundation:|Wikimedia Foundation]] będzie testowała swoją drugą, zapasową serwerownię. Upewni to nas, że Wikipedia i inne strony Wikimedia będą zawsze online, nawet w przypadku kataklizmu. Aby upewnić się, że wszystko działa, departament Technologii Wikimedia musi przeprowadzić zaplanowany test. Pokaże on, czy są w stanie przełączyć się z jednej serwerowni na inną. Wymaga to przygotowań do testu przez wiele zespołów i ich dostępności w celu naprawy jakichkolwiek nieprzewidzianych problemów. Cały ruch zostanie przełączony na zapasową serwerownię w '''czwartek, 1 września 2020'''. Niestety, z powodu niektórych ograniczeń w [[mw:Manual:What is MediaWiki?|MediaWiki]], wszystkie operacje edycyjne muszą zostać przerwane podczas przełączenia. Przepraszamy za te utrudnienia. Będziemy pracować nad tym, aby je zminimalizować w przyszłości. '''Każdą wiki przez krótki czas będzie można tylko czytać, ale nie edytować.''' *Edytowanie nie będzie możliwe przez maksymalnie godzinę, w czwartek 1 września. Test rozpocznie się o [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20200901T14 14:00 UTC] (15:00 BST, 16:00 CEST, 10:00 EDT, 07:00 PDT, 23:00 JST a w Nowej Zelandii o 02:00 NZST w środę 2 września). *Jeżeli będziesz próbował edytować lub zapisywać podczas tych okresów, zobaczysz komunikat błędu. Mamy nadzieję, że żadne edycje nie zostaną utracone podczas tego czasu, ale nie możemy tego zagwarantować. Jeżeli zauważysz komunikat o błędzie, poczekaj aż wszystko wróci do normy. Wtedy będzie możliwość zapisania swoich zmian. Zalecamy jednak zrobienie kopii swoich zmian na wszelki wypadek. ''Inne skutki'': *Zadania w tle będą wolniejsze, a niektóre mogą być przerywane. Czerwone linki mogą nie być aktualizowane tak szybko jak zwykle. Jeżeli utworzysz artykuł, do którego gdzieś prowadzi jakiś link to ten link będzie dłużej czerwony niż zwykle. Część skryptów, uruchamiających się na dłużej, zostaną zatrzymane. *Nie będzie zmian w kodzie na serwerze w tygodniu obejmującym 1 wrzesień 2020. Nie będą miały miejsca wdrożenia kodu o małym znaczeniu. W razie konieczności, terminy testu mogą się przesunąć. Możesz [[wikitech:Switch Datacenter#Schedule for 2020 switch|zapoznać się z harmonogramem na wikitech.wikimedia.org]]. Wszelkie zmiany będą ogłoszone w tymże harmonogramie. Będzie więcej powiadomień na ten temat. '''Prosimy, podziel się tą informacją ze swoją społecznością.''' </div></div> <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|talk]])</span> 15:48, 26 sie 2020 (CEST) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20384955 --> == Invitation to participate in the conversation == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''{{int:Hello}}. Apologies for cross-posting, and that you may not be reading this message in your native language: translations of the following announcement may be available on '''[[:m:Special:MyLanguage/Universal Code of Conduct/Draft review/Invitation (long version)|Meta]]'''. {{int:please-translate}}. {{Int:Feedback-thanks-title}}'' We are excited to share '''[[:m:Special:MyLanguage/Universal Code of Conduct/Draft review|a draft of the Universal Code of Conduct]]''', which the Wikimedia Foundation Board of Trustees called for earlier this year, for your review and feedback. The discussion will be open until October 6, 2020. The UCoC Drafting Committee wants to learn which parts of the draft would present challenges for you or your work. What is missing from this draft? What do you like, and what could be improved? Please join the conversation and share this invitation with others who may be interested to join, too. To reduce language barriers during the process, you are welcomed to translate this message and the [[:m:Special:MyLanguage/Universal Code of Conduct/Draft review|Universal Code of Conduct/Draft review]]. You and your community may choose to provide your opinions/feedback using your local languages. To learn more about the UCoC project, see the [[:m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct]] page, and the [[:m:Special:MyLanguage/Universal Code of Conduct/FAQ|FAQ]], on Meta. Thanks in advance for your attention and contributions, [[:m:Talk:Trust_and_Safety|The Trust and Safety team at Wikimedia Foundation]], 19:55, 10 wrz 2020 (CEST) </div> <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Universal_Code_of_Conduct/Draft_review/Invitation_(long_version)/List&oldid=20440292 --> == Wiki of functions naming contest == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> {{int:Hello}}. Pomóż wybrać nazwę nowego projektu Wikimedia. Ten projekt to będzie wiki, gdzie społeczność będzie współtworzyć bibliotekę [[m:Special:MyLanguage/Abstract_Wikipedia/Wiki_of_functions_naming_contest#function|funkcji]]. Społeczność będzie mogła tworzyć nowe funkcje, czytać o nich, omawiać je i udostępniać. Część z tych funkcji zostanie stworzona do tworzenia artykułów Wikipedii niezależnych od języka, które mogą zostać wygenerowane dla dowolnego języka, jako część Abstrakcyjnej Wikipedii. Mimo to będzie można także tworzyć inne funkcje. Głosowanie będzie składać się z dwóch etapów, poprzedzonych przeglądem pod kątem prawnym propozycji. Zaczną się one odpowiednio 29 września i 27 października. Docelowo zamierzamy mieć wybraną nazwę 8 grudnia. Jeżeli chcesz wziąć udział, przejdź do strony na meta-wiki gdzie możesz '''[[m:Special:MyLanguage/Abstract Wikipedia/Wiki of functions naming contest|dowiedzieć się szczegółów i oddać głos]]'''. {{Int:Feedback-thanks-title}} --[[m:User:Quiddity (WMF)|Quiddity (WMF)]]</div> 23:26, 29 wrz 2020 (CEST) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/Global_message_delivery_split_6&oldid=20492312 --> == Call for feedback about Wikimedia Foundation Bylaws changes and Board candidate rubric == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:Hello}}. Apologies if you are not reading this message in your native language. {{Int:Please-translate}}. Today the Wikimedia Foundation Board of Trustees starts two calls for feedback. One is about changes to the Bylaws mainly to increase the Board size from 10 to 16 members. The other one is about a trustee candidate rubric to introduce new, more effective ways to evaluate new Board candidates. The Board welcomes your comments through 26 October. For more details, [[m:Special:MyLanguage/Wikimedia Foundation Board noticeboard/October 2020 - Call for feedback about Bylaws changes and Board candidate rubric|check the full announcement]]. {{Int:Feedback-thanks-title}} [[m:User:Qgil-WMF|Qgil-WMF]] ([[m:User talk:Qgil-WMF|talk]]) 19:09, 7 paź 2020 (CEST) </div> <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/Board2&oldid=20519857 --> == Important: maintenance operation on October 27 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Przeczytaj w innym języku]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch+2020&language=&action=page&filter= {{int:please-translate}}] [[foundation:|Wikimedia Foundation]] testuje przełączanie na swoją drugą, zapasową serwerownię. Upewni to nas, że Wikipedia i inne strony Wikimedia będą zawsze online, nawet w przypadku kataklizmu. Aby upewnić się, że wszystko działa, departament Technologii Wikimedia musi przeprowadzić zaplanowany test. Pokaże on, czy są w stanie przełączyć się z jednej serwerowni na inną. Wymaga to przygotowań do testu przez wiele zespołów i ich dostępności w celu naprawy jakichkolwiek nieprzewidzianych problemów. Cały ruch zostanie z powrotem przełączony na podstawową serwerownię we '''wtorek, 27 października 2020'''. Niestety, z powodu niektórych ograniczeń w [[mw:Manual:What is MediaWiki?|MediaWiki]], wszystkie operacje edycyjne muszą zostać przerwane podczas przełączenia. Przepraszamy za te utrudnienia. Będziemy pracować nad tym, aby je zminimalizować w przyszłości. '''Każdą wiki przez krótki czas będzie można tylko czytać, ale nie edytować.''' *Edytowanie nie będzie możliwe przez maksymalnie godzinę, we wtorek, 27 października. Test rozpocznie się o [https://zonestamp.toolforge.org/1603807200 14:00 UTC] (14:00 WET, 15:00 CET, 10:00 EDT, 07:00 PDT, 23:00 JST a w Nowej Zelandii o 03:00 NZDT w środę 28 października). *Jeżeli spróbujesz edytować lub zapisywać zmiany w tym czasie, zobaczysz komunikat o błędzie. Mamy nadzieję, że żadne edycje nie zostaną utracone podczas tego czasu, ale nie możemy tego zagwarantować. Jeżeli zauważysz komunikat o błędzie, poczekaj aż wszystko wróci do normy. Będzie wtedy możliwe zapisanie zmian. Zalecamy jednak zrobienie kopii swoich zmian, na wszelki wypadek. ''Inne skutki'': *Zadania w tle będą wolniejsze, a niektóre mogą być przerywane. Czerwone linki mogą nie być aktualizowane tak szybko jak zwykle. Jeżeli utworzysz artykuł, do którego gdzieś prowadzi jakiś link to ten link będzie dłużej czerwony niż zwykle. Część skryptów, uruchamiających się na dłużej, zostaną zatrzymane. *Nie będzie zmian w kodzie na serwerze w tygodniu obejmującym 26 października 2020. Nie będą miały miejsca wdrożenia kodu o małym znaczeniu. W razie konieczności, terminy testu mogą się przesunąć. Możesz [[wikitech:Switch_Datacenter#Schedule_for_2020_switch|zapoznać się z harmonogramem na wikitech.wikimedia.org]]. Wszelkie zmiany będą ogłoszone w tymże harmonogramie. Będzie więcej powiadomień na ten temat. Na wszystkich wiki na 20 minut przed zostanie wyświetlony banner, zanim ta operacja się zacznie. '''Prosimy, podziel się tą informacją ze swoją społecznością.'''</div></div> -- <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|talk]])</span> 19:10, 21 paź 2020 (CEST) <!-- Wiadomość wysłana przez User:Trizek (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20519839 --> == Nowa kategoria wewnątrz Języków == Czołem, dodałem nową kategorię [[:Kategoria:Języki indoeuropejskie|Języki indoeuropejskie]] wewnątrz Języków, na wzór pozostałych wikiprojektów i dla szybkiego dostępu do listy wszystkich języków indoeuropejskich z Wikipedii i reszty. Pierwszy raz edytuję Wikibooks, informacja na wypadek, gdyby naruszało to jakieś wewnętrzne ustalenia. [[Wikipedysta:SolarisAmigo|SolarisAmigo]] ([[Dyskusja wikipedysty:SolarisAmigo|dyskusja]]) 19:52, 2 lis 2020 (CET) == Wiki of functions naming contest - Round 2 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> {{int:Hello}}. Przypomnienie: Pomóż wybrać nazwę dla nowego projektu Wikimedia - biblioteki funkcji. Głosowanie drugiej tury zaczyna się dzisiaj. Nazwy, które przeszły do tego etapu: <span lang="en" dir="ltr" class="mw-content-ltr">Wikicode, Wikicodex, Wikifunctions, Wikifusion, Wikilambda, Wikimedia Functions</span>. Jeżeli chcesz wziąć udział, przejdź do strony na meta-wiki gdzie możesz '''[[m:Special:MyLanguage/Abstract Wikipedia/Wiki of functions naming contest/Names|dowiedzieć się szczegółów i oddać głos]]'''. {{Int:Feedback-thanks-title}} --[[m:User:Quiddity (WMF)|Quiddity (WMF)]] </div> 23:10, 5 lis 2020 (CET) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20564572 --> == [[m:Special:MyLanguage/Community Wishlist Survey 2021/Invitation|Community Wishlist Survey 2021]] == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[File:Magic Wand Icon 229981 Color Flipped.svg|thumb|48px]] Ruszyła '''[[m:Special:MyLanguage/Community Wishlist Survey 2021|Lista życzeń społeczności 2021]]'''! W tej procedurze społeczność decyduje, nad czym w następnym roku ma pracować zespół [[m:Community Tech|Community Tech]]. Zachęcamy do przesyłania swoich propozycji narzędzi i ulepszeń technicznych do '''{{#time:j xg|2020-11-30|{{PAGELANGUAGE}}}}''', a także do komentowania innych propozycji, aby je ulepszyć zanim rozpocznie się głosowanie. Od {{#time:j xg|2020-12-08|{{PAGELANGUAGE}}}} do {{#time:j xg|2020-12-21|{{PAGELANGUAGE}}}} społeczności będą głosowały nad zgłoszonymi propozycjami. Zespół Community Tech zajmuje się narzędziami dla zaawansowanych edytorów. Propozycje można pisać w dowolnym języku - zostaną one przetłumaczone. Dziękujemy i wyczekujemy Twoich propozycji! </div> <span lang="en" dir="ltr" class="mw-content-ltr">[[m:user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]]</span> 19:15, 20 lis 2020 (CET) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP20&oldid=20689748 --> == Wikidata descriptions changes to be included more often in Recent Changes and Watchlist == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''Sorry for sending this message in English. Translations are available on [[m:Special:MyLanguage/Announcements/Announcement Wikidata descriptions in watchlist|this page]]. Feel free to translate it in more languages!'' As you may know, you can include changes coming from Wikidata in your Watchlist and Recent Changes ([[Special:Preferences#mw-prefsection-watchlist|in your preferences]]). Until now, this feature didn’t always include changes made on Wikidata descriptions due to the way Wikidata tracks the data used in a given article. Starting on December 3rd, the Watchlist and Recent Changes will include changes on the descriptions of Wikidata Items that are used in the pages that you watch. This will only include descriptions in the language of your wiki to make sure that you’re only seeing changes that are relevant to your wiki. This improvement was requested by many users from different projects. We hope that it can help you monitor the changes on Wikidata descriptions that affect your wiki and participate in the effort of improving the data quality on Wikidata for all Wikimedia wikis and beyond. Note: if you didn’t use the Wikidata watchlist integration feature for a long time, feel free to give it another chance! The feature has been improved since the beginning and the content it displays is more precise and useful than at the beginning of the feature in 2015. If you encounter any issue or want to provide feedback, feel free to use [[Phab:T191831|this Phabricator ticket]]. Thanks! [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 15:39, 30 lis 2020 (CET) </div> <!-- Wiadomość wysłana przez User:Lea Lacroix (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Lea_Lacroix_(WMDE)/wikis&oldid=20728482 --> == 2020 Coolest Tool Award Ceremony on December 11th == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello all, The ceremony of the 2020 [[m:Coolest_Tool_Award|Wikimedia Coolest Tool Award]] will take place virtually on Friday, December 11th, at 17:00 GMT. This award is highlighting tools that have been nominated by contributors to the Wikimedia projects, and the ceremony will be a nice moment to show appreciation to the tools developers and maybe discover new tools! You will find more information [[m:Coolest_Tool_Award|here]] about the livestream and the discussions channels. Thanks for your attention, [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 11:55, 7 gru 2020 (CET) </div> <!-- Wiadomość wysłana przez User:Lea Lacroix (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20734978 --> == Badanie Życzeń Społeczności 2021 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[File:Magic Wand Icon 229981 Color Flipped.svg|thumb|48px]] '''Zapraszamy wszystkich zarejestrowanych użytkowników do głosowania w [[m:Special:MyLanguage/Community Wishlist Survey 2021|Badaniu Życzeń Społeczności 2021]]. Możecie głosować od dzisiaj do {{#time:j xg|2020-12-21|pl}} na tyle życzeń, na ile chcecie'''. W Badaniu zgromadzone są życzenia utworzenia nowych lub poprawy istniejących narzędzi dla doświadczonych użytkowników. Po fazie głosowania postaramy się spełnić wasze życzenia. Zaczniemy od tych najbardziej popularnych. My, [[m:Special:MyLanguage/Community Tech|Community Tech]], jesteśmy jednym z zespołów [[m:Special:MyLanguage/Wikimedia Foundation|Wikimedia Foundation]]. Tworzymy i poprawiamy narzędzia do edytowania i administracji na wiki. Nasza lista zadań powstaje na bazie wyników Badania Życzeń Społeczności. Raz w roku możecie zgłaszać życzenia. Po dwóch tygodniach głosujecie na te, które najbardziej was interesują. Następnie wybieramy życzenia, nad którymi pracujemy. Niektóre życzenia mogą być spełnione przez wolontariuszy lub przez inne zespoły. Czekamy na wasze głosy. Dziękujemy! </div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] 16:55, 11 gru 2020 (CET) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP20&oldid=20689748 --> == Powszechne Zasady Postępowania – ruszają konsultacje! == Droga społeczności. W ciągu kilku najbliższych tygodni [[w:pl:Wikimedia Foundation|Wikimedia Foundation]] będzie prowadzić konsultacje związane z implementacją [[:meta:Universal Code of Conduct/Draft review/pl|Powszechnych Zasad Postępowania (PZP)]] (ang. ''Universal Code of Conduct''), które będą stanowić załącznik do obecnie obowiązujących [https://foundation.wikimedia.org/wiki/Terms_of_Use/pl Warunków użytkowania] (ang. ''Terms of Use''). === Czym będą Powszechne Zasady Postępowania? === PZP mają być dokumentem, który będzie normował zachowania i wskazywał na właściwe zasady postępowania we wszystkich projektach Wikimedia. Poprzez zawarcie spisu nieodpowiednich zachowań, które nie będą akceptowane w naszych projektach, będzie dbał o bezpieczeństwo wszystkich użytkowników. Ma on również zapewnić jednolite zasady postępowania w tych społecznościach, które nie mają własnych szczegółowych regulacji i zasad związanych z zachowaniem użytkowników. W związku z tym będzie on pomagał głównie mniejszym oraz młodszym projektom, które nie miały jeszcze okazji spisać swoich własnych reguł z tym związanych. [[:m:Universal Code of Conduct/Initial 2020 Consultations|Konsultacje przeprowadzone w 2019 roku oraz w pierwszej połowie 2020 roku]] pozwoliły na przygotowanie wstępnej propozycji zasad, jednak nadal brakuje przepisów związanych z implementacją oraz wdrożeniem w życie PZP. W tym celu, od 18 stycznia 2021 roku rozpoczynają się konsultacje w wielu społecznościach projektów Wikimedia. === Na czym będą polegały konsultacje? === W styczniu i lutym 2021 roku zostanie zaangażowanych dziewięciu koordynatorów w serię konsultacji, które obejmą najróżniejsze projekty Wikimedia (różne społeczności językowe oraz społeczności użytkowników Wikidanych i Commons). Jedną z wybranych społeczności, została społeczność polskojęzyczna, a jednym z moderatorów [[User:MNadzikiewicz (WMF)|będę ja]]. W nadchodzących tygodniach będziemy mieli okazję razem porozmawiać na temat naszych odczuć, wizji oraz sposobu implementacji w związku z wprowadzaniem PZP. Celem Wikimedia Foundation jest pozyskanie informacji z różnych społeczności i dopiero na podstawie przeprowadzanych konsultacji, nasz zespół przygotuje i zaprezentuje raporty i różne możliwości wcielenia PZP w życie. Zachęcam wszystkich do dzielenia się swoją opinią ze mną oraz z innymi członkami naszej społeczności. Równolegle do konsultacji ze społecznością, w lutym ruszą również konsultacje dla afiliantów (np. [[w:pl:Wikimedia Polska|Wikimedia Polska]] lub [[meta:WikiWomen's User Group|WikiWomen's User Group]]). === Jak wziąć udział? === Zapraszam do wyrażenia swojej opinii w najwygodniejszy dla Was sposób. Żeby umożliwić każdej chętnej użytkowniczce i każdemu chętnemu użytkownikowi udział w konsultacjach, będą one przeprowadzane na kilka sposobów: # Dyskusja w Kawiarence polskiej Wikipedii pod '''[[w:pl:Wikipedia:Kawiarenka/Zasady#Powszechne Zasady Postępowania – ruszają konsultacje!|tym wątkiem]]''' oraz ewentualnymi tworzonymi w przyszłości; # Poprzez rozpoczęcie nowego wątku na [[w:pl:User talk:MNadzikiewicz (WMF)|mojej stronie dyskusji]]; # Poprzez wysłanie mi [[Specjalna:E-mail/MNadzikiewicz_(WMF)|prywatnej wiadomość za pomocą wikimaila]]; # Podczas spotkania (grupowego lub indywidualnego) ze mną, o których będę informował w przyszłości. Dyskusja prowadzona jest w Kawiarence polskojęzycznej Wikipedii, ponieważ jest to największy projekt polskojęzycznej społeczności. W miarę potrzeb będą również organizowane konsultacje z członkami (zarówno 1-1, jak i grupowe) z różnych sfer oraz projektów naszej społeczności, za pośrednictwem platformy internetowej Zoom lub Google Meet (o terminach i informacjach wkrótce). Dodatkowo, w nadchodzących tygodniach zostanie uruchomiona anonimowa ankieta dla członków społeczności, którzy chcieliby prywatnie przekazać swoje odczucia związane z tematem PZP, a także otaczających go sfer (stan zasad w naszym projekcie, niechciane i potencjalnie niebezpieczne sytuacje oraz wszelkie sprawy dotyczące zachowania użytkowników projektów Wikimedia). Chętnych do bezpośredniego otrzymania ankiety proszę o zgłaszanie się do mnie za pomocą [[Specjalna:E-mail/MNadzikiewicz_(WMF)|wikimaila]]. Zachęcam również do odwiedzenia strony [[:meta:Universal Code of Conduct/FAQ/pl|Najczęściej Zadawanych Pytań]], na której możecie znaleźć odpowiedź na najczęściej nurtujące społeczność pytania. W razie wszelkich pytań proszę o komentarze w dyskusji lub o pingi, żeby mieć pewność, że dotrę do waszej wiadomości. Życzę owocnej dyskusji! [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 19:10, 18 sty 2021 (CET) === Powszechne Zasady Postępowania – Ogłoszenie z 3 lutego 2021 === Wczoraj, tj. 3 lutego 2021, Rada Powiernicza Wikimedia Foundation ratyfikowała tekst Powszechnych Zasad Postępowania. Również dzisiaj na Meta-Wiki zostaną (część została już opublikowana) opublikowane m.in. następujące materiały: # Zaktualizowana wersja Powszechnych Zasad Postępowania # Rozszerzona lista [[meta:Universal_Code_of_Conduct/FAQ/pl|najczęściej zadawanych pytań]] # Nowa i odswieżona strona informujaca o [[meta:Universal Code of Conduct|Powszechnych Zasad Postępowania]] i związanymi z nimi procesami # Oświadczenie Rady Powierniczej Wikimedia Foundation w sprawie przyjęcia PZP Na prośbę użytkowników w dyskusji powyżej, przetłumaczę je na język polski zgodnie ze swoimi umiejętnościami, proszę jednak o życzliwość oraz chwilę cierpliwości i wyrozumienia, ponieważ opublikowane dokumenty zawierają dużo materiałów, nad którymi należy spędzić trochę czasu. [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 15:42, 3 lut 2021 (CET) === Powszechne Zasady Postępowania – Zaproszenie na spotkania 8-14 lutego 2021 === Od dzisiaj można rejestrować się na spotkania społeczności, podczas których dyskutowane będą różne propozycje związane z wprowadzeniem w życie Powszechnych Zasad Postępowania. W '''[[w:Wikipedysta:MNadzikiewicz (WMF)/zgłoszenia|tym miejscu]]''' można zarejestrować swoją chęć uczestnictwa w takim spotkaniu. Po zgłoszeniu się wszystkich chętnych, zarejestrowani użytkownicy zostaną za pomocą wiki-maila poinformowani o terminie oraz sposobie dołączenia do spotkania. W razie wszelkich pytań, zapraszam poniżej, lub bezpośrednio do mnie za pomocą maila lub strony dyskusji. [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 21:05, 4 lut 2021 (CET) === Powszechne Zasady Postępowania – Ostatnie 2 tygodnie konsultacji === Konsultacje dotyczące wdrożenia i egzekwowania Powszechnych Zasad Postępowania kończą się 28 lutego 2021 roku. Oznacza to, że zostały jeszcze tylko 2 tygodnie na podzielenie się swoją wizją i pomysłami związanymi z Powszechnymi Zasadami Postępowania. To właśnie na podstawie pomysłów społeczności i Waszych uwag nasz zespół będzie pracował nad utworzeniem sposobu egzekwowania zasad, który będzie satysfakcjonujący dla wszystkich członków ruchu Wikimedia. Zapraszam wszystkich do wypowiedzenia się przy użyciu [[w:pl:Wikipedia:PZP|ankiety]] lub do kontaktu bezpośrednio ze mną! [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 18:35, 15 lut 2021 (CET) == Moving Wikimania 2021 to a Virtual Event == <div class="mw-content-ltr" lang="en" dir="ltr"> [[File:Wikimania_logo_with_text_2.svg|right|alt=Wikimania's logo.|75px]] ''{{int:Hello}}. Apologies if you are not reading this message in your native language. {{Int:Please-translate}}. {{Int:Feedback-thanks-title}}'' [[:m:Wikimania 2021|Wikimania will be a virtual event this year]], and hosted by a wide group of community members. Whenever the next in-person large gathering is possible again, [[:m:ESEAP Hub|the ESEAP Core Organizing Team]] will be in charge of it. Stay tuned for more information about how ''you'' can get involved in the planning process and other aspects of the event. [https://lists.wikimedia.org/pipermail/wikimedia-l/2021-January/096141.html Please read the longer version of this announcement on wikimedia-l]. ''ESEAP Core Organizing Team, Wikimania Steering Committee, Wikimedia Foundation Events Team'', 16:15, 27 sty 2021 (CET) </div> <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/Wikimania21&oldid=21014617 --> == Project Grant Open Call == This is the announcement for the [[m:Grants:Project|Project Grants program]] open call that started on January 11, with the submission deadline of February 10, 2021.<br> This first open call will be focussed on Community Organizing proposals. A second open call focused on research and software proposals is scheduled from February 15 with a submission deadline of March 16, 2021.<br> For the Round 1 open call, we invite you to propose grant applications that fall under community development and organizing (offline and online) categories. Project Grant funds are available to support individuals, groups, and organizations to implement new experiments and proven ideas, from organizing a better process on your wiki, coordinating a campaign or editathon series to providing other support for community building. We offer the following resources to help you plan your project and complete a grant proposal:<br> * Weekly proposals clinics via Zoom during the Open Call. Join us for [[m:Grants:Project|#Upcoming_Proposal_Clinics|real-time discussions]] with Program Officers and select thematic experts and get live feedback about your Project Grants proposal. We’ll answer questions and help you make your proposal better. We also offer these support pages to help you build your proposal: * [[m:Grants:Project/Tutorial|Video tutorials]] for writing a strong application<br> * General [[m:Grants:Project/Plan|planning page]] for Project Grants <br> * [[m:Grants:Project/Learn|Program guidelines and criteria]]<br> Program officers are also available to offer individualized proposal support upon request. Contact us if you would like feedback or more information.<br> We are excited to see your grant ideas that will support our community and make an impact on the future of Wikimedia projects. Put your idea into motion, and [[m:Grants:Project/Apply|submit your proposal]] by February 10, 2021!<br> Please feel free to get in touch with questions about getting started with your grant application, or about serving on the Project Grants Committee. Contact us at projectgrants{{at}}wikimedia.org. Please help us translate this message to your local language. [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 09:00, 28 sty 2021 (CET) <!-- Wiadomość wysłana przez User:RSharma (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20808431 --> == Wiki Loves Folklore 2021 is back! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2021|Wiki Loves Folklore 2021]]''' an international photography contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the 1st till the 28th of February. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2021 submitting] them in this commons contest. Please support us in translating the [[:c:Commons: Wiki Loves Folklore 2021|project page]] and a [https://meta.wikimedia.org/wiki/Special:Translate?group=Centralnotice-tgroup-wikiloveslove2020&language=en&filter=%21translated&action=translate|one-line banner message] to help us spread the word in your native language. '''Kind regards,''' '''Wiki loves Folklore International Team''' [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 14:25, 6 lut 2021 (CET) </div> <!-- Wiadomość wysłana przez User:Tiven2240@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wll&oldid=21073884 --> == Wikifunctions logo contest == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> {{Int:Hello}}. Proszę o pomoc w wyborze koncepcji projektu logo nowej wiki Wikifunctions. Głosowanie rozpoczyna się dzisiaj i potrwa 2 tygodnie. Jeśli chcesz wziąć udział, to '''[[m:Special:MyLanguage/Abstract Wikipedia/Wikifunctions logo concept/Vote|dowiedz się więcej i zagłosuj teraz]]''' na Meta-Wiki. {{Int:Feedback-thanks-title}} --[[m:User:Quiddity (WMF)|Quiddity (WMF)]]</div> 02:45, 2 mar 2021 (CET) <!-- Wiadomość wysłana przez User:Quiddity (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21087740 --> == Barwienie komórek w tabelach == Zwracam się z prośbą o pomoc. Jak zrobić, żeby w tworzonych tabelach utworzyć barwne komórki? chodzi mi o taki efekt jak tu: '''[[s:Strona:PL Wstępna charakterystyka bakteriofaga Serratia φOS10 J. Kamiński.pdf/84]]'''. Kiedy próbowałem uzyskać ten sam efekt po wpisaniu kodu źródłowego z tamtej strony w okienko edycyjne na Wikibooks, to cała tabela była przezroczysta. [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 17:51, 5 kwi 2021 (CEST) : Problem leży w [[MediaWiki:Common.css]], wiersze od [[MediaWiki:Common.css#L-186|L-186]] do [[MediaWiki:Common.css#L-234|L-234]] ([[Specjalna:Niezmienny link/378784|permalink]]). Kod dla klas <code>wikitable</code> oraz <code>prettytable</code> jest przestarzały i przesłania wartości przypisane dla standardowej klasy MW <code>wikitable</code>, w tym atrybut <code>bgcolor</code> tabelki, którą próbujesz przekleić. Proponuję porzucić niestandardowe klasy (koniecznie przejrzeć strony, na których nadal są wykorzystywane) i usunąć z Common.css, albo zdefiniować osobne style CSS (albo Common.css, albo przy pomocy [[mw:Extension:TemplateStyles]]) i wykorzystać w tabelce zamiast <code>bgcolor</code>. [[Wikipedysta:Peter Bowman|Peter Bowman]] ([[Dyskusja wikipedysty:Peter Bowman|dyskusja]]) 18:06, 7 kwi 2021 (CEST) {| style="margin-left: auto; margin-right: auto; border: none;" |align=center bgcolor=#FFFF00|Numer<br>pomiaru |align=center bgcolor=#FFFF00|Czas<br>(min) |align=center bgcolor=#FFFF00|Ilość łysinek<br>(A) |align=center bgcolor=#FFFF00|PFU/ml<br>(A) |align=center bgcolor=#FFFF00|Ilość łysinek<br>(B) |align=center bgcolor=#FFFF00|PFU/ml<br>(B) |- |align=center bgcolor=#99FF99|1 |align=center|6 |align=center|83 |align=center|830 |align=center| |align=center| |- |align=center bgcolor=#99FF99|2 |align=center|21 |align=center|96 |align=center|960 |align=center| |align=center| |- |align=center bgcolor=#99FF99|3 |align=center|36 |align=center|76 |align=center|760 |align=center| |align=center| |- |align=center bgcolor=#99FF99|4 |align=center|51 |align=center|71 |align=center|710 |align=center| |align=center| |- |align=center bgcolor=#99FF99|5 |align=center|66 |align=center|69 |align=center|690 |align=center| |align=center| |- |align=center bgcolor=#99FF99|6 |align=center|81 |align=center|80 |align=center|800 |align=center| |align=center| |- |align=center bgcolor=#99FF99|7 |align=center|86 |align=center|92 |align=center|920 |align=center| |align=center| |- |align=center bgcolor=#99FF99|8 |align=center|91 |align=center|67 |align=center|670 |align=center|8 |align=center|800 |- |align=center bgcolor=#99FF99|9 |align=center|96 |align=center|92 |align=center|920 |align=center|11 |align=center|1100 |- |align=center bgcolor=#99FF99|10 |align=center|101 |align=center|101 |align=center|1010 |align=center|7 |align=center|700 |- |align=center bgcolor=#99FF99|11 |align=center|106 |align=center|97 |align=center|970 |align=center|31 |align=center|3100 |- |align=center bgcolor=#99FF99|12 |align=center|111 |align=center|407 |align=center|4070 |align=center|20 |align=center|2000 |- |align=center bgcolor=#99FF99|13 |align=center|116 |align=center|389 |align=center|3890 |align=center|22 |align=center|2200 |- |align=center bgcolor=#99FF99|14 |align=center|121 |align=center|554 |align=center|5540 |align=center|49 |align=center|4900 |- |align=center bgcolor=#99FF99|15 |align=center|126 |align=center| |align=center| |align=center|330 |align=center|33000 |- |align=center bgcolor=#99FF99|16 |align=center|131 |align=center| |align=center| |align=center|270 |align=center|27000 |- |align=center bgcolor=#99FF99|17 |align=center|136 |align=center| |align=center| |align=center|146 |align=center|14600 |- |align=center bgcolor=#99FF99|18 |align=center|141 |align=center| |align=center| |align=center|233 |align=center|23300 |- |align=center bgcolor=#99FF99|19 |align=center|146 |align=center| |align=center| |align=center|234 |align=center|23400 |- |align=center bgcolor=#99FF99|20 |align=center|151 |align=center| |align=center| |align=center|125 |align=center|12500 |- |} + ręcznie musisz porobić krawędzie style="border:top/bottom/left/right .... [[Wikipedysta:Draco flavus|Draco flavus]] ([[Dyskusja wikipedysty:Draco flavus|dyskusja]]) 19:59, 7 kwi 2021 (CEST) == Line numbering coming soon to all wikis == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> [[File:Technical_Wishes_–_Line_numbering_-_2010_wikitext_editor.png|thumb|Przykład]] Od 15 kwietnia będzie możliwe włączenie numerowania linii w niektórych edytorach wikitekstu - początkowo w przestrzeni nazw Szablon, następnie w pozostałych. Funkcja ta ułatwi rozpoznawanie końca linii, jak również odnoszenie się do konkretnej linii w dyskusjach. Numery linii będą widoczne, jeśli aktywujesz funkcję kolorowania składni (za pomocą [[mw:Special:MyLanguage/Extension:CodeMirror|rozszerzenia CodeMirror]]). Funkcja ta jest dostępna w [[mw:Special:MyLanguage/Extension:WikiEditor|edytorze wikitekstu 2010 (rozszerzenie WikiEditor)]] i oraz [[mw:Special:MyLanguage/2017 wikitext editor|edytorze wikitekstu 2017]]. Więcej informacji znajduje się [[m:WMDE Technical Wishes/Line Numbering|na stronie projektu]]. Zapraszamy wszystkich do testowania nowej funkcji i dzielenia się opinią [[m:talk:WMDE Technical Wishes/Line Numbering|na tej stronie dyskusji]]. </div> -- [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 17:09, 12 kwi 2021 (CEST) <!-- Wiadomość wysłana przez User:Johanna Strodt (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=21329014 --> == Suggested Values == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> From April 29, it will be possible to suggest values for parameters in templates. Suggested values can be added to [[mw:Special:MyLanguage/Help:TemplateData|TemplateData]] and will then be shown as a drop-down list in [[mw:Special:MyLanguage/Help:VisualEditor/User guide|VisualEditor]]. This allows template users to quickly select an appropriate value. This way, it prevents potential errors and reduces the effort needed to fill the template with values. It will still be possible to fill in values other than the suggested ones. More information, including the supported parameter types and how to create suggested values: [[mw:Help:TemplateData#suggestedvalues|[1]]] [[m:WMDE_Technical_Wishes/Suggested_values_for_template_parameters|[2]]]. Everyone is invited to test the feature, and to give feedback [[m:Talk:WMDE Technical Wishes/Suggested values for template parameters|on this talk page]]. </div> [[m:User:Timur Vorkul (WMDE)|Timur Vorkul (WMDE)]] 16:08, 22 kwi 2021 (CEST) <!-- Wiadomość wysłana przez User:Timur Vorkul (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=21361904 --> == Przesyłanie plików w formacie EPUB na Wikibooks == Trochę dawno mnie tu nie było, więc postanowiłem to nadrobić próbując przepisać jakąś książkę do formatu EPUB. Wybór padł na [[Szachy]]. Mam już gotowy projekt i chciałbym go udostępnić innym wikipedystom, ale natrafiłem na barierę: Gdy klikam w [[c:Special:UploadWizard|Prześlij plik]] w lewym menu, to zostaję odesłany na Commons. Niby to bez znaczenia, ale z jakiegoś powodu na Commons nie można przesyłać plików EPUB. Toteż mam pytanie do adminów: '''czy da się przesłać plik tutaj, na polską Wikibooks?''' [[{{ns:user}}:Felix|Felix]] ([[{{ns:user talk}}:Felix|dyskusja]] <small>•</small> [[Special:Contributions/Felix|edycje]]) 16:16, 10 cze 2021 (CEST) == Universal Code of Conduct News – Issue 1 == <section begin="ucoc-newsletter"/> <div style = "line-height: 1.2"> <span style="font-size:200%;">'''Biuletyn Powszechnych Zasad Postępowania'''</span><br> <span style="font-size:120%; color:#404040;">'''Wydanie 1 – czerwiec 2021'''</span><span style="font-size:120%; float:right;">[[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/1|'''Przeczytaj cały biuletyn''']]</span> ---- Przedstawiamy pierwsze wydanie Biuletynu [[m:Special:MyLanguage/Universal Code of Conduct|Powszechnych Zasad Postępowania]]! Ten biuletyn ma na celu pomóc społeczności Wikimedia brać udział w procesie tworzenie nowych zasad. Za jego pośrednictwem udostępniane będą nowe wiadomości, badania i raporty oraz informacje o wydarzeniach związanych z Powszechnymi Zasadami Postępowania. Należy pamiętać, że pierwszy numer Biuletynu PZP jest dostarczany wszystkim subskrybentom i projektom jako zapowiedź inicjatywy związanej z jego publikacją. Jeśli chcesz, aby przyszłe wydania były dostarczane na twoją stronę dyskusji, strony Kawiarenki lub inne wybrane przez Ciebie strony, musisz [[m:Special:MyLanguage/Global message delivery/Targets/UCoC Newsletter Subscription|zasubskrybować tutaj]]. Możesz pomóc nam tłumacząc biuletyn na języki, w których nie jest jeszcze dostępny. Pomoże to szerzyć informacje o Powszechnych Zasadach Postępowania pośród społeczności, a przez to, uczyni ją bezpieczniejszą. [[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/Participate|Dopisz się '''tutaj''']], jeśli chcesz być informowany o przygotowaniach do publikacji kolejnych edycji biuletynu. Dziękujemy za pomoc! </div><div style="margin-top:3px; padding:10px 10px 10px 20px; background:#fffff; border:2px solid #808080; border-radius:4px; font-size:100%;"> * '''Konsultacje z organizacjami afiliowanymi''' – Wszystkie organizacje afiliowane w ruchu Wikimedia zostały zaproszone do wzięciu udziału w konsultacjach, które odbywały się w marcu i kwietniu 2021 roku. ([[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/1#sec1|Czytaj dalej]]) * '''Konsultacje w projektach w 2021 roku''' – Wikimedia Foundation przeprowadziła konsultacje z szerzą społecznością Wikimedia dotyczące kluczowych pytań związanych z egzekwowaniem PZP w kwietniu i maju 2021 roku. ([[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/1#sec2|Czytaj dalej]]) * '''Spotkania z zainteresowanymi użytkownikami''' – Zespół ds. Powszechnych Zasad Postępowania zorganizował w maju 2021 roku 90-minuotwe spotkania otwarte dla społeczności, w ramach których dyskutowano o egzekwowaniu PZP. W przyszłości planowane są kolejne spotkania. ([[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/1#sec3|Czytaj dalej]]) * '''Grupa robocza ds. przygotowania PZP – Faza 2''' – Grupa robocza złożona z wolontariuszy i pracowników Wikimedia Foundation rozpoczęła swoja pracę 12 maja 2021 roku. Dostępne są podsumowania ich spotkań. ([[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/1#sec4|Czytaj dalej]]) * '''Blogi w serwisie Diff''' – Facylitatorzy Powszechnych Zasad Postępowania przygotowali wpisy na blogu, które oparli o ciekawe ustalenia i spostrzeżenia, które dostrzegli podczas lokalnych konsultacji, które miały miejsce w I kwartale 2021 roku. ([[m:Special:MyLanguage/Universal Code of Conduct/Newsletter/1#sec5|Czytaj dalej]])</div><section end="ucoc-newsletter"/> </div> <!-- Wiadomość wysłana przez User:SOyeyele (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SOyeyele_(WMF)/Announcements/Polish&oldid=21568707 --> == Wikimania 2021: Individual Program Submissions == [[File:Wikimania logo with text 2.svg|right|200px]] Dear all, Wikimania 2021 will be [[:wikimania:2021:Save the date and the Core Organizing Team|hosted virtually]] for the first time in the event's 15-year history. Since there is no in-person host, the event is being organized by a diverse group of Wikimedia volunteers that form the [[:wikimania:2021:Organizers|Core Organizing Team]] (COT) for Wikimania 2021. '''Event Program''' - Individuals or a group of individuals can submit their session proposals to be a part of the program. There will be translation support for sessions provided in a number of languages. See more information [[:wikimania:2021:Submissions/Guidelines#Language Accessibility|here]]. Below are some links to guide you through; * [[:wikimania:2021:Submissions|Program Submissions]] * [[:wikimania:2021:Submissions/Guidelines|Session Submission Guidelines]] * [[:wikimania:2021:FAQ|FAQ]] Please note that the deadline for submission is 18th June 2021. '''Announcements'''- To keep up to date with the developments around Wikimania, the COT sends out weekly updates. You can view them in the Announcement section [[:wikimania:2021:Announcements|here]]. '''Office Hour''' - If you are left with questions, the COT will be hosting some office hours (in multiple languages), in multiple time-zones, to answer any programming questions that you might have. Details can be found [[:wikimania:2021:Organizers#Office hours schedule|here.]] Best regards, [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 06:18, 16 cze 2021 (CEST) On behalf of Wikimania 2021 Core Organizing Team <!-- Wiadomość wysłana przez User:Bodhisattwa@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=21597568 --> == Movement Charter – Spotkanie globalnej społeczności == W najbliższą niedzielę (tj. 27 czerwca), odbędzie się [https://meta.wikimedia.org/wiki/Movement_Strategy/Events/Movement_Charter_Global_Conversation,_26-27_June_2021/pl spotkanie globalnej społeczności], podczas którego zbierane będą pomysły w sprawie powstania Movement Charter. [https://meta.wikimedia.org/wiki/Movement_Charter/Overview/pl Dokument ten] określi prawa i obowiązki uczestników Ruchu Wikimedia oraz ustanowi nowy organ – Global Council for movement governance – Globalną Radę ds. Zarządzania Ruchem Wikimedia (w przeciwieństwie do Wikimedia Foundation, która zarządza infrastrukturą i stanowi osobowość prawną, ale nie zarządza Ruchem Wikimedia). [https://meta.wikimedia.org/wiki/Movement_Charter/Drafting_committee_set-up_options Podjęto decyzję] ([https://meta.wikimedia.org/wiki/Strategy/Wikimedia_movement/2018-20/Recommendations/Ensure_Equity_in_Decision-making Rekomendacja #4 Strategii Ruchu Wikimedia 2030]), że Movement Charter zostanie przygotowany przez grupę roboczą złożoną z wolontariuszy, identycznie [https://meta.wikimedia.org/wiki/Universal_Code_of_Conduct/Drafting_committee jak ma to miejsce w przypadku Powszechnych Zasad Postępowania]. Wolontariusze będą wspierani przez pracowników Wikimedia Foundation i zewnętrznych ekspertów. Podczas spotkania będą poruszone 3 główne wątki: #Jaki skład powinna mieć grupa robocza pod względem ról (w tym uprawnień/stanowisk) w Ruchu Wikimedia, płci, regionów, przynależności i innych czynników, które zapewnią jej różnorodne perspektywy? #Jaki jest najlepszy proces umożliwiający (s)elekcję członków grupy roboczej, który umożliwi dobranie zarówno różnorodnego, jak i kompetentnego składu? #W jaki sposób powinna pracować grupa robocza? Ile poświęcenia można oczekiwać od jej członków (liczba godzin tygodniowo i całkowity czas pracy grupy)? Wszystkie osoby zainteresowane spotkaniem zapraszam '''[https://meta.wikimedia.org/wiki/Movement_Strategy/Events do rejestracji]''' (do soboty 26go czerwca). W celu uczestnictwa w spotkaniu możliwe jest uzyskanie zwrotu kosztów związanych z zapewnienim stabilnego i szybkiego połączenia internetowego. Spotkanie będzie odbywało się w języku angielskim. Jeżeli, któryś z członków lub członkiń społeczności nie będzie miał możliwości dołączenia do spotkania, zapraszam do dyskusji poniżej. Merytoryczne wnioski i komentarze na temat Movement Charter zobowiązuję się przedstawić w imieniu społeczności na spotkaniu i odpowiedniemu zespołowi w Wikimedia Foundation. W razie wszelkich pytań, lub w celu przesłania swoich pomysłów/opinii/obaw prywatnie (za pełną dyskrecją), zapraszam do kontaktu bezpośrednio ze mną. [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 22:31, 23 cze 2021 (CEST) == Editing news 2021 #2 == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> <em>[[m:Special:MyLanguage/VisualEditor/Newsletter/2021/June|Przeczytaj to w innym języku]] • [[m:VisualEditor/Newsletter|Lista subskrybujących ten wielojęzyczny newsletter]]</em> [[File:Reply Tool A-B test comment completion.png|alt=<span lang="en" dir="ltr" class="mw-content-ltr">Junior contributors comment completion rate across all participating Wikipedias</span>|thumb|296x296px|<span lang="en" dir="ltr" class="mw-content-ltr">When newcomers had the Reply tool and tried to post on a talk page, they were more successful at posting a comment. ([https://wikimedia-research.github.io/Reply-tools-analysis-2021/ Source])</span>]] <span lang="en" dir="ltr" class="mw-content-ltr">Earlier this year, the Editing team ran a large study of [[mw:Talk pages project/Replying|the Reply Tool]]. The main goal was to find out whether the Reply Tool helped [[mw:Talk pages project/Glossary|newer editors]] communicate on wiki. The second goal was to see whether the comments that newer editors made using the tool needed to be reverted more frequently than comments newer editors made with the existing wikitext page editor.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The key results were:</span> * <span lang="en" dir="ltr" class="mw-content-ltr">Newer editors who had automatic ("default on") access to the Reply tool were [https://wikimedia-research.github.io/Reply-tools-analysis-2021/ more likely] to post a comment on a talk page.</span> * <span lang="en" dir="ltr" class="mw-content-ltr">The comments that newer editors made with the Reply Tool were also [https://wikimedia-research.github.io/Reply-tools-analysis-2021/ less likely] to be reverted than the comments that newer editors made with page editing.</span> <span lang="en" dir="ltr" class="mw-content-ltr">These results give the Editing team confidence that the tool is helpful.</span> <strong><span lang="en" dir="ltr" class="mw-content-ltr">Looking ahead</span></strong> <span lang="en" dir="ltr" class="mw-content-ltr">The team is planning to make the Reply tool available to everyone as an opt-out preference in the coming months. This has already happened at the Arabic, Czech, and Hungarian Wikipedias.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The next step is to [[phab:T280599|resolve a technical challenge]]. Then, they will deploy the Reply tool first to the [[phab:T267379|Wikipedias that participated in the study]]. After that, they will deploy it, in stages, to the other Wikipedias and all WMF-hosted wikis.</span> <span lang="en" dir="ltr" class="mw-content-ltr">You can turn on "{{int:discussiontools-preference-label}}" [[Special:Preferences#mw-prefsection-betafeatures|in Beta Features]] now. After you get the Reply tool, you can change your preferences at any time in [[Special:Preferences#mw-prefsection-editing-discussion]].</span> –[[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|dyskusja]]) </div> 16:14, 24 cze 2021 (CEST) <!-- Wiadomość wysłana przez User:Elitre (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=21624491 --> == Server switch == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Przeczytaj w innym języku]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch+2020&language=&action=page&filter= {{int:please-translate}}] [[foundation:|Wikimedia Foundation]] testuje przełączanie na swoją drugą, zapasową serwerownię. Upewni to nas, że Wikipedia i inne strony Wikimedia będą zawsze online, nawet w przypadku kataklizmu. Aby upewnić się, że wszystko działa, departament Technologii Wikimedia musi przeprowadzić zaplanowany test. Pokaże on, czy są w stanie przełączyć się z jednej serwerowni na inną. Wymaga to przygotowań do testu przez wiele zespołów i ich dostępności w celu naprawy jakichkolwiek nieprzewidzianych problemów. <!-- Cały ruch zostanie z powrotem przełączony na podstawową serwerownię we '''wtorek, 27 października 2020'''. --> Niestety, z powodu niektórych ograniczeń w [[mw:Manual:What is MediaWiki?|MediaWiki]], wszystkie operacje edycyjne muszą zostać przerwane podczas przełączenia. Przepraszamy za te utrudnienia. Będziemy pracować nad tym, aby je zminimalizować w przyszłości. '''Każdą wiki przez krótki czas będzie można tylko czytać, ale nie edytować.''' *Edytowanie nie będzie możliwe przez maksymalnie godzinę, we wtorek, 29 czerwca 2021. Test rozpocznie się o [https://zonestamp.toolforge.org/1624975200 14:00 UTC] (07:00 PDT, 10:00 EDT, 15:00 WEST/BST, 16:00 CEST, 19:30 IST, 23:00 JST a w Nowej Zelandii o 02:00 NZST w środę 30 czerwca). *Jeżeli spróbujesz edytować lub zapisywać zmiany w tym czasie, zobaczysz komunikat o błędzie. Mamy nadzieję, że żadne edycje nie zostaną utracone podczas tego czasu, ale nie możemy tego zagwarantować. Jeżeli zauważysz komunikat o błędzie, poczekaj aż wszystko wróci do normy. Będzie wtedy możliwe zapisanie zmian. Zalecamy jednak zrobienie kopii swoich zmian, na wszelki wypadek. ''Inne skutki'': *Zadania w tle będą wolniejsze, a niektóre mogą być przerywane. Czerwone linki mogą nie być aktualizowane tak szybko jak zwykle. Jeżeli utworzysz artykuł, do którego gdzieś prowadzi jakiś link to ten link będzie dłużej czerwony niż zwykle. Część skryptów, uruchamiających się na dłużej, zostaną zatrzymane. *Nie będzie zmian w kodzie na serwerze w tygodniu obejmującym 28 czerwca. Nie będą miały miejsca wdrożenia kodu o małym znaczeniu. W razie konieczności, terminy testu mogą się przesunąć. Możesz [[wikitech:Switch_Datacenter#Schedule_for_2021_switch|zapoznać się z harmonogramem na wikitech.wikimedia.org]]. Wszelkie zmiany będą ogłoszone w tymże harmonogramie. Będzie więcej powiadomień na ten temat. Na wszystkich wiki na 20 minut przed zostanie wyświetlony banner, zanim ta operacja się zacznie. '''Prosimy, podziel się tą informacją ze swoją społecznością.'''</div></div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] 03:19, 27 cze 2021 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21463754 --> == Spotkanie wyborcze z kandydatami do Rady Powierniczej Wikimedia Foundation – 28 lipca 2021 == Droga społeczności! Już w sierpniu '''społeczność Ruchu Wikimedia wybierze 4 nowych przedstawicieli do Rady Powierniczej Wikimedia Foundation'''. Organ ten jest odpowiedzialny za nadzorowanie działań Wikimedia Foundation, wybiera kierunki rozwoju strategicznego WMF i całego ruchu Wikimedia, zatwierdza budżet WMF, a także doradza pracownikom Fundacji przy podejmowaniu najważniejszych decyzji. Więcej o działaniach Rady można przeczytać [[:m:Wikimedia_Foundation_Board_of_Trustees/Overview/pl|tutaj]]. 28 lipca 2021 odbędzie się spotkanie wyborcze z kandydatami do Rady Powierniczej. Spotkanie jest współorganizowane przez Stowarzyszenie Wikimedia Polska, Wikimedia Italy oraz przez zespół facylitatorów Wikimedia Foundation. ;Ważne informacje '''Kiedy?''' – 28 lipca w godzinach 19:00 – 21:00 '''Kto?''' – 12 z 20 kandydatów ([[m:Wikimedia_Foundation_elections/2021/Meetings/Candidates_meet_with_community_July_28/pl#Kandydaci_biorący_udział|lista]]) '''Jak wziąć udział?''' – W celu wzięcia udziału w spotkaniu, '''należy zapisać się [[:m:Wikimedia_Foundation_elections/2021/Meetings/Candidates_meet_with_community_July_28#Participants|tutaj]]''' lub zgłosić się w wiadomości prywatnej do mnie Spotkanie odbędzie się w języku angielskim, jednak '''dostępne będzie tłumaczenie symultaniczne na język polski''' (dodatkowo na chwilę obecną potwierdzone są tłumaczenia na język włoski, portugalski oraz francuski). Podczas spotkania obecni na nim członkowie społeczności będą mieli okazję zadawać pytania kandydatom, a każdy za kandydatów otrzyma okazję do odpowiedzi na zadane pytanie. Zapraszam serdecznie do zapisywania się na spotkanie oraz do aktywnego udziału w nim. W razie jakichkolwiek pytań, jestem dostępny do Waszej dyspozycji. [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 12:03, 24 lip 2021 (CEST) == The 2022 Community Wishlist Survey will happen in January == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witajcie! Mamy nadzieję, że czujecie się bezpieczni mimo tego, że czasy są trudne. Mamy dla was wiadomość dotyczącą Badania Życzeń Społeczności 2022. Chcemy też poznać wasze opinie. Streszczenie: <div style="font-style:italic;"> Zorganizujemy [[m:Special:MyLanguage/Community Wishlist Survey|Badanie Życzeń Społeczności]] 2022 w styczniu 2022. Potrzebujemy więcej czasu na pracę nad życzeniami na 2021. Potrzebujemy też czasu do przygotowania zmian Badania 2022. W międzyczasie w [[m:Special:MyLanguage/Community Wishlist Survey/Sandbox|specjalnym brudnopisie]] możecie zostawić projekty życzeń do zgłoszenia w 2022. </div> === Przedstawianie i spełnianie życzeń odbędzie się w tym samym roku === W przeszłości zespół [[m:Special:MyLanguage/Community Tech|Community Tech]] prowadził Badanie Życzeń Społeczności w listopadzie roku poprzedzającego rok spełniania życzeń. Na przykład [[m:Special:MyLanguage/Community Wishlist Survey 2021|Badanie na 2021]] przeprowadziliśmy w listopadzie 2020. Ten tryb sprawdzał się kilka lat temu. Przystępowaliśmy do pracy nad spełnianiem życzeń wkrótce po publikacji wyników Badania. Jednakże w 2021 mieliśmy opóźnienie między głosowaniem a momentem, kiedy mogliśmy zacząć spełniać nowe życzenia. Do lipca 2021 pracowaliśmy nad życzeniami z [[m:Special:MyLanguage/Community Wishlist Survey 2020|Badania na 2020]]. Mamy nadzieję, że przeprowadzenie Badania na 2022 w styczniu 2022 będzie bardziej intuicyjne. Będziemy mieli też więcej czasu na życzenia z 2021. === Zachęcanie mniej zaangażowanych społeczności do uczestnictwa === Myślimy o tym, jak sprawić, by uczestnictwo w Badaniu było łatwiejsze. Chcemy dać więcej tłumaczeń i zachęcić niedoinwestowane społeczności do aktywności. Chcielibyśmy poświęcić tym zmianom trochę czasu. === Nowy sposób kontaktu na temat priorytetów i jeszcze niespełnionych życzeń === Zanim ruszy kolejne Badanie, minie ponad 365 dni od poprzedniej edycji. Zachęcamy, żebyście się z nami skontaktowali. Piszcie do nas na [[m:Special:MyLanguage/Talk:Community Wishlist Survey|stronie dyskusji]] i bierzcie udział w codwutygodniowych spotkaniach. Będziemy je prowadzili w dwóch różnych godzinach, żeby dostosować się do mieszkańców różnych stref czasowych. Pierwsze spotkanie odbędzie się '''15 września o 23:00 UTC''' (1:00 w nocy czasu polskiego). Szczegóły o planie i formacie spotkania podamy niedługo. === Burza mózgów i projekty życzeń przed fazą propozycji === Jeżeli macie pomysły na życzenia, możecie użyć [[m:Special:MyLanguage/Community Wishlist Survey/Sandbox|nowego brudnopisu Badania Życzeń Społeczności]]. Dzięki temu nie zapomnicie swoich pomysłów przed styczniem. Będziecie mogli wrócić do tej strony i poprawiać pomysły. Pamiętajcie, edycje w brudnopisie nie liczą się jako życzenia! === Opinie === * Co powinniśmy zrobić, żeby poprawić strony Badania? * Jak chcielibyście używać naszego nowego [[m:Special:MyLanguage/Community Wishlist Survey/Sandbox|brudnopisu]]? * Jakie widzicie ryzyka związane z naszą decyzją o odłożeniu badania na 2022? * Co pomoże większej liczbie osób uczestniczyć w Badaniu 2022? Odpowiedzcie na [[m:Special:MyLanguage/Talk:Community Wishlist Survey|stronie dyskusji]] (w dowolnym języku, jaki wolicie) lub w czasie naszego spotkania. </div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[user talk:SGrabarczuk (WMF)|talk]]) 02:23, 7 wrz 2021 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21980442 --> == Server switch == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Przeczytaj w innym języku]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] [[foundation:|Wikimedia Foundation]] testuje przełączanie na swoją drugą, zapasową serwerownię. Upewni to nas, że Wikipedia i inne strony Wikimedia będą zawsze online, nawet w przypadku kataklizmu. Aby upewnić się, że wszystko działa, departament Technologii Wikimedia musi przeprowadzić zaplanowany test. Pokaże on, czy są w stanie przełączyć się z jednej serwerowni na inną. Wymaga to przygotowań do testu przez wiele zespołów i ich dostępności w celu naprawy jakichkolwiek nieprzewidzianych problemów. Cały ruch zostanie z powrotem przełączony na podstawową serwerownię we '''wtorek, 14 września 2021'''. Niestety, z powodu niektórych ograniczeń w [[mw:Manual:What is MediaWiki?|MediaWiki]], wszystkie operacje edycyjne muszą zostać przerwane podczas przełączenia. Przepraszamy za te utrudnienia. Będziemy pracować nad tym, aby je zminimalizować w przyszłości. '''Każdą wiki przez krótki czas będzie można tylko czytać, ale nie edytować.''' *Edytowanie nie będzie możliwe przez maksymalnie godzinę, we wtorek, 14 września 2021. Test rozpocznie się o [https://zonestamp.toolforge.org/1631628049 14:00 UTC] (07:00 PDT, 10:00 EDT, 15:00 WEST/BST, 16:00 CEST, 19:30 IST, 23:00 JST, a w Nowej Zelandii o 02:00 NZST w środę 15 września). *Jeżeli spróbujesz edytować lub zapisywać zmiany w tym czasie, zobaczysz komunikat o błędzie. Mamy nadzieję, że żadne edycje nie zostaną utracone podczas tego czasu, ale nie możemy tego zagwarantować. Jeżeli zauważysz komunikat o błędzie, poczekaj aż wszystko wróci do normy. Będzie wtedy możliwe zapisanie zmian. Zalecamy jednak zrobienie kopii swoich zmian, na wszelki wypadek. ''Inne skutki'': *Zadania w tle będą wolniejsze, a niektóre mogą być przerywane. Czerwone linki mogą nie być aktualizowane tak szybko jak zwykle. Jeżeli utworzysz artykuł, do którego prowadzi jakiś link, to ten link będzie dłużej czerwony niż zwykle. Część skryptów, uruchamiających się na dłużej, zostanie zatrzymanych. * Oczekujemy, że wdrożenia kodu będą miały miejsce jak w każdym innym tygodniu. <span lang="en" dir="ltr" class="mw-content-ltr">However, some case-by-case code freezes could punctually happen if the operation require them afterwards.</span> W razie konieczności, terminy testu mogą się przesunąć. Możesz [[wikitech:Switch_Datacenter|zapoznać się z harmonogramem na wikitech.wikimedia.org]]. Wszelkie zmiany będą ogłoszone w tymże harmonogramie. Będzie więcej powiadomień na ten temat. Na wszystkich wiki na 30 minut przed zostanie wyświetlony banner, zanim ta operacja się zacznie. '''Prosimy, podziel się tą informacją ze swoją społecznością.'''</div></div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[user talk:SGrabarczuk (WMF)|<span class="signature-talk">{{int:Talkpagelinktext}}</span>]]) 02:45, 11 wrz 2021 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21980442 --> == Talk to the Community Tech == [[File:Magic Wand Icon 229981 Color Flipped.svg|{{dir|{{pagelang}}|left|right}}|frameless|50px]] [[:m:Special:MyLanguage/Community Wishlist Survey/Updates/2021-09 Talk to Us|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Community_Wishlist_Survey/Updates/2021-09_Talk_to_Us&language=&action=page&filter= {{int:please-translate}}] Hello! As we have [[m:Special:MyLanguage/Community Wishlist Survey/Updates|recently announced]], we, the team working on the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]], would like to invite you to an online meeting with us. It will take place on [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20210915T2300 '''September 15th, 23:00 UTC'''] on Zoom, and will last an hour. [https://wikimedia.zoom.us/j/89828615390 '''Click here to join''']. '''Agenda''' * [[m:Special:MyLanguage/Community Wishlist Survey 2021/Status report 1#Prioritization Process|How we prioritize the wishes to be granted]] * [[m:Special:MyLanguage/Community Wishlist Survey/Updates|Why we decided to change the date]] from November 2021 to January 2022 * Update on the [[m:Special:MyLanguage/Community Wishlist Survey 2021/Warn when linking to disambiguation pages|disambiguation]] and the [[m:Special:MyLanguage/Community Wishlist Survey 2021/Real Time Preview for Wikitext|real-time preview]] wishes * Questions and answers '''Format''' The meeting will not be recorded or streamed. Notes without attribution will be taken and published on Meta-Wiki. The presentation (first three points in the agenda) will be given in English. We can answer questions asked in English, French, Polish, and Spanish. If you would like to ask questions in advance, add them [[m:Talk:Community Wishlist Survey|on the Community Wishlist Survey talk page]] or send to sgrabarczuk@wikimedia.org. [[m:Special:MyLanguage/User:NRodriguez (WMF)|Natalia Rodriguez]] (the [[m:Special:MyLanguage/Community Tech|Community Tech]] manager) will be hosting this meeting. '''Invitation link''' * [https://wikimedia.zoom.us/j/89828615390 Join online] * Meeting ID: 898 2861 5390 * One tap mobile ** +16465588656,,89828615390# US (New York) ** +16699006833,,89828615390# US (San Jose) * [https://wikimedia.zoom.us/u/kctR45AI8o Dial by your location] See you! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|<span class="signature-talk">{{int:Talkpagelinktext}}</span>]]) 05:03, 11 wrz 2021 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21980442 --> == Porozmawiajmy o Ulepszeniach interfejsu == [[File:Annotated Wikipedia Vector interface (logged-out).png|thumb]] Witajcie! Czy zauważyliście, że niektóre wiki mają [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|inny interfejs]]? Czy jesteście ciekawi następnych kroków? Może macie pytania albo pomysły dotyczące designu lub kwestii technicznych? Dołączcie do spotkania z zespołem pracującym nad Ulepszeniami interfejsu! Odbędzie się ono [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20211012T1600 12 października o 18:00 czasu polskiego] na Zoomie. Potrwa godzinę. '''[https://wikimedia.zoom.us/j/82936701376 Kliknijcie tu, aby dołączyć]'''. '''Agenda''' * Informacja o najnowszych działaniach * [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Sticky Header|Przyczepiony nagłówek]] - prezentacja wersji demo * Pytania i odpowiedzi, dyskusja '''Format''' Spotkanie nie będzie nagrywane ani nadawane do oglądania. Notatki zostaną zapisane w [https://docs.google.com/document/d/1G4tfss-JBVxyZMxGlOj5MCBhOO-0sLekquFoa2XiQb8/edit# pliku Dokumentów Google]. Część z prezentacją (pierwsze dwa punkty agendy) będzie po angielsku. Będziemy odpowiadali na pytania zadane po angielsku, francusku, hiszpańsku i polsku. Jeżeli chcecie zadać pytania z góry, napiszcie je na [[mw:Talk:Reading/Web/Desktop Improvements|stronie dyskusji]] lub wyślijcie na adres sgrabarczuk@wikimedia.org. Spotkanie będzie prowadziła [[user:OVasileva (WMF)|Olga Vasileva]] (menedżerka zespołu). '''Link z zaproszeniem''' * [https://wikimedia.zoom.us/j/89828615390 Dołącz przez Internet] * ID spotkania: 829 3670 1376 * [https://wikimedia.zoom.us/u/kB5WUc7yZ Zadzwoń przez telefon] Do zobaczenia! [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] 18:20, 4 paź 2021 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=22119328 --> == Głosowanie w wyborach na członków grupy roboczej ds. Movement Charter jest już otwarte == W sumie 70 Wikimedian z całego świata ubiega się w tych wyborach o 7 miejsc. '''Głosowanie trwa od 12 października do 24 października 2021 roku.''' Komitet będzie składał się w sumie z 15 członków: społeczności projektów głosują na 7 członków, 6 członków zostanie wybranych przez organizacje afiliowane Wikimedia w równolegle trwającym procesie, a 2 członków zostanie mianowanych przez Wikimedia Foundation. Zebranie się grupy jest planowane do 1 listopada 2021 roku. Dowiedz się więcej o każdym z kandydatów, aby móc oddać swój głos, w języku, który preferujesz: <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates> Dowiedz się więcej o grupie roboczej: <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee> W tych wyborach po raz pierwszy wprowadziliśmy aplikację do doradztwa wyborczego. Kliknij sobie przez narzędzie, a zobaczysz, który kandydat jest Ci najbliższy poglądami! Sprawdź na <https://mcdc-election-compass.toolforge.org/> Przeczytaj całe ogłoszenia: <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee/Elections> '''Zagłosuj za pomocą SecurePoll:''' <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee/Elections> Z wyrazami szacunku, Zespół Movement Strategy & Governance, Wikimedia Foundation [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 13:55, 14 paź 2021 (CEST) == terapia zajęciowa - scenariusze zajęć == Zainspirowany naszą książką kucharską i kursem (szkoła policealna) który obecnie realizuję (uczę się) na terapeutę zajęciowego pomyślałem że warto by u nas stworzyć zbiór scenariuszy zajęć. Jednak takie scenariusze są w dużej mierze autorskie. Wydaje mi się że na podobnym poziomie jak książka kucharska. Ale nie magmy dokładnie spisanych u nas na Wikibooks wytycznych co do granic twórczości własnej. Na Wikipedii wydaje mi się że było by to przekroczenie tej granicy. Poparcie lub obiekcje? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 19:35, 18 paź 2021 (CEST) * Przykładowy scenariusz: https://pedagogika-specjalna.edu.pl/terapia-pedagogiczna/konspekt-zajec-terapii-zajeciowej/ [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 19:40, 18 paź 2021 (CEST) *:Cześć Marku, zajrzyj proszę do publikacji [[Przybornik nauczyciela]]. Zrobiłem go przed wakacjami. Może tam byś zrobił to co postulujesz? [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 20:10, 18 paź 2021 (CEST) * No właśnie chyba nie do końca. Terapia zajęciowa owszem może być stosowana w szkole ale nie jest elementem podstawy programowej lecz sposobem wspierającym leczenie w przypadku osób z niepełnosprawnościami. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 20:43, 18 paź 2021 (CEST) Zainicjowałem: [[Terapia zajęciowa]] [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 13:35, 21 paź 2021 (CEST) == Porozmawiaj z Community Tech == [[File:Magic Wand Icon 229981 Color Flipped.svg|100px|right]] Cześć! My, zespół pracujący nad [[m:Special:MyLanguage/Community Wishlist Survey|Badaniem Życzeń Społeczności]], chcielibyśmy zaprosić was na spotkanie online. Odbędzie się ono [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20211027T1430 '''{{#time:j xg|2021-10-27}} ({{#time:l|2021-10-27}}) o {{#time:H:i e|14:30|pl|1}}'''] na Zoomie i potrwa godzinę. [https://wikimedia.zoom.us/j/83847343544 '''Kliknij, aby dołączyć''']. '''Agenda''' * Zostań ambasadorem/ambasadorką Badań Życzeń Społeczności. Pomóż nam informować Twoją społeczność o BŻS. * Najnowsze wiadomości o pracy nad [[m:Special:MyLanguage/Community Wishlist Survey 2021/Warn when linking to disambiguation pages|ujednoznacznieniami]] i [[m:Special:MyLanguage/Community Wishlist Survey 2021/Real Time Preview for Wikitext|podglądem na żywo]] * Pytania i odpowiedzi '''Format''' Spotkanie nie będzie nagrywane ani nadawane tylko do oglądania. Notatki bez przypisania autorstwa zostaną opublikowane na Meta-Wiki. Prezentacja (wszystkie punkty programu oprócz pytań i odpowiedzi) będzie przeprowadzona po angielsku. Będziemy odpowiadali na pytania zadane po '''polsku''', angielsku, francusku, niemiecku lub hiszpańsku. Jeżeli chcecie zadać pytania z góry, napiszcie je na [[m:Talk:Community Wishlist Survey|stronie dyskusji Badań Życzeń Społeczności]] lub wyślijcie na adres sgrabarczuk@wikimedia.org. Spotkanie będzie prowadziła [[m:Special:MyLanguage/User:NRodriguez (WMF)|Natalia Rodriguez]] (menedżerka zespołu [[m:Special:MyLanguage/Community Tech|Community Tech]]). '''Link z zaproszeniem''' * [https://wikimedia.zoom.us/j/83847343544 Dołącz przez Internet] * ID spotkania: <span dir=ltr>83847343544</span> * [https://wikimedia.zoom.us/u/kwDbq4box Zadzwoń przez telefon] Do zobaczenia! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|talk]]) 01:17, 23 paź 2021 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=22119328 --> == Poznaj nowych członków grupy roboczej ds. Movement Charter == <section begin="announcement-content"/> :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Elections/Results/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Elections/Results/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Proces (s)elekcyjny do grupy roboczej ds. Movement Charter został zakońcony. * Opublikowano [[m:Special:MyLanguage/Movement Charter/Drafting Committee/Elections/Results|wyniki wyborów]]. 1018 uczestników wybrało siedmiu członków grupy: '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Richard_Knipel_(Pharos)|Richard Knipel (Pharos)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Anne_Clin_(Risker)|Anne Clin (Risker)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Alice_Wiegand_(lyzzy)|Alice Wiegand (Lyzzy)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Richard_(Nosebagbear)|Richard (Nosebagbear)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Ravan_J_Al-Taie_(Ravan)|Ravan J Al-Taie (Ravan)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Ciell_(Ciell)|Ciell (Ciell)]]''' oraz '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Micha%C5%82_Buczy%C5%84ski_(Aegis_Maelstrom)|Michał Buczyński (Aegis Maelstrom)]]''' z polskojęzycznej społeczności. * [[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Affiliate-chosen_members|Proces selekcyjny afiliantów]] mianował do grupy 6 członków: '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Anass_Sedrati_(Anass_Sedrati)|Anass Sedrati (Anass Sedrati)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#%C3%89rica_Azzellini_(EricaAzzellini)|Érica Azzellini (EricaAzzellini)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Jamie_Li-Yun_Lin_(Li-Yun_Lin)|Jamie Li-Yun Lin (Li-Yun Lin)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Georges_Fodouop_(Geugeor)|Georges Fodouop (Geugeor)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Manavpreet_Kaur_(Manavpreet_Kaur)|Manavpreet Kaur (Manavpreet Kaur)]]''' oraz '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Pepe_Flores_(Padaguan)|Pepe Flores (Padaguan)]]'''. * Wikimedia Foundation [[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Wikimedia_Foundation-chosen_members|wyznaczyła]] dwóch członków grupy: '''[[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Runa_Bhattacharjee_(Runab_WMF)|Runa Bhattacharjee (Runab WMF)]]''' oraz '''[[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Jorge_Vargas_(JVargas_(WMF))|Jorge Vargas (JVargas (WMF))]]'''. Grupa zbierze się wkrótce, aby rozpocząć prace. Komisja może powołać do trzech dodatkowych członków w celu uzupełnienia braków w zakresie swojej różnorodności lub fachowej wiedzy. Jeśli chcesz dowiedzieć się więcej o procesie [[m:Special:MyLanguage/Movement Charter|Movement Charter]], śledź aktualizacje na [[m:Special:MyLanguage/Movement Charter/Drafting Committee|Meta-wiki]] lub dołącz do [https://t.me/joinchat/U-4hhWtndBjhzmSf grupy na Telegramie]. Z podziękowaniami od zespołu Movement Strategy and Governance<section end="announcement-content"/> [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 09:27, 2 lis 2021 (CET) == Przyszłość Badania Życzeń Społeczności == [[File:Magic Wand Icon 229981 Color Flipped.svg|100px|right]] Cześć! My, zespół pracujący nad [[m:Special:MyLanguage/Community Wishlist Survey|Badaniem Życzeń Społeczności]], chcielibyśmy zaprosić was na spotkanie online. Odbędzie się ono [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20211130T1700 '''{{#time:j xg|2021-11-30}} ({{#time:l|2021-11-30}}) o {{#time:H:i e|17:00|pl|1}}'''] na Zoomie i potrwa godzinę. [https://wikimedia.zoom.us/j/82035401393 '''Kliknij, aby dołączyć''']. '''Agenda''' * Zmiany w Badaniu Życzeń Społeczności w 2022. Pomóż nam zadecydować. * Zostań ambasadorem/ambasadorką Badań Życzeń Społeczności. Pomóż nam informować Twoją społeczność o BŻS. * Pytania i odpowiedzi '''Format''' Spotkanie nie będzie nagrywane ani nadawane tylko do oglądania. Notatki bez przypisania autorstwa zostaną opublikowane na Meta-Wiki. Prezentacja (wszystkie punkty programu oprócz pytań i odpowiedzi) będzie przeprowadzona po angielsku. Będziemy odpowiadali na pytania zadane po polsku, angielsku, francusku, niemiecku lub hiszpańsku. Jeżeli chcecie zadać pytania z góry, napiszcie je na [[m:Talk:Community Wishlist Survey|stronie dyskusji Badań Życzeń Społeczności]] lub wyślijcie na adres sgrabarczuk@wikimedia.org. Spotkanie będzie prowadziła [[m:User:NRodriguez (WMF)|Natalia Rodriguez]] (menedżerka zespołu [[m:Special:MyLanguage/Community Tech|Community Tech]]). '''Link z zaproszeniem''' * [https://wikimedia.zoom.us/j/82035401393 Dołącz przez Internet] * ID spotkania: <span dir=ltr>82035401393</span> * [https://wikimedia.zoom.us/u/keu6UeRT0T Zadzwoń przez telefon] Do zobaczenia! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|dyskusja]]) 01:26, 27 lis 2021 (CET) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=22382401 --> == Zaproszenie zbliżającej się dyskusji na temat wyborów do Rady Powierniczej == <section begin="announcement-content /> :''Możesz znaleźć tę wiadomość przetłumaczoną na inne języki na Meta-wiki.'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback:2022 Board of Trustees election/Upcoming Call for Feedback about the Board of Trustees elections|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback:2022 Board of Trustees election/Upcoming Call for Feedback about the Board of Trustees elections}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Rada Powiernicza Wikimedia Foundation informuje o zapraszeniu do wyrażenia opinii na temat nadchodzących wyborów do Rady Powierniczej w 2022 roku. Dyskusja oraz zbieranie opinii odbędą się w dniach 7 stycznia - 10 lutego 2022 roku. Szczegóły zostaną dopracowane w tygodniu poprzedzającym dyskusję, ale potwierdziliśmy już co najmniej dwa pytania, które zostaną zadane społeczności w celu uzyskania informacji zwrotnej: * Jaki jest najlepszy sposób na zapewnienie sprawiedliwej reprezentacji społecznościom rozwijającym się w Radzie Powierniczej? * Jak (w jaki sposób?) kandydaci powinni (lub NIE powinni) angażować się podczas wyborów? Prawdopodobnie do dyskusji zostanie dodane jeszcze jedno lub dwa pytania. Zespół Movement Strategy and Governance przedstawia jednak już znane pytania wcześniej, chcąc dać czas członkom społeczności i afiliantom na rozważenie i przygotowanie pomysłów na podstawione wyżej pytania przed rozpoczęciem dyskusji. Przepraszamy, że w tym momencie nie mamy jeszcze pełnej listy pytań. Nie chcemy przytłaczać społeczności prośbami. Naszym celem jest poinformowanie Was o trwających procesach oraz zebrać oferowaną przez Was informację zwrotną. '''Czy potrzebujecie pomocy w zorganizowaniu lokalnych spotkań/konwersacji podczas tej dyskusji?''' Jeśli tak, to proszę o kontakt ze '''[[w:User:MNadzikiewicz (WMF)|mną]]''', zespołem [[m:Special:MyLanguage/Movement Strategy and Governance|Movement Strategy and Governance team]] na Meta-wiki, w serwisie [https://t.me/wmboardgovernancechat Telegram], lub przez email (msg[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org). Odezwijcie się, jeśli macie jakieś pytania lub wątpliwości. Zespół Movement Strategy and Governance będzie pracował w okrojonym składzie w pierwszych dniach roku. Prosimy o wybaczenie opóźnień w odpowiedziach. Zdajemy sobie również sprawę, że niektórzy członkowie społeczności i afilianci są offline podczas grudniowych świąt oraz na przełomie roku. Przepraszamy, jeśli nasza wiadomość dotarła do Was w czasie, gdy świętujecie i nie jesteście dostępni. Z wyrazami szacunku, [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) w imieniu Zespołu Movement Strategy and Governance <section end="announcement-content" /> == Wiki Loves Folklore is back! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2022|Wiki Loves Folklore 2022]]''' an international photography contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the '''1st till the 28th''' of February. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2022 submitting] them in this commons contest. You can also [[:c:Commons:Wiki Loves Folklore 2022/Organize|organize a local contest]] in your country and support us in translating the [[:c:Commons:Wiki Loves Folklore 2022/Translations|project pages]] to help us spread the word in your native language. Feel free to contact us on our [[:c:Commons talk:Wiki Loves Folklore 2022|project Talk page]] if you need any assistance. '''Kind regards,''' '''Wiki loves Folklore International Team''' --[[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 14:15, 9 sty 2022 (CET) </div> <!-- Wiadomość wysłana przez User:Tiven2240@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wlf&oldid=22560402 --> == Badanie Życzeń Społeczności 2022 == [[File:Community Wishlist Survey Lamp.svg|right|200px]] Ruszyło '''[[m:Special:MyLanguage/Community Wishlist Survey 2022|Badanie Życzeń Społeczności 2022]]'''! Ten plebiscyt to proces, w którym społeczność wybierze, nad czym zespół [[m:Special:MyLanguage/Community Tech|Community Tech]] będzie pracował przez następny rok. Wszystkich zachęcamy do przesyłania propozycji w terminie '''23 stycznia''' lub do komentowania innych już złożonych propozycji celem ich ulepszenia. Społeczności będą głosować na propozycje między 28 stycznia a 11 lutego. Zespół Community Tech zajmuje się narzędziami dla zaawansowanych edytorów. Propozycje można pisać w dowolnym języku - zostaną one przetłumaczone. Dziękujemy i wyczekujemy Twoich propozycji! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|talk]]) 19:27, 10 sty 2022 (CET) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=22382401 --> == Dyskusja na temat tegorocznych wyborów do Rady Powierniczej została otwarta == <section begin="announcement-content" />:''[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open|Możesz znaleźć tę wiadomość przetłumaczoną na inne języki na Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Dyskusja na temat tegorocznych wyborów do Rady Powierniczej została otwarta i będzie trwać do 7 lutego 2022 roku. Podczas tej dyskusji, zespół Movement Strategy and Governance przyjmuje inne podejście niż podczas dyskusji z początku 2021 roku. Zamiast gotowych (przygotowanych przez Wikimedia Foundation) propozycji, dyskusja opiera się na kluczowych pytaniach zadanych przez Radę Powierniczą. Pytania zostały stworzone na podstawie informacji zwrotnych dotyczących wyborów do Rady Powierniczej w 2021 roku. Ich celem jest zainspirowanie do wspólnej rozmowy i wspólnego tworzenia propozycji dotyczących tych kwestii. W ramach niniejszej dyskusji zadane zostały dwa pytania: # Jaki jest najlepszy sposób na zapewnienie społecznościom rozwijającym się sprawiedliwej reprezentacji w Radzie Powierniczej? ''Rada Powiernicza zauważyła potrzebę wyboru kandydatów, którzy reprezentują pełną różnorodność ruchu Wikimedia. Przeszłe procesy wyborcze faworyzowały wolontariuszy z Ameryki Północnej i Europy.'' # Jak (w jaki sposób?) kandydaci powinni (lub NIE powinni) angażować się podczas wyborów? ''W przeszłości kandydaci do Rady Powierniczej jedynie wypełniali aplikacje oraz odpowiadali na pytania społeczności. W jaki sposób wybory mogą zapewnić odpowiednie zapoznanie się z kandydatami, jednocześnie szanując ich status jako wolontariuszy (m.in. dostępność czasowa)?'' Prawdopodobnie do powyższej puli zostanie zadane dodatkowe pytanie dotyczące procesu (s)elekcji. Treść pytania jest jeszcze dyskutowana, ale nie powinno to powstrzymywać dyskusji na już zadane pytania. Mamy nadzieję, że Rada Powiernicza przygotuje ostatnie pytanie w ciągu kilku dni. [[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections|Dołącz do dyskusji na Meta.]] '''Zapraszam również do odpowiadania poniżej, w tym wątku.''' Z wyrazami szacunku, Zespół Movement Strategy and Governance<section end="announcement-content"/> [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 15:48, 13 sty 2022 (CET) == Porozmawiaj z Community Tech == [[File:Community Wishlist Survey Lamp.svg|150px|right]] {{int:Hello}} My, zespół pracujący nad [[m:Special:MyLanguage/Community Wishlist Survey|Badaniem Życzeń Społeczności]], chcielibyśmy zaprosić was na spotkanie online. Odbędzie się ono [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20220119T1800 '''{{#time:j xg|2022-01-19}} ({{#time:l|2022-01-19}}) o {{#time:H:i e|18:00|pl|1}}'''] na Zoomie i potrwa godzinę. Ten zewnętrzny system nie jest objęty [[foundation:Privacy_policy|polityką prywatności WMF]]. [https://wikimedia.zoom.us/j/85804347114 '''Kliknij, aby dołączyć''']. '''Agenda''' * Pomyśl o swoich propozycjach i porozmawiaj z członkiem zespołu Community Tech o tym, jak można je ulepszyć. '''Format''' Spotkanie nie będzie nagrywane ani nadawane tylko do oglądania. Notatki bez przypisania autorstwa zostaną opublikowane na Meta-Wiki. Będziemy odpowiadali na pytania zadane po angielsku, francusku, polsku, niemiecku lub hiszpańsku. Jeżeli chcecie zadać pytania z góry, napiszcie je na [[m:Talk:Community Wishlist Survey|stronie dyskusji Badań Życzeń Społeczności]] lub wyślijcie na adres sgrabarczuk@wikimedia.org. Spotkanie będzie prowadziła [[m:Special:MyLanguage/User:NRodriguez (WMF)|Natalia Rodriguez]] (menedżerka zespołu [[m:Special:MyLanguage/Community Tech|Community Tech]]). '''Link z zaproszeniem''' * [https://wikimedia.zoom.us/j/85804347114 Dołącz przez Internet] * ID spotkania: <span dir=ltr>85804347114</span> * [https://wikimedia.zoom.us/u/keu6UeRT0T Zadzwoń przez telefon] Do zobaczenia! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|dyskusja]]) 02:20, 18 sty 2022 (CET) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=22382401 --> == Subscribe to the This Month in Education newsletter - learn from others and share your stories == <div lang="en" dir="ltr" class="mw-content-ltr"> Dear community members, Greetings from the EWOC Newsletter team and the education team at Wikimedia Foundation. We are very excited to share that we on tenth years of Education Newsletter ([[m:Education/News|This Month in Education]]) invite you to join us by [[m:Global message delivery/Targets/This Month in Education|subscribing to the newsletter on your talk page]] or by [[m:Education/News/Newsroom|sharing your activities in the upcoming newsletters]]. The Wikimedia Education newsletter is a monthly newsletter that collects articles written by community members using Wikimedia projects in education around the world, and it is published by the EWOC Newsletter team in collaboration with the Education team. These stories can bring you new ideas to try, valuable insights about the success and challenges of our community members in running education programs in their context. If your affiliate/language project is developing its own education initiatives, please remember to take advantage of this newsletter to publish your stories with the wider movement that shares your passion for education. You can submit newsletter articles in your own language or submit bilingual articles for the education newsletter. For the month of January the deadline to submit articles is on the 20th January. We look forward to reading your stories. Older versions of this newsletter can be found in the [[outreach:Education/Newsletter/Archives|complete archive]]. More information about the newsletter can be found at [[m:Education/News/Publication Guidelines|Education/Newsletter/About]]. For more information, please contact spatnaik{{@}}wikimedia.org. ------ <div style="text-align: center;"><div style="margin-top:10px; font-size:90%; padding-left:5px; font-family:Georgia, Palatino, Palatino Linotype, Times, Times New Roman, serif;">[[m:Education/Newsletter/About|About ''This Month in Education'']] · [[m:Global message delivery/Targets/This Month in Education|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] · For the team: [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]], {{<includeonly>subst:</includeonly>#time:l G:i, d F Y|}} (UTC)</div></div> </div> <!-- Wiadomość wysłana przez User:ZI Jony@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:ZI_Jony/MassMessage/Awareness_of_Education_Newsletter/List_of_Village_Pumps&oldid=21244129 --> == Nowe informacje o Ulepszeniach interfejsu i zaproszenie na spotkanie == Cześć. Chciałbym przedstawić wam nowe informacje o projekcie zwanym [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements|Ulepszenia interfejsu]], nad którym zespół Web z Wikimedia Foundation pracuje już od kilku lat. Celem tego projektu jest uczynienie interfejsu bardziej przyjaznym i komfortowym dla czytelników przy utrzymaniu użyteczności dla zaawansowanych użytkowników. Na projekt składa się seria poprawek różnych funkcji, które mają za zadanie ułatwić między innymi: przyswajanie treści, poruszanie się po stronie, wyszukiwanie, zmianę wersji językowych, korzystanie z zakładek strony czy z menu użytkownika. Ulepszenia są już domyślnie widoczne dla czytelników i edytorów na 24 wiki, w tym na Wikipediach po [[:fr:|francusku]], [[:pt:|portugalsku]] i po [[:fa:|persku]]. Zmiany dotyczą tylko skórki [{{fullurl:{{FULLPAGENAMEE}}|useskin=vector}} Vector]. Użytkownicy [{{fullurl:{{FULLPAGENAMEE}}|useskin=monobook}} Monobooka] czy [{{fullurl:{{FULLPAGENAMEE}}|useskin=timeless}} Timeless] nie zauważą różnicy. === Funkcje włączone od czasu ostatnich wiadomości === * [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/User_menu|Menu użytkownika]] - które sprawia, że nawwigacja jest bardziej intuicyjna, ponieważ uwypukla strukturę linków użytkownika i ich działanie. * [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/Sticky Header|Przyczepiony nagłówek]] pozwalający użytkownikom na dostęp do ważnych funkcji (logowanie/wylogowanie, edytowanie, strony dyskusji...) bez konieczności przewinięcia na samą górę strony. Aby poznać pełną listę funkcji, które wchodzą w skład Ulepszeń interfejsu, sprawdź [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements|stronę projektu]]. Zapraszamy też na naszą [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Updates|stronę z wiadomościami]]. [[File:Table_of_contents_shown_on_English_Wikipedia_02.webm|thumb|600px|center]] <br clear=all> === Jak włączyć ulepszenia === [[File:Desktop Improvements - how to enable globally.png|thumb|[[Special:GlobalPreferences#mw-prefsection-rendering|{{int:globalpreferences}}]]]] * Można włączyć zmiany indywidualnie w [[Special:Preferences#mw-prefsection-rendering|zakładce widoku w preferencjach]], odznaczając pole "{{int:prefs-vector-enable-vector-1-label}}" (tak, żeby było puste). Jest też możliwość włączyć je na wszystkich wiki, korzystając z [[Special:GlobalPreferences#mw-prefsection-rendering|globalnych preferencji]]. * Jeżeli uważasz, że ulepszenia sprawdziłyby się jako domyślne dla wszystkich czytelników i edytorów tej wiki, zacznij dyskusję ze społecznością i skontaktuj się ze mną. * Na wiki, gdzie zmiany są domyślne dla wszystkich, zalogowani użytkownicy mogą zawsze przełączyć się na starego Vectora. Umieściliśmy łatwo dostrzegalny link w menu bocznym nowego Vectora. === Dowiedz się więcej i dołącz do naszych wydarzeń === Jeżeli chcesz obserwować postępy projektu, [[mw:Special:Newsletter/28/subscribe|zasubskrybuj nasz newsletter]]. Możesz przeczytać [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements|strony projektu]], sprawdzić [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Frequently_asked_questions|FAQ]], napisać na [[mw:Talk:Reading/Web/Desktop_Improvements|stronie dyskusji projektu]] i dołączyć do spotkania online ([https://www.timeanddate.com/worldclock/fixedtime.html?iso=20220127T1500 '''{{#time:j xg|2022-01-27}} ({{#time:l|2022-01-27}}), {{#time:H:i e|15:00|pl|1}}''']). Jak dołączyć do naszego spotkania online * [https://wikimedia.zoom.us/j/89205402895 Dołącz przez Internet] * ID spotkania: <span dir=ltr>89205402895</span> * [https://wikimedia.zoom.us/u/kdPQ6k2Bcm Zadzwoń przez telefon] {{int:Feedback-thanks-title}} [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|dyskusja]]) 08:17, 25 sty 2022 (CET) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=22382401 --> == Leadership Development Task Force: Prosimy o Wasze opinie == <section begin="announcement-content" />:''[[m:Special:MyLanguage/Leadership Development Task Force/Call for Feedback Announcement|Możesz znaleźć tę wiadomość przetłumaczoną na inne języki na Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Leadership Development Task Force/Call for Feedback Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Leadership Development Task Force/Call for Feedback Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Zespół Community Development w Wikimedia Foundation wspiera utworzenie globalnej, kierowanej przez społeczność grupy zadaniowej ds. rozwoju przywództwa (Leadership Development Task Force). Celem tej grupy jest doradzanie w zakresie rozwoju przywództwa w Ruchu Wikimedia. Zespół poszukuje opinii na temat obowiązków grupy zadaniowej. Strona na Meta-wiki przedstawia propozycję [[m:Special:MyLanguage/Leadership Development Task Force|Leadership Development Task Force]] oraz to [[m:Special:MyLanguage/Leadership Development Task Force/Participate|w jaki sposób można się zaangażować]]. Informacje zwrotne na temat przedstawionej propozycji będą zbierane do 25 lutego 2022 roku.<section end="announcement-content" /> [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 10:59, 9 lut 2022 (CET) == Wiki Loves Folklore is extended till 15th March == <div lang="en" dir="ltr" class="mw-content-ltr">{{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|frameless|180px]] Greetings from Wiki Loves Folklore International Team, We are pleased to inform you that [[:c:Commons:Wiki Loves Folklore|Wiki Loves Folklore]] an international photographic contest on Wikimedia Commons has been extended till the '''15th of March 2022'''. The scope of the contest is focused on folk culture of different regions on categories, such as, but not limited to, folk festivals, folk dances, folk music, folk activities, etc. We would like to have your immense participation in the photographic contest to document your local Folk culture on Wikipedia. You can also help with the [[:c:Commons:Wiki Loves Folklore 2022/Translations|translation]] of project pages and share a word in your local language. Best wishes, '''International Team'''<br /> '''Wiki Loves Folklore''' [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 05:50, 22 lut 2022 (CET) </div> <!-- Wiadomość wysłana przez User:Rockpeterson@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=22754428 --> == Coming soon == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> === Nadchodzące: Parę ulepszeń związanych z szablonami === Cześć! Od 9 marca na waszej wiki będą wprowadzane udogodnienia dotyczące szablonów: * Znaczące ulepszenia [[Mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|okna dialogowego edycji szablonu]] w edytorze wizualnym ([[m:WMDE Technical Wishes/VisualEditor template dialog improvements|odświeżenie wyglądu]], [[m:WMDE Technical Wishes/Removing a template from a page using the VisualEditor|usuwanie szablonów]]); * Ułatwienie wstawiania szablonu na stronę ([[m:WMDE Technical Wishes/Finding and inserting templates|lepsza wyszukiwarka]]) - dotyczy [[Mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|edytora wizualnego]], [[Mw:Special:MyLanguage/Extension:WikiEditor#/media/File:VectorEditorBasic-en.png|edytora wikikodu 2010]] i [[Mw:Special:MyLanguage/2017 wikitext editor|edytora wikikodu 2017]]; * Udogodnienia w podświetlaniu składni, realizowanym przez rozszerzenie [[Mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] ([[m:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting|dostępność]], [[m:WMDE Technical Wishes/Bracket Matching|podświetlanie nawiasów]]) - dostępne wyłącznie na wiki z językiem pisanym od lewej do prawej. Wszystkie powyższe zmiany są częścią projektu „[[m:WMDE Technical Wishes/Templates|Szablony]]”, realizowanego w ramach [[m:WMDE Technical Wishes|Życzeń technicznych Wikimedia Deutschland]]. Mamy nadzieję, że pomogą wam w pracy. Chętnie wysłuchamy waszych opinii na stronach dyskusji tych projektów. </div> - [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 13:38, 28 lut 2022 (CET) <!-- Wiadomość wysłana przez User:Johanna Strodt (WMDE)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=22907463 --> == Głosowanie nad ratyfikacją Wytycznych Egzekwowania Powszechnych Zasad Postępowania trwa od 7 do 21 marca 2022 roku == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote|Możesz znaleźć tę wiadomość przetłumaczoną na inne języki na Meta-wiki.]] :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/Vote}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Cześć wszystkim! Proces głosowania nad ratyfikacją [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines|Wytycznych Egzekwowania]] [[m:Special:MyLanguage/Universal Code of Conduct|Powszechnych Zasad Postępowania]] (PZP) jest już otwarty! '''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voting|Głosowanie]]''' odbywa się za pomocą narzędzia SecurePoll i trwa od 7 marca 2022 i zakończy się 21 marca 2022. Zachęcamy [[m:Universal Code of Conduct/Enforcement guidelines/Voter information|do zapoznania się z informacjami o procesie wyborczym oraz szczegółach dotyczących kwalifikacji do głosowania]]. Powszechne Zasady Postępowania (PZP) stanowią podstawowy wyznacznik akceptowalnego zachowania dla całego Ruchu Wikimedia. Tekst Wytycznych Egzekwowania został opublikowany 24 stycznia 2022, jako propozycja zastosowania PZP w całym Ruchu. [[m:Special:MyLanguage/Universal Code of Conduct/Project|Tutaj]] możesz znaleźć więcej informacji o procesie powstawania Powszechnych Zasad Postępowania. W razie wszelkich pytań zapraszamy do ich zadawania poniżej lub na stronie dyskusji w projekcie Meta-wiki. Można również skontaktować się z nami za pomocą adresu mailowego: ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org Z wyrazami szacunku, w imieniu zespółu Movement Strategy and Governance [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 16:17, 8 mar 2022 (CET)<section end="announcement-content" /> == Wiki Loves Folklore 2022 ends tomorrow == [[File:Wiki Loves Folklore Logo.svg|right|frameless|180px]] International photographic contest [[:c:Commons:Wiki Loves Folklore 2022| Wiki Loves Folklore 2022]] ends on 15th March 2022 23:59:59 UTC. This is the last chance of the year to upload images about local folk culture, festival, cuisine, costume, folklore etc on Wikimedia Commons. Watch out our social media handles for regular updates and declaration of Winners. ([https://www.facebook.com/WikiLovesFolklore/ Facebook] , [https://twitter.com/WikiFolklore Twitter ] , [https://www.instagram.com/wikilovesfolklore/ Instagram]) The writing competition Feminism and Folklore will run till 31st of March 2022 23:59:59 UTC. Write about your local folk tradition, women, folk festivals, folk dances, folk music, folk activities, folk games, folk cuisine, folk wear, folklore, and tradition, including ballads, folktales, fairy tales, legends, traditional song and dance, folk plays, games, seasonal events, calendar customs, folk arts, folk religion, mythology etc. on your local Wikipedia. Check if your [[:m:Feminism and Folklore 2022/Project Page|local Wikipedia is participating]] A special competition called '''Wiki Loves Falles''' is organised in Spain and the world during 15th March 2022 till 15th April 2022 to document local folk culture and [[:en:Falles|Falles]] in Valencia, Spain. Learn more about it on [[:ca:Viquiprojecte:Falles 2022|Catalan Wikipedia project page]]. We look forward for your immense co-operation. Thanks Wiki Loves Folklore international Team [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 15:40, 14 mar 2022 (CET) <!-- Wiadomość wysłana przez User:Rockpeterson@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=22754428 --> == Nowe informacje o Ulepszeniach interfejsu == [[File:Table of contents shown on English Wikipedia 02.webm|thumb]] Cześć. Chciałbym przedstawić wam nowe informacje o projekcie zwanym [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements|Ulepszenia interfejsu]] (Vector 2022), nad którym zespół Web z Wikimedia Foundation pracuje już od kilku lat. Praca nad nim dobiega końca! 🎉 Chcielibyśmy, żeby te zmiany stały się domyślne dla wszystkich czytelników i edytorów na wszystkich wiki. <span style="background-color:#fc3;">W ciągu kilku tygodni rozpoczniemy rozmowy na większej liczbie wiki, w tym na tej. 🗓️</span> Chętnie przeczytamy Wasze sugestie! Celem tego projektu jest uczynienie interfejsu bardziej przyjaznym i komfortowym dla czytelników przy utrzymaniu użyteczności dla zaawansowanych użytkowników. Na projekt składa się seria poprawek różnych funkcji, które mają za zadanie ułatwić między innymi: przyswajanie treści, poruszanie się po stronie, wyszukiwanie, zmianę wersji językowych, korzystanie z zakładek strony czy z menu użytkownika. Ulepszenia są już domyślnie widoczne dla czytelników i edytorów na około 30 wiki, w tym na Wikipediach po [[:fr:|francusku]], [[:pt:|portugalsku]] i po [[:fa:|persku]]. Zmiany dotyczą tylko skórki [{{fullurl:{{FULLPAGENAMEE}}|useskin=vector}} Vector]. Użytkownicy [{{fullurl:{{FULLPAGENAMEE}}|useskin=monobook}} Monobooka] czy [{{fullurl:{{FULLPAGENAMEE}}|useskin=timeless}} Timeless] nie zauważą różnicy. ; Najnowsze funkcje * [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/Table of contents|Spis treści]] - nasza wersja jest w zasięgu, łatwiej zrozumieć kontekst strony i poruszać się po stronie bez przewijania. W tym tygodniu będziemy ją testowali na pilotażowych wiki. Jest też dostępny dla edytorów, którzy indywidualnie włączyli sobie Vectora 2022. * [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/Page tools|Narzędzia strony]] - obecnie w menu bocznym (sidebarze) są dwa rodzaje linków. Są takie związane z konkretną stroną (np. [[Special:RecentChangesLinked|Zmiany w linkowanych]]) i takie związane z całą wiki (np. [[Special:RecentChanges|Ostatnie zmiany]]). Rozdzielimy te dwie grupy linków w dwa menu. ; Jak włączyć ulepszenia [[File:Desktop Improvements - how to enable globally.png|thumb|[[Special:GlobalPreferences#mw-prefsection-rendering|{{int:globalpreferences}}]]]] * Można włączyć zmiany indywidualnie w [[Special:Preferences#mw-prefsection-rendering|zakładce widoku w preferencjach]], zaznaczając pole "{{int:skinname-vector-2022}}". Jest też możliwość włączyć je na wszystkich wiki, korzystając z [[Special:GlobalPreferences#mw-prefsection-rendering|globalnych preferencji]]. * Na wiki, gdzie zmiany są domyślne dla wszystkich, zalogowani użytkownicy mogą zawsze przełączyć się na starego Vectora 2010. Umieściliśmy łatwo dostrzegalny link w menu bocznym Vectora 2022. ; Dowiedz się więcej i dołącz do naszych wydarzeń Jeżeli chcesz obserwować postępy projektu, [[mw:Special:Newsletter/28/subscribe|zasubskrybuj nasz newsletter]]. Możesz przeczytać [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements|strony naszego projektu]], sprawdzić [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Frequently_asked_questions|nasze FAQ]], napisać na [[mw:Talk:Reading/Web/Desktop_Improvements|naszej stronie dyskusji]] lub [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/Talk to Web|dołączyć do spotkania z nami online]]. Dziękujemy! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|dyskusja]]) 21:58, 20 cze 2022 (CEST) <!-- Wiadomość wysłana przez User:SGrabarczuk (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Pl_fallback&oldid=23431082 --> == Results of Wiki Loves Folklore 2022 is out! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] Hi, Greetings The winners for '''[[c:Commons:Wiki Loves Folklore 2022|Wiki Loves Folklore 2022]]''' is announced! We are happy to share with you winning images for this year's edition. This year saw over 8,584 images represented on commons in over 92 countries. Kindly see images '''[[:c:Commons:Wiki Loves Folklore 2022/Winners|here]]''' Our profound gratitude to all the people who participated and organized local contests and photo walks for this project. We hope to have you contribute to the campaign next year. '''Thank you,''' '''Wiki Loves Folklore International Team''' --[[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 18:12, 4 lip 2022 (CEST) </div> <!-- Wiadomość wysłana przez User:Tiven2240@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=23454230 --> == Zagłosuj na stwierdzenia w Kompasie Wyborczym == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Vote for Election Compass Statements| Możesz znaleźć tę wiadomość przetłumaczoną na inne języki na Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Vote for Election Compass Statements|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Vote for Election Compass Statements}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Cześć wszystkim! Głosujący w [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|Wyborach do Rady Powierniczej w 2022 roku]] są zaproszeni do [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass/Statements|głosowania na stwierdzenia do wykorzystania w Kompasie Wyborczym]]. Możesz głosować na stwierdzenia, które chciałbyś zobaczyć w Kompasie Wyborczym na Meta-wiki. Kompas Wyborczy to narzędzie pomagające wyborcom wybrać kandydatów, którzy najlepiej odpowiadają ich własnym przekonaniom lub poglądom. Członkowie społeczności zaproponują kandydatom stwierdzenia, na które będą musieli odpowiedzieć w skali Lickerta (zgadzam się/neutralny/nie zgadzam się). Odpowiedzi kandydatów na te stwierdzenia zostaną załadowane do narzędzia Kompas Wyborczy. Wyborcy będą korzystać z tego narzędzia, wpisując swoje odpowiedzi na dane stwierdzenia (zgadzam się/nie zgadzam się/neutralne). Wyniki pokażą kandydatów, których poglądy najlepiej odpowiadają przekonaniom wyborcy. Oto harmonogram dla procesu Kompasu Wyborczego: *<s>8 - 20 lipca: Członkowie społeczności proponują stwierdzenia do Kompasu Wyborczego</s> *<s>21-22 lipca: Komisja Wyborcza sprawdza wypowiedzi pod kątem jasności i usuwa wypowiedzi nie na temat</s> *'''25 lipca - 3 sierpnia: Społeczność głosuje nad oświadczeniami''' *4 sierpnia: Komisja Wyborcza wybiera 15 najpopularniejszych wypowiedzi *5 - 12 sierpnia: Kandydaci dostosowują się do stwierdzeń i udzielają odpowiedzi *16 sierpnia: Otwiera się Kompas Wyborczy, który może pomóc wyborcom w podjęciu decyzji o głosowaniu Komisja Wyborcza wybierze 15 najlepszych wypowiedzi na początku sierpnia Z wyrazami szacunku, Zespół Movement Strategy and Governance ''Ta wiadomość została wysłana w imieniu Komisji Wyborczej oraz Board Selection Task Force''. <section end="announcement-content" /> [[Wikipedysta:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[Dyskusja wikipedysty:MNadzikiewicz (WMF)|dyskusja]]) 10:40, 1 sie 2022 (CEST) == Bot policy == Hello. To facilitate [[:m:Special:MyLanguage/Stewards|steward]] granting of bot access, I suggest implementing the [[m:Special:MyLanguage/Bot policy|standard bot policy]] on this wiki. In particular, this policy allows stewards to automatically flag known interlanguage linking bots (if this page says that is acceptable) or bots that fix double redirects. The policy also enables [[m:Bot policy#Global_bots|global bots]] on this wiki (if this page says that is acceptable), which are trusted bots that will be given bot access on every wiki that allows global bots. This policy makes bot access requesting much easier for local users, operators, and stewards. To implement it we only need to create a redirect to this page from [[Project:Bot policy]], and add a line at the top noting that it is used here. If you use or prefer to use a dedicated project page for handling bot flag requests, that is also acceptable. Please read [[m:Special:MyLanguage/Bot policy|the text at Meta-Wiki]] before commenting. If you object, please say so; I hope to implement in two weeks if there is no objection, since it is particularly written to streamline bot requests on wikis with little or no community interested in bot access requests. Thank you for your consideration. --'''[[User:Rschen7754|Rs]][[User talk:Rschen7754|chen]][[Special:Contributions/Rschen7754|7754]]''' 04:32, 3 sie 2022 (CEST) 3ypzeqhpotl2nz28phpxoogc1vzjn1e Książka kucharska/Wuzetki 0 6494 436578 234492 2022-08-02T18:27:25Z Persino 2851 /* Składniki */ wikitext text/x-wiki {{Wikipedia|Wuzetka}} {{commonscat|W-Z cake|Wuzetka}} == Wuzetki I == === Składniki === Biszkopt: * ''8 jaj'' * ''1 szklanka cukru kryształu'' * ''7 łyżek mąki pszennej'' * ''3 łyżki kakao'' * ''szczypta soli'' Bita śmietana: * ''1 litr śmietany 36%'' * ''2 łyżeczki żelatyny'' * ''3 łyżki cukru pudru'' * ''kilka łyżek zimnej wody'' Pozostałe: * ''dżem z czarnych porzeczek'' * ''[[Książka kucharska/Lukier czekoladowy|lukier czekoladowy]], najlepiej ciemny'' * ''poncz do nasączenia ciasta (np. mocna herbata z cukrem i wódką)'' === Przygotowanie === ; Biszkopt Żółtka i cukier ubić do białości. Białka i szczyptę soli ubić na sztywno. Mąkę i kakao przesiać przez sito, wymieszać. Ubite żółtka stopniowo dodawać do piany delikatnie mieszając. Nadal ostrożnie mieszając, wsypać partiami mąkę. Wstawić do piekarnika nagrzanego do 180 °C. Piec pół godziny. Upieczony biszkopt przekroić po wystudzeniu na dwie części. ; Bita śmietana Żelatynę namoczyć w zimnej wodzie, a następnie rozpuścić, podgrzewając na małym ogniu. Śmietanę ubić, dodając pod koniec ubijania rozpuszczoną żelatynę i cukier puder. ; Finał Dolny blat nasączyć, wyłożyć bitą śmietanę i przykryć drugim blatem. Górny blat nasączyć, posmarować cieniutko dżemem porzeczkowym i pokryć czekoladowym lukrem. Pokroić ciasto na porcje. Każde powstałe w ten sposób ciastko udekorować bitą śmietaną. == Wuzetki II == === Składniki === : 1. Biszkopt: * ''10 jaj'' * ''200 gram (1 szklanka) cukru kryształu'' * ''280 gram (1 i 2/3 szklanki) mąki pszennej typ 450 lub 500'' * ''20 gram (około 1 łyżka stołowa) kakao'' : 2. Syrop do nasączenia: * ''pół litra wody'' * ''300 gram (1 i 1/2 szklanki) cukru kryształu'' * ''kilka kropel esencji spożywczej rumowej'' * ''spirytus lub czysta wódka do zaostrzenia smaku'' : 3. Do wykończenia: * ''2 tabliczki gorzkiej czekolady'' * ''łyżka stołowa oleju roślinnego'' * ''litr śmietany kremówki 36% (lub 30%)'' * ''100 gram (pół szklanki) cukru pudru'' === Przygotowanie === Ubić białka jaj, dodać cukier, a na końcu żółtka. Dodać przesianą mąkę wraz z kakao do ubitych jajek i delikatnie razem wymieszać. Wylać ciasto na prostokątną blachę o wymiarach około 30x20x4 cm wyłożoną pergaminem i piec w temperaturze 160 °C około 30–40 minut.<br /> Biszkopt najlepiej upiec minimum 1 dzień przed wykończeniem. Zagotować wodę z cukrem, wystudzić. Do zimnego syropu dodać esencję i alkohol. Rozpuścić czekoladę wraz z olejem w naczyniu umieszczonym na garnku z gorącą wodą. Dobrze schłodzoną śmietanę ubić dodając pod koniec ubijania cukier puder. Przekroić biszkopt długim nożem na pół przez całą jego płaszczyznę. Nasączyć dolną część biszkoptu syropem za pomocą łyżki lub pędzla. Rozsmarować 3/4 ubitej śmietany na biszkopcie. Przykryć śmietanę górną warstwą biszkoptu, nasączyć syropem. Rozsmarować po wierzchu czekoladę. Włożyć deser do lodówki na tak długo, aż czekolada stwardnieje. Pokroić na kwadratowe porcje i ozdobić każdą porcję rozetką pozostałej śmietany za pomocą szprycy lub worka cukierniczego z odpowiednią końcówką. {{SORTUJ:Wuzetki}} [[Kategoria:Ciasta deserowe (wypieki)]] [[Kategoria:Śmietanka]] [[Kategoria:Czekolada]] [[Kategoria:Ciastka (wypieki)]] iee8s1c90lnd8f3d9awtweqcbmry6dg Wikijunior:Zwierzęta 104 15558 436585 404401 2022-08-02T20:04:00Z Hoodxxc 26654 lit., int., formatowanie wikitext text/x-wiki <center><big><big>'''[[Wikijunior:Strona główna|Wikijunior]]'''</big></big></center> [[Plik:Animalia diversity.jpg|Zwierzęta|center|300px]] {{status|-50%|Biologia}} <center><big>''Jest to książka o zwierzętach.'Zwierzęta''' to głównie organizmy, które się poruszają: koty, myszy, chomiki, dżdżownice, mrówki itp. Ale nie tylko. Pamiętaj, że również ukwiał jest zwierzęciem. Królestwo zwierząt dzieli się na dwie grupy: bezkręgowce i kręgowce. Te grupy zwierząt różnią się tym, że kręgowce mają szkielet, a bezkręgowce go nie mają.</big></center> {{BrClear}} == Kręgowce == === [[Wikijunior:Zwierzęta/Ssaki|Ssaki]] === {{/Ssaki/galeria}} Nazwa '''ssaki''' pochodzi od tego, że młode ssą mleko matki. Dzięki gruczołom mlekowym samice ssaków wytwarzają pokarm dla swojego potomstwa. Ssaki to ogromna grupa zwierząt, która zamieszkuje wszystkie środowiska. Ssaki są stałocieplne. Skóra ssaków jest najczęściej pokryta włosami lub sierścią. Najmniejszym ssakiem na ziemi jest ryjówka etruska, a największym płetwal błękitny. Większość to gatunki lądowe. Należą do nich takie zwierzęta jak jelenie czy niedźwiedzie. Niektóre ssaki żyją wśród koron drzew, jak małpy, inne przystosowały się do życia pod ziemią, jak krety, jeszcze inne opanowały zdolność aktywnego lotu, jak nietoperze. Część ssaków zamieszkuje środowiska wodne. Spotykamy wśród nich zwierzęta, które nigdy nie opuszczają wody, takie jak delfiny, wieloryby oraz zwierzęta, które co jakiś czas wychodzą na ląd, np. foki.<br> Ssaki dzielą się na trzy grupy:<br> - mięsożerne<br> - roślinożerne<br> - wszystkożerne Ssaki możemy także podzielić na trzy grupy: - łożyskowce - torbacze - stekowce Ssaki (''Mammalia'') – zwierzęta należące do kręgowców, charakteryzujące się głównie występowaniem gruczołów mlekowych u samic, zazwyczaj obecnością owłosienia (włosy lub futro; silnie zredukowane u gatunków wodnych, jak hipopotamy, u waleni całkowicie zanikają przed porodem lub w trakcie) oraz stałocieplnością (potocznie „ciepłokrwistość”). Ok. 60% ssaków utrzymuje temperaturę w granicach 34–39 °C, 40% wykazuje zróżnicowaną jej zmienność[2]. Stałocieplność umożliwia aktywny tryb życia w różnych środowiskach — od mroźnych obszarów podbiegunowych do gorących tropików. Futro i tłuszcz pomagają uchronić się przed zimnem, a wydzielanie potu i szybki oddech pomagają pozbyć się nadmiernego ciepła. Znaczna zmienność temperatury ciała umożliwia im natomiast ograniczenie strat ciepła do otoczenia. Ssaki zamieszkują zarówno środowiska wodne (walenie i brzegowce), jak i lądowe (większość), opanowały także przestrzeń powietrzną (nietoperze). Obecnie żyje na świecie blisko 5500 gatunków ssaków[3]. Z wyjątkiem nielicznych jajorodnych stekowców, wszystkie współczesne ssaki są żyworodne. Zdecydowanie największym rzędem, co do liczby gatunków pośród ssaków są gryzonie, obejmujące ponad 2200 gatunków. Następnie nietoperze, z ok. 1100 gatunkami. Najmniejszymi liczebnie grupami ssaków są słoniowate (trzy gatunki) i mrówniki z jednym przedstawicielem. Liczba ssaków jest stosunkowo niewielka w porównaniu z innymi zwierzętami. Największym żywym ssakiem i zarazem największym ssakiem w historii jest płetwal błękitny. Osiąga on ok. 30 m długości i 180 ton wagi. Najmniejszymi ssakami są nietoperze i ryjówki. Nietoperz ryjkonos malutki z południowo-wschodniej Azji waży zaledwie 2 g przy długości ciała ok. 3 cm. Ryjówka etruska waży 2 g, a jej długość łącznie z ogonem to zaledwie 4 cm. Psy domowe słyną z tego, że są bardzo przyjacielskie. Posiadają sierść, dzięki której podtrzymują ciepło. Pazury i kły są potrzebne do samoobrony i do upolowania pokarmu dla siebie i młodych. Są różnej wielkości — małe, które mogą sięgać do kolana i duże, które nawet mogą mieć ponad 1,3 metra. Jeśli psy przywiążą się do człowieka mogą nawet oddać własne życie, by uratować swojego przyjaciela. Niektóre psy są bardzo leniwe, np. mopsy, inne zaś bardzo, ale to bardzo energiczne, np. wszystkie rodzaje terrierów. Są psy bardzo chude, czyli charty — wyglądają, jakby miały anoreksję, ale muszą takie być, ponieważ są szybkie i moja opływowy kształt ciała. Pamiętaj, że niektóre zwierzęta są niebezpieczne i mogą zabić człowieka nawet w ciągu 5 minut. Do nich zalicza się nie tylko dzikie zwierzęta, ale też i domowe — np. jeśli wejdziesz na czyjąś posesję, może zaatakować cię pies. Zwierzęta zawsze kierują się instynktem. Gdy pies was zaatakuje, pamiętajcie, że za szkody i spowodowanie uszczerbku na zdrowiu odpowiada właściciel. <br>Należy pamiętać, że pies to nie zabawka i nie można go porzucić. Wiele osób tak robi, ale to pokazuje jacy są nieodpowiedzialni, najczęściej psy odrzucane są w okresie letnim. Gryzonie to zwierzęta zarówno udomowione jak i dzikie. Do gryzoni udomowionych zaliczmy: -chomiki -świnki morskie -koszatniczka -szynszyla -myszoskoczek Do gryzoni dzikich zaliczmy: -wiewiórki -bóbr -szczur -mysz -suseł === [[Wikijunior:Zwierzęta/Ptaki|Ptaki]]=== '''Ptaki''' to zwierzęta, które posiadają skrzydła (choć nie zawsze potrafią latać). W odróżnieniu od nietoperzy (które są ssakami) ciało ptaków jest pokryte piórami. Ich młode wykluwają się z jaj. Ptaki występują w praktycznie we wszystkich typach środowisk. Większość ptaków jest zdolna do lotu. Unoszą się w powietrzu, ponieważ ich kości są puste, w przeciwieństwie do ssaków, a kończyny przednie są przekształcone w skrzydła. Kończyny tylne służą ptakom do poruszania się na lądzie, w wodzie oraz do:<br> - grzebania w ziemi<br> - pływania<br> - nurkowania<br> - brodzenia.<br> Niektóre ptaki wylatują na zimę do ciepłych krajów, np.<br> -wilga<br> -słowik<br> -bocian<br> -kraska<br> -jaskółka Inne ptaki są przystosowane do zimna i ciepła i nie wylatują z Polski ani na zimę, ani na lato, np.:<br> -gołębie<br> -wróble<br> -kawki<br> -szpaki<br> -sowy<br> -sikorki Ich ciało jest lekkie, ponieważ ich znaczną część szkieletu budują kości wypełnione powietrzem.<br> Do zmniejszania ciężaru ciała służy im również dużo lżejszy rogowy dziób. Zadaniem dzioba jest pobieranie pokarmu, ale u wielu ptaków także obrona lub pielęgnacja piór. Wszystkie ptaki są zwierzętami jajorodnymi. Składane przez samice do gniazda jaja są osłonięte twardą, wapienną skorupką a ich ilość rozmiar, kształt i kolor zależy od gatunku. Ptaki są podzielone na gniazdowniki i zagniazdowniki. Gniazdownikami nazywamy takie ptaki, które przebywają po wykluciu z jajka od kilku miesięcy do roku i są pod stałą opieką rodziców. Zagniazdownikami nazywamy ptaki, które niedługo po wykluciu opuszczają gniazdo. Ssaki między innymi domowe są dużą pociechą dla dzieci ale także dla dorosłych. Ptaki domowe to np.:<br> -papużka falista<br> -kanarek<br> -amadyna<br> -świergotki<br> -nierozłączki '''Gatunki sów.''' -Płomykówka (''Tyto alba'')<br> -Puszczyk żółtobrzuchy (''Pulsatrix perspicillata'')<br> -Włochatka (''Aegolius funereus'')<br> -Puchacz mleczny (''Bubo lacteus'')<br> -Sóweczka (''Glaucidium passerinum'')<br> -Pójdźka ziemna (''Athene cunicularia'')<br> -Puszczyk uralski (''Strix uralensis'')<br> -Puszczyk mszarny (''Strix nebulosa'')<br> -Sowa śnieżna (''Bubo scandiacus'')<br> -Uszatka (''Asio otus'')<br> -Uszatka błotna (''Asio flammeus'')<br> -Sowa jarzębata (''Surnia ulula'')<br> -Syczek (''Otus scops'')<br> -Szlarogłówka północna (''Ptilopsis leucotis'')<br> -Rybiarka duża (''Scotopelia peli'')<br> -Puchacz (''Bubo bubo'')<br> {{/Ptaki/galeria}} Ptaki to najliczniejsza grupa kręgowców lądowych. Przystosowały się do różnych środowisk dzięki stałocieplności (utrzymaniu stałej temperatury ciała niezależnie od temperatury otoczenia). Należą do owodniowców (wytwarzają błony płodowe umożliwiające rozmnażanie się oraz rozwój zarodka na lądzie) tak jak gady i ssaki. Większość z nich ma zdolność aktywnego lotu. Największy ptak to struś afrykański (ma wysokość 2,5 m, waży 160 kg), a wśród latających kondor wielki (rozpiętość skrzydeł wynosi około 310 cm, waga 8–12 kg). Za najmniejszego spośród ptaków uznaje się koliberka hawańskiego (waga 2 g, długość 6 cm). === Płazy === <center><gallery widths=200> Plik:RanaLessonae.JPG|Żaba Plik:Bufo bufo sitting-Iric2006.jpg|Ropucha Plik:Lurchi live.jpg|Salamandra plamista Plik:Kammmolchmaennchen.jpg|Traszka </gallery></center> '''Płazy''' to zwierzęta, które żyją na lądzie i w wodzie. Świadczą o tym: cienka, pozbawiona łusek skóra, która bierze udział w oddychaniu, śluz pokrywający skórę, silne kończyny tylne służące do skakania i pływania, błona pławna pomiędzy palcami, płuca. Płazy rodzą się ze skrzeku. '''Płazy:'''<br> - '''płazy ogoniaste:''' traszka grzebieniasta, salamandra plamista<br> - '''płazy bezogonowe:''' grzebiuszka ziemna, żaba wodna, ropucha<br> - '''płazy beznogie:''' marszczelec pierścieniowy<br> == Ryby == Ryby to kręgowce przystosowane do życia w wodzie. ====Przystosowania ryb do pływania:==== * opływowy kształt ciała * płetwy * skrzela * skóra pokryta śluzem * łuski * linia brzegowa wewnętrzne: - dobrze umięśnione ciało - pęcherz pławny - dobrze ukrwione skrzela - produkcja dużej ilości gamet - zapłodnienie zewnętrzne - są zmiennocieplne - 1 przedsionek, 1 komora serca, 1 obieg krwi - samoregulacja ciśnienia i soli mineralnych ====Rodzaje płetw==== Ryby mają kilka rodzajów płetw, a każda z nich pełni inną funkcję: * Płetwa grzbietowa - umożliwia utrzymywanie równowagi * Płetwa ogonowa - tłumi zawirowania wody * Płetwa odbytowa - wspomaga funkcje płetwy grzbietowej * Dwie płetwy brzuszne - sterowanie ruchem * Dwie płetwy piersiowe - sterowanie ruchem. Płetwy piersiowe i brzuszne to są płetwy parzyste, a płetwy nieparzyste to ogonowa, grzbietowa i odbytowa. ====Oddychanie:==== Narządem oddechowym ryb są skrzela, stale opłukiwane przez wodę, która dostaje się przez otwór gębowy i wypływa na zewnątrz szczelinami skrzelowymi. Gdy woda przepływa przez skrzela następuje wymiana gazowa, podczas której z krwi do wody przenika dwutlenek węgla, a z wody do krwi — tlen. ====Ryby Morza Bałtyckiego==== =====Otwarta toń wodna===== * śledzie * szproty * dorsze * makrele =====Wody przybrzeżne===== * iglicznie * wężynki =====Piaszczyste dno===== * flądry * turboty * gładzice * sole ====Ryby dwuśrodowiskowe==== Ryby, które część życia spędzają w morzu, a część w rzekach lub jeziorach. Co pewien czas te zwierzęta podejmują długie i niebezpieczne wędrówki w celu złożenia ikry, np.: -węgorze -łososie ====Przykłady ryb==== ryby słodkowodne: -karp -karaś -sandacz -leszcz -okoń -amur ryby morskie: -łosoś -dorsz -rekin -makrela -flądra -tuńczyk -sąsiad == '''Stawonogi''' == Stawonogi, jak sama nazwa wskazuje, mają stawy w nogach (a właściwie w odnóżach). Mają też szkielet zewnętrzny, czyli zamiast kości wewnątrz ciała mają pancerz z chityny na zewnątrz ciała, który nie rośnie, więc te zwierzęta linieją. === '''Pajęczaki''' === Pajęczaki mają osiem nóg (cztery pary). Są małymi zwierzętami – osiągają od około 0,1 mm do ponad 30 cm długości. Pajęczaki to nie tylko pająki, ale też na przykład skorpiony, kleszcze, itp. Pajęczaki z tyłu ciała posiadają odwłok, a z przodu tak zwany głowotułów. Pajęczaki tak naprawdę nie atakują tylko blefują aby odstraszyć napastnika. Tylko gdy napastnik naprawdę blisko się zbliży atakują. Niektóre gatunki są bardzo terytorialne. Zdarza się że pajęczak tego samego gatunku pożre innego. Tylko właściwe pająki wytwarzają w odwłoku nici. Niektóre robią z nich dobrze znane sieci, w które łapią się owady, na przykład muchy, motyle i tym podobne. Większość pajęczaków prowadzi drapieżny tryb życia, ale część, np. roztocze, jest pasożytami, w większości zewnętrznymi. Niektóre pajęczaki są silnie jadowite — mogą nawet zabić człowieka i powalić największe zwierzęta, za to inne są niejadowite i mogą najwyżej zwyczajnie ugryźć. Pająki oddychają płucotchawkami, szczelinami na brzusznej powierzchni ciała. <center><gallery widths=200> Araneus diadematus (aka).jpg|Pająk krzyżak File:Theraphosa blondi flickr.jpg|Pająk ptasznik Black scorpion.jpg|Skorpion Harvestman Spider.JPG|Kosarz (pająk ogrodowy) Plik:Ixodes ricinus wwalas.jpg|Kleszcz </gallery></center> === '''Skorupiaki''' === <center><gallery widths=200> Ecrevisse pattes rouges.jpg|Rak Rainbow crab.jpg|Krab </gallery></center> Skorupiaki posiadają 10 nóg czyli pięć par, zaliczmy do nich:<br> - krewetki<br> - raki: rak błotny, rak pręgowaty, rak sygnałowy<br> - kraby: krab tęczowy, krab mangrowy<br> - homary<br> - pustelnik<br> - oczliki Wyraźny podział ciała na kilka odcinków — tagmy (głowotułów i odwłok). Wyraźna segmentacja tułowia i odwłoka. Charakteryzują się dużym stopniem zróżnicowania budowy. Wielkość od 0,5 mm (oczlik) do kilkudziesięciocentymetrowych okazów homarów czy langust. Największy skorupiak to krab japoński. Na głowie znajduje się pięć par silnie zmodyfikowanych odnóży: czułki I pary, czułki II pary, żuwaczki, szczęki I pary i szczęki II pary. Tułów i odwłok mają liczne odnóża służące do lokomocji, chwytania zdobyczy lub oddychania[2]. Odnóża są dwuczęściowe z wyjątkiem pierwszej pary czułków. U większości ciało pokryte pancerzem (karapaksem). Wiele gatunków pasożytniczych np. spośród wąsonogów (''Cirripedia'') lub widłonogów (''Copepoda'') to pasożyty wewnętrzne, których skrajnie uproszczona budowa zewnętrzna i wewnętrzna w niczym nie przypomina budowy wolno żyjących przedstawicieli. Ich przynależność do podtypu skorupiaków określa się na podstawie analizy budowy stadiów larwalnych lub badań genetycznych. królestwo obejmujące wielokomórkowe organizmy cudzożywne o komórkach eukariotycznych, bez ściany komórkowej, w większości zdolne do aktywnego poruszania się. Są najbardziej zróżnicowanym gatunkowo królestwem organizmów. Największą grupę zwierząt stanowią bezkręgowce, a wśród nich owady. Drugą, obok bezkręgowców, grupą zwierząt są kręgowce. Wśród nich tradycyjnie wyróżnia się ryby, płazy, gady, ptaki i ssaki, do których należy również człowiek. === '''Owady''' === Owady posiadają 6 odnóży, czyli 3 pary. Bardzo często pojawiają się u niektórych gatunków skrzydła, najczęściej są to dwie pary połączone ze sobą. == Mięczaki == Mają miękkie i delikatne ciało pokryte grubą warstwą śluzu. Poruszając się zostawiają za sobą ślad śluzu. Jedną z głównych cech charakteryzujących morskie mięczaki jest wytwarzanie przez nie muszli. Może się ona znajdować w ciele bądź na nim. Składa się ona ze związków wapnia wchłoniętych przez zwierzęta z wody morskiej. Muszla pełni różne funkcje, między innymi ułatwia pływanie, zabezpiecza przed wrogiem i jest przenośnym domem zwierzęcia. W ciele mięczaków zwykle wyróżnia się trzy rejony. Największą częścią jest stopa (lub noga), nad nią znajduje się worek trzewiowy, w którym zlokalizowane są głównie narządy wewnętrzne, a trzecią częścią jest głowa. Stopa przyczepia zwierzę do podłoża i często ma dużą powierzchnię. Na głowie mięczaków zazwyczaj umieszczone są czułki i oczy. W okolicy otworu gębowego znajduje się radula (tarka), wyposażona w ułożone rzędami ząbki i służąca do rozdrabniania pobieranego pokarmu. Przewody odbytowe, płciowe i wydalnicze otwierają się do jamy płaszczowej. Noga u mięczaków to mięsisty, nieparzysty narząd lokomotoryczny. U ślimaków służy do pełzania i pływania, a u małży do przemieszczania się w podłożu. U głowonogów noga przekształca się w służące do ataku lub obrony ramiona oraz lejek, umożliwiający odrzutowy sposób poruszania się. Worek trzewiowy to część ciała, w której znajduje się większość narządów wewnętrznych. Okrywa go fałd ściany (powłoki) ciała, zwany płaszczem. Przestrzeń między płaszczem, a workiem trzewiowym tworzy jamę płaszczową. Mieszczą się w niej narządy wymiany gazowej oraz ujścia przewodu pokarmowego, układu wydalniczego i płciowego. == '''Parzydełkowce''' == <center><gallery widths=200> Qualle Ohrenqualle 2006-01-01 215.jpg |[[Wikijunior:Zwierzęta/Meduzy|Meduza]] Anemone monterey madrabbit.jpg|Ukwiał [[|mały]]|Stłubia </gallery></center> Parzydełkowce jak sama nazwa wskazuje posiadają parzydełka. Służą one najczęściej do obrony bądź ataku. Parzydełkowce żyją wyłącznie w środowisku wodnym, głównie w morzach i oceanach. Są to najprostsze zwierzęta tkankowe. Parzydełkowce mogą występować w postaci polipa lub meduzy. Polip przypomina kształtem worek i jest przyczepiony do podłoża za pomocą stopy. Meduza w odróżnieniu od polipa potrafi pływać. Zwierzęta te najczęściej tworzą zwarte grupy poza niektórymi meduzami. jm6maetebupl00ygxqynggw8efk95gd Szablon:Rummikub 10 19755 436583 118939 2022-08-02T19:54:23Z Persino 2851 wikitext text/x-wiki <includeonly><span style="border: 0.2em solid; border-color: #DDDDDD #BBBBBB #BBBBBB #DDDDDD; padding: 0.2em 0.4em 1em 0.4em; color: {{{2|#000000}}};">'''{{{1|J}}}'''</span></includeonly><noinclude>{{Dokumentacja}}</noinclude> sabxcaeic5mgbztsra2apyjnk6wpps2 Szablon:Szablon nie opis/opis 10 58225 436581 414419 2022-08-02T19:48:30Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon wstawiany na strony szablonów lub modułów (do jego opisów tylko, ze względu na specyfikę przestrzeni nazw {{Np|Module|link=tak}}) do stron opisu lub nie, i zwraca nazwę szablonu, do której należy ten szablon lub nazwę samego szablonu. == Opis parametrów == Szablon przyjmuje parametry modułu pudełek {{m|Pudełko}}, których się używane dla celów testowania tego szablonu, lub na stronach opisu, a także parametr {{Parametr|strona|opis}}. Zwykle ten szablon nie używa się z parametrami, ale jedyny niepudełkowy parametrem jest: * {{Code|pełna}} - jeśli niepusta, szablon zwraca nazwę strony z przestrzenią nazw, w przeciwnym wypadku już nie. == Przykład == Szablon {{s|Szablon nie opis}} powinno się używać bez parametrów, z parametrami używamy dla celów testowych, za wyjątkiem parametru {{Parametr|pełna|tak}}. === Przestrzenie obsługiwane === ==== Przestrzeń nazw {{Np|Template|link=tak}} ==== ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny/opis}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny/opis}} }} ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny}} }} ===== Wniosek ===== * Widzimy, że w dwóch przypadkach szablon - opis, ten szablon zwraca ten sam wynik. ==== Przestrzeń nazw {{Np|Module|link=tak}} ==== ===== Szablon wstawiamy na stronę {{m|Mapa/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa/opis}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa/opis}} }} ===== Szablon wstawiamy na stronę {{m|Mapa}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa}} }} ===== Wniosek ===== * Widzimy, że w dwóch przypadkach szablon - opis, ten szablon zwraca ten sam wynik. === Inne przestrzenie === ---- ==== Szablon wstawiamy na stronę {{s|Wikijunior:Mapa/opis}}, tutaj użyjemy symulację tego miejsca==== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Wikijunior|nazwa jednostki{{=}}Mapa/opis}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Mapa/opis}} }} ==== Szablon wstawiamy na stronę {{s|Wikijunior:Mapa}}, tutaj zasymulujemy to miejsce ==== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Wikijunior|nazwa jednostki{{=}}Mapa}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Mapa}} }} ==== Wniosek ==== Widzimy, że w dwóch powyższych przypadkach szablon zwrócił błąd. === Z parametrem {{Parametr|pełna|tak}} === ==== Przestrzeń nazw {{Np|Template|link=tak}} ==== ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny/opis}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny/opis}} }} ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny}} }} ===== Wniosek ===== Widzimy, że w dwóch powyższych przypadkach szablon zwraca ten sam wynik. ==== Przestrzeń nazw {{Np|Module|link=tak}} ==== ===== Szablon wstawiamy na stronę {{m|Mapa/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa/opis}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa/opis}} }} ===== Szablon wstawiamy na stronę {{m|Mapa}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa}} }} ===== Wniosek ===== Widzimy, że w dwóch powyższych przypadkach szablon zwraca ten sam wynik. == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "pełna": { "description": "Jeśli niepusta, szablon zwraca pełną nazwę szablonu, w przeciwnym wypadku nazwę szablonu.", "type": "string", "suggested": true } }, "description": "Szablon do zwracania nazw szablonów lub pełnych nazw szablonu, jeśli szablon wstawimy na stronę w przestrzeni nazw Szablon lub Moduł, na stronę szablonu lub jego stronę opisu, w innych przestrzeniach szablon zwraca błąd." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony}} </includeonly> omjqohs5jgcga8af8eie7is0zr3vh41 436582 436581 2022-08-02T19:49:16Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon wstawiany na strony szablonów lub modułów (do jego opisów tylko, ze względu na specyfikę przestrzeni nazw {{Np|Module|link=tak}}) do stron opisu lub nie, i zwraca nazwę szablonu, do której należy ten szablon lub nazwę samego szablonu. == Opis parametrów == Szablon przyjmuje parametry modułu pudełek {{m|Pudełko}}, które się używa dla celów testowania tego szablonu, lub na stronach opisu, a także parametr {{Parametr|strona|opis}}. Zwykle ten szablon nie używa się z parametrami, ale jedyny niepudełkowy parametrem jest: * {{Code|pełna}} - jeśli niepusta, szablon zwraca nazwę strony z przestrzenią nazw, w przeciwnym wypadku już nie. == Przykład == Szablon {{s|Szablon nie opis}} powinno się używać bez parametrów, z parametrami używamy dla celów testowych, za wyjątkiem parametru {{Parametr|pełna|tak}}. === Przestrzenie obsługiwane === ==== Przestrzeń nazw {{Np|Template|link=tak}} ==== ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny/opis}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny/opis}} }} ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny}} }} ===== Wniosek ===== * Widzimy, że w dwóch przypadkach szablon - opis, ten szablon zwraca ten sam wynik. ==== Przestrzeń nazw {{Np|Module|link=tak}} ==== ===== Szablon wstawiamy na stronę {{m|Mapa/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa/opis}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa/opis}} }} ===== Szablon wstawiamy na stronę {{m|Mapa}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa}} }} ===== Wniosek ===== * Widzimy, że w dwóch przypadkach szablon - opis, ten szablon zwraca ten sam wynik. === Inne przestrzenie === ---- ==== Szablon wstawiamy na stronę {{s|Wikijunior:Mapa/opis}}, tutaj użyjemy symulację tego miejsca==== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Wikijunior|nazwa jednostki{{=}}Mapa/opis}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Mapa/opis}} }} ==== Szablon wstawiamy na stronę {{s|Wikijunior:Mapa}}, tutaj zasymulujemy to miejsce ==== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|nazwa przestrzeni nazw{{=}}Wikijunior|nazwa jednostki{{=}}Mapa}} {{Strong|Wynik}} {{Szablon nie opis|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Mapa}} }} ==== Wniosek ==== Widzimy, że w dwóch powyższych przypadkach szablon zwrócił błąd. === Z parametrem {{Parametr|pełna|tak}} === ==== Przestrzeń nazw {{Np|Template|link=tak}} ==== ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny/opis}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny/opis}} }} ===== Szablon wstawiamy na stronę {{s|Link wewnętrzny}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Template|nazwa jednostki{{=}}Link wewnętrzny}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Template|nazwa jednostki=Link wewnętrzny}} }} ===== Wniosek ===== Widzimy, że w dwóch powyższych przypadkach szablon zwraca ten sam wynik. ==== Przestrzeń nazw {{Np|Module|link=tak}} ==== ===== Szablon wstawiamy na stronę {{m|Mapa/opis}}, tutaj użyjemy symulację tego miejsca===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa/opis}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa/opis}} }} ===== Szablon wstawiamy na stronę {{m|Mapa}}, tutaj zasymulujemy to miejsce ===== {{Pre| {{Strong|Przykład}} {{s|Szablon nie opis|pełna{{=}}tak|nazwa przestrzeni nazw{{=}}Module|nazwa jednostki{{=}}Mapa}} {{Strong|Wynik}} {{Szablon nie opis|pełna=tak|nazwa przestrzeni nazw=Module|nazwa jednostki=Mapa}} }} ===== Wniosek ===== Widzimy, że w dwóch powyższych przypadkach szablon zwraca ten sam wynik. == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "pełna": { "description": "Jeśli niepusta, szablon zwraca pełną nazwę szablonu, w przeciwnym wypadku nazwę szablonu.", "type": "string", "suggested": true } }, "description": "Szablon do zwracania nazw szablonów lub pełnych nazw szablonu, jeśli szablon wstawimy na stronę w przestrzeni nazw Szablon lub Moduł, na stronę szablonu lub jego stronę opisu, w innych przestrzeniach szablon zwraca błąd." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony}} </includeonly> qtn42725mgdnulxsmynxhpz66nc0eop Wikipedysta:Persino/vector-2022.css 2 58229 436579 436340 2022-08-02T19:23:04Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block table; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'dd dd dd' auto 'bb bb bb' auto 'cc cc cc' auto '.. .. ff' auto 'ee ee ee' auto / minmax(auto,1fr) auto auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:dd; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:cc; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ff; height:20px; width:auto; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:ee; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'cc' auto 'bb' auto 'dd' auto 'ee' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #siteNotice, body.skin-vector-search-vue.action-view.ns-special #content > #siteNotice, body.skin-vector-search-vue:not(.action-view) #content > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:cc; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:dd; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block table !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:ee; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'bb cc dd' auto 'bb ee ee' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:cc; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:dd; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ee; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:2px 0 3px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 2px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 2px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 8px 8px 3px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-container-parser-output{ overflow:auto; overflow-x:auto; overflow-y:visible; min-width:822px; box-sizing:border-box; margin-bottom:5px; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output.has-mw-parser-output-whitespace, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-container-parser-output.has-mw-parser-output-whitespace{ margin-bottom:0 !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output.mw-scrollbar-overflow-x, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr .mw-container-parser-output.mw-scrollbar-overflow-x{ padding-bottom:5px; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output:not(.mw-scrollbar-overflow-x), body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr .mw-container-parser-output:not(.mw-scrollbar-overflow-x){ padding-bottom:0; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output.mw-scrollbar-overflow-y, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr .mw-container-parser-output.mw-scrollbar-overflow-y{ padding-right:5px; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text:not(.mw-scrollbar-overflow-y), body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr:not(.mw-scrollbar-overflow-y){ padding-right:0; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-parser-output > .mw-parser-output{ margin:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .mw-container-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container:-moz-only-whitespace .sidebar-toc{ margin-top:0 !important; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } 9kw43yqf0qlfaaebez5c4ci1uo5m50w 436580 436579 2022-08-02T19:24:16Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block table; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'dd dd dd' auto 'bb bb bb' auto 'cc cc cc' auto '.. .. ff' auto 'ee ee ee' auto / minmax(auto,1fr) auto auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:dd; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:cc; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ff; height:20px; width:auto; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:ee; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'cc' auto 'bb' auto 'dd' auto 'ee' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #siteNotice, body.skin-vector-search-vue.action-view.ns-special #content > #siteNotice, body.skin-vector-search-vue:not(.action-view) #content > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:cc; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:dd; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block table !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:ee; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'bb cc dd' auto 'bb ee ee' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:cc; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:dd; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ee; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:2px 0 3px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 2px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 2px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 8px 8px 3px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-container-parser-output{ overflow:auto; overflow-x:auto; overflow-y:visible; min-width:822px; box-sizing:border-box; margin-bottom:5px; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output.has-mw-parser-output-whitespace, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-container-parser-output.has-mw-parser-output-whitespace{ margin-bottom:0 !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output.mw-scrollbar-overflow-x, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr .mw-container-parser-output.mw-scrollbar-overflow-x{ padding-bottom:5px; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output:not(.mw-scrollbar-overflow-x), body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr .mw-container-parser-output:not(.mw-scrollbar-overflow-x){ padding-bottom:0; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-container-parser-output.mw-scrollbar-overflow-y, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr .mw-container-parser-output.mw-scrollbar-overflow-y{ padding-right:5px; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text:not(.mw-scrollbar-overflow-y), body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text #wikiPreview .mw-content-ltr:not(.mw-scrollbar-overflow-y){ padding-right:0; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-parser-output > .mw-parser-output{ margin:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .mw-container-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container:-moz-only-whitespace .sidebar-toc{ margin-top:0 !important; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } 4age10zc9a7c8zipbz2ir8wi8kk03hl Szablon:StronaStart/stronastart.css 10 58549 436509 436508 2022-08-02T12:07:33Z 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, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } d8qroevbwbl3wat3q3nwcbn87jdrbjm 436510 436509 2022-08-02T12:08:16Z 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, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > 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:block 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } k9e61k7n5hk1xfzee9bo7r7dkqanzh6 436516 436510 2022-08-02T12:40:55Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .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{ 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:block 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } 0iadi2qiys6dyuhg4uitngb8dwp3c9q 436529 436516 2022-08-02T13:41:08Z 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{ height:calc( 100% - 20px ); width:100%; box-sizing:border-box; } .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:block 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } jhnvvyeffqqwvphs8ud0arhkgo3u3dm 436530 436529 2022-08-02T13:45:27Z 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{ height:calc( 100% - 1em ); width:100%; box-sizing:border-box; } .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:block 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } m01dct7ap63m36l9kgblu1vk8nntwn0 436531 436530 2022-08-02T13:46:34Z 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, .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{ 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:block 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } 0iadi2qiys6dyuhg4uitngb8dwp3c9q 436532 436531 2022-08-02T13:50:17Z 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:block 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:calc( 100% - 20px ) !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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } mqu5li9pmh5ksi4edlutqkyp0hiv5bz 436533 436532 2022-08-02T13:55:12Z 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:block 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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } clidl7upyhkmbhajosydivwj8ng502g 436539 436533 2022-08-02T14:26:14Z 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:flex; 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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } pwyzv69vg64qvzhd3jscqnm6odbil82 436540 436539 2022-08-02T14:26:59Z 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:flex; flex-direction:column; 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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } opdu8w19jdk9a0sbqt5ofz984p4qeme 436546 436540 2022-08-02T14:55:06Z 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:block 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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:3s; } .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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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: 3s; } .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; } clidl7upyhkmbhajosydivwj8ng502g 436550 436546 2022-08-02T15:46:40Z 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:block 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; overflow-y:hidden; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:absolute !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: max-content !important; max-width:calc( 100% - 5px ) !important; height:max-content !important; max-height:100% !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:max-content !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:max-content!important; max-height:calc( 100% * 3.3333333 ) !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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left; 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 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left; 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'); } .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:absolute !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; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: max-content !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: max-content !important; max-height:calc( 100% * 3.3333333 ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:max-content !important; max-width:calc( 100% - 5px )!important; height: max-content !important; max-height: 100% !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; } m0yz4w3ruua0dquxmd1wjnsbz8hcj18 Wikipedysta:Persino/common.js 2 58552 436511 436503 2022-08-02T12:11: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["client"+(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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(szerokosc>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["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 04lp74v92ssmxdn32dtywmdgfcncgwt 436512 436511 2022-08-02T12:12:56Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["client"+(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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(szerokosc>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["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); jilcwl6wkq5lq6pulw86k0j0goxi9uq 436513 436512 2022-08-02T12:15: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); r8o8zki3l04igwnpqaxixnxpai0yybq 436514 436513 2022-08-02T12:17: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; //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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); n4mjdqnun3i980w70tweso1ax8ov2r7 436515 436514 2022-08-02T12:22: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 477suxpfsv3dwy22pprom8vdnxal8gu 436517 436515 2022-08-02T12:47:01Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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();}))]+20)+"px"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 3jpgunv2f4gxhj3crsffzyu3o2fm90w 436518 436517 2022-08-02T12:48: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); nlgwj9xlvjyl3irgobhl0r7ygeevbr1 436519 436518 2022-08-02T12:49:36Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; element.style.height="300px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 2gtkxhls1lrhz4ovuv67lwsqcmnclma 436520 436519 2022-08-02T12:50: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; element.style.height="100px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 3jqe8ttu9bjjjbuptkuarz6elnc318w 436521 436520 2022-08-02T12:56: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); element.classList.remove('mw-scrollbar-overflow-'+x_box_right); element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); nbw8vzrw5jr6drkvsm9vw1c99n4vvsx 436522 436521 2022-08-02T12:58:57Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 477suxpfsv3dwy22pprom8vdnxal8gu 436523 436522 2022-08-02T13:16:04Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); element.classList.remove('mw-scrollbar-overflow-'+x_box_right); element.style[height]="auto"; var comp_element=window.getComputedStyle(element, null); element.style[height]="100px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 2ntzion99u5tm7vpf9xp8012ydivzrl 436524 436523 2022-08-02T13:26:52Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); element.classList.remove('mw-scrollbar-overflow-'+x_box_right); element.style[height]="auto"; element.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var comp_element=window.getComputedStyle(element, null); element.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=parseFloat(comp_element.getPropertyValue('max-height'))+"px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 7inl13hxchqjr2qzwbouvw8mb2gszkt 436525 436524 2022-08-02T13:28: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); element.classList.remove('mw-scrollbar-overflow-'+x_box_right); element.style[height]="auto"; element.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var comp_element=window.getComputedStyle(element, null); element.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=parseFloat(comp_element.getPropertyValue('max-height')-20)+"px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); n7p4dzwyeddw4xq2jp1bf6xflw4u5l3 436526 436525 2022-08-02T13:29: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); element.classList.remove('mw-scrollbar-overflow-'+x_box_right); element.style[height]="auto"; element.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var comp_element=window.getComputedStyle(element, null); element.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=parseFloat(comp_element.getPropertyValue('max-height')-20)+"px"; }); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 1wmqk29rgz34he0zg7y8qf7fr6d1fmp 436527 436526 2022-08-02T13:31: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; }); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); e8a6209p279p87gq9uatyvkvlnzj7t6 436528 436527 2022-08-02T13:34: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 7vm3y5ofsryfxtwm3rxcfjv4ftzvupb 436534 436528 2022-08-02T14:00:22Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ //element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; //var x_box_right=((width_box=="width")?"y":"x"); //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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 4a8z6v9bceufo18p5xiu7jy7pbhoes3 436535 436534 2022-08-02T14:01:10Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); i6nqe241jsfsac1gtegn50qrmma7e5c 436536 436535 2022-08-02T14:05: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+parseFloat(comp_element.getPropertyValue('scrollbar-width'))+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 29je1iqmi5mfpdeimxn3l60irdcx4ua 436537 436536 2022-08-02T14:06:59Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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); alert(comp_element.getPropertyValue('scrollbar-width')); element.style.width=(element.scrollWidth+parseFloat(comp_element.getPropertyValue('scrollbar-width'))+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); carp7lfc8as6j8qpp32v10iie3q529o 436538 436537 2022-08-02T14:08: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 0qmj4yhyvcgtr2yqv2wgv9q30j2on49 436541 436538 2022-08-02T14:47:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); div.css('overflow-x', 'hidden'); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); return (w1 - w2); } alert(PobierzSzerokoscPaskaPrzewijania()); function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); lw9iry4hx3nuwc86bghiebt1t1nat4w 436542 436541 2022-08-02T14:48: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); div.css('overflow-x', 'hidden'); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } alert(PobierzSzerokoscPaskaPrzewijania()); function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+20+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 5y22znbyfd79me3fm86u8ssp4fblh9e 436543 436542 2022-08-02T14:49: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); div.css('overflow-x', 'hidden'); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } alert(PobierzSzerokoscPaskaPrzewijania()); function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); hj8nr4u5txpfktvh1ezs112e5jnmyjz 436544 436543 2022-08-02T14:50: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); div.css('overflow-x', 'hidden'); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 7ijkdhunhwo2f0fg35h0dz7cebc65id 436545 436544 2022-08-02T14:53: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.hover(fun_zdarz,fun_zdarz); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 4mo5kqs2t8opy507pxq7b9yt703ja9r 436547 436545 2022-08-02T15:15:20Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 06x44v3rmrj92lvnjph6a1l7dodvpk0 436548 436547 2022-08-02T15:18: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; ScrollBarOverflow(); for(var i in pozycje_paskow){ if(pozycje_paskow[i][0].scrollTop==0){pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];} if(pozycje_paskow[i][0].scrollLeft==0){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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 4apv1y0krhexjddja2k9t42f3hy7nbk 436549 436548 2022-08-02T15:20:49Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); 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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 718nq8a6ii4ehfpov06mghn1spk31lq 436551 436549 2022-08-02T15:49: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(css,fun_zdarz){ var fun_css=$(css); fun_css.on('mouseover',fun_zdarz); fun_css.on('mouseout',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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); pve7mpmyvu70arokh89qrhaejigz42f 436552 436551 2022-08-02T16:00: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 5kt3tc4tapufdhilzr0gq9rrt5gp304 436553 436552 2022-08-02T16:21:36Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); 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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; if($(element).hasClass('nawigacja_boksy')){$(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static');} if($(element).hasClass('nawigacja_spis')){$(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','relative');} }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 48aw95y0bnw5ruzqpk73emda6pme8tj 436554 436553 2022-08-02T16:24:57Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); 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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; if($(element).hasClass('nawigacja_boksy')){ $(element).parents('.strona_prawa, .strona_lewa').first().css('position','static'); } if($(element).hasClass('nawigacja_spis')){ $(element).parents('.strona_prawa, .strona_lewa').first().css('position','relative'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); a78kaumg1tv8aa709ynnj1wojj1sf4r 436555 436554 2022-08-02T16:31:01Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); 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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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"; } } 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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; if($(element).hasClass('nawigacja_boksy')){ //$(element).parents('.strona_prawa, .strona_lewa').first().css('position','static'); } if($(element).hasClass('nawigacja_spis')){ //$(element).parents('.strona_prawa, .strona_lewa').first().css('position','relative'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); bgdzu1upwp1ghgbg93oomf3lzoj4nl1 436556 436555 2022-08-02T16:39: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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 rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-left"))+parseFloat(comp.getPropertyValue("margin-right")); if(szerokosc>width_rodzic){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); }else{ $(element_g).parents('.strona_prawa, .strona_lewa').first().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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); onr6fr2eu4mn5sytrsmbv2ylcr01hmx 436557 436556 2022-08-02T16:39:59Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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 rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-left"))+parseFloat(comp.getPropertyValue("margin-right")); if(szerokosc>width_rodzic){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); }else{ $(element_g).parents('.strona_prawa, .strona_lewa').first().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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); 9njlo9o4jo8ib2lmk6pfit05y66e24n 436558 436557 2022-08-02T16:42: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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=comp_rodz.getPropertyValue([width]); rodzic_node=element; }); if(width_rodzic!==null){ 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(width_box_real>rect_dziecko[width]){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>parseFloat(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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(parseFloat(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 rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-left"))+parseFloat(comp.getPropertyValue("margin-right")); console.log(szerokosc,width_rodzic,"TYTAN"); if(szerokosc>width_rodzic){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); }else{ $(element_g).parents('.strona_prawa, .strona_lewa').first().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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); dzqbexo622wnipncq3yj8a0oibxw40q 436559 436558 2022-08-02T16:46: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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 rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-left"))+parseFloat(comp.getPropertyValue("margin-right")); if(szerokosc>width_rodzic){ $(element_g).parents('.strona_prawa, .strona_lewa').first().css('position','static'); }else{ $(element_g).parents('.strona_prawa, .strona_lewa').first().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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); o14m1h33f7cpou2c8ddbsh7jkgig043 436560 436559 2022-08-02T17: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); alanaecfp3b77hhyoepfnad1ast11bd 436561 436560 2022-08-02T17:10:01Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; //var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); //if($(element).hasClass('nawigacja_boksy')){ // str.css('position','static'); // str.addClass('strona_start-nawigacja_boksy'); //}else if($(element).hasClass('nawigacja_spis')){ // str.css('position','relative'); //} }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); d1iswbj7tbkzvb8svwo7rjtatlusfat 436562 436561 2022-08-02T17:10: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); oxmvgldh86w0onoun0u9mvofli4snz1 436563 436562 2022-08-02T17:14:59Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); }else if($(element).hasClass('nawigacja_spis')){ //str.css('position','relative'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); d91nxnjlr7653wcsolplr5e21wvdyuc 436564 436563 2022-08-02T17:16:20Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); }else if($(element).hasClass('nawigacja_spis')){ //str.css('position','relative'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); cinrjci361z81hxjvfted7fszedy7sj 436565 436564 2022-08-02T17:18: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); } }else{ element.style.visibility="hidden"; } }); $(ScrollBarOverflow);$(StickyXY);$(OptimalXY); } elements.on('click',StronaStartFun); } $(StronaStart); pjton5amihl98pr07wxr7dtijcf708p 436566 436565 2022-08-02T17:23:14Z 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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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 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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); sxsna9iwzfal7sqjnncyem4nz129wcu 436567 436566 2022-08-02T17:28: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.visibility="visible"; }); 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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 2xtgnygrfbo86adtnwv88slun2pbcqx 436568 436567 2022-08-02T17:30: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(ScrollBarOverflow); $(OptimalXY); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.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'); $(ScrollBarOverflow); $(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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 89uhss6p5n64ra9bhm261wwkq528oi5 436569 436568 2022-08-02T17:32: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.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'); $(ScrollBarOverflow); $(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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 0mqxe5z7ebfglehmj34oohjs6k6zz3l 436570 436569 2022-08-02T17:33: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.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'); //$(ScrollBarOverflow); //$(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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.visibility="visible"; if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); r3d5mksazaaee7dgab5ffcbqr5wifxz 436571 436570 2022-08-02T17:35: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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.style.visibility="hidden"; }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ element.style.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'); $(ScrollBarOverflow); $(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.style.display; if(display=="none"){ element.style.display="block"; }else{ element.style.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.style.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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); oyavlakf9wrg5vb7fw59tjnxl3tdjxr 436572 436571 2022-08-02T17:50: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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){ $(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'); $(ScrollBarOverflow); $(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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); gxoxpmsgjbukt1jz35kzo4kbmqjfdpo 436573 436572 2022-08-02T17:53:27Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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"){ $(ScrollBarOverflow); $(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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 3ksr09w1vj7lnvwev3jv49ckxce37su 436574 436573 2022-08-02T18:04: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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"){ $(ScrollBarOverflow); $(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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ //str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 56bxhu8jhthnwhgmgta5h5slahl6ije 436575 436574 2022-08-02T18:05: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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"){ $(ScrollBarOverflow); $(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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 3ksr09w1vj7lnvwev3jv49ckxce37su 436576 436575 2022-08-02T18:13:22Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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-5); 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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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"){ $(ScrollBarOverflow); $(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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); byk6mz6czxd10ef0n2uzlrgohqk05q8 436577 436576 2022-08-02T18:14:22Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ function PobierzSzerokoscPaskaPrzewijania(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } function ScrollBarOverflow(){ $('*.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*/ }); } $(ScrollBarOverflow); $(window).on('resize', ScrollBarOverflow); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ function StickyXY(){ $('*.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){ 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('sctickyXYOld-top');var stickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(stickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(stickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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"; 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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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"; 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=(element.scrollWidth+PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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"; 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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(StickyXY); $(window).on('scroll', StickyXY); $(window).on('resize', StickyXY); /*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*/ function RamkiTableIDiv(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+"\\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:ScrollBarOverflow();javascript:StickyXY();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ function OptimalXY(){ $('*.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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do StickyXY i OptimalXY*/ function ZdarzeniaXYBeginEnd(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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",StickyXY); ZdarzeniaXYBeginEnd('*.mw-optimal-x, *.mw-optimal-y',OptimalXY); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ function StronaStart(){ 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"){ $(ScrollBarOverflow); $(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'); $(ScrollBarOverflow); $(OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(ScrollBarOverflow); $(StickyXY); } }else{ element.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(StronaStart); 3ksr09w1vj7lnvwev3jv49ckxce37su 436588 436577 2022-08-02T20:24: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ var Common=new Array(); Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); ZdarzeniaXYBeginEnd('*.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); $(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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 6x624rqgzd97xiyblqwqqelik0k4mj7 436589 436588 2022-08-02T20:26:49Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ var Common=new Array(); Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>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"); } }); } $(OptimalXY); $(window).on("resize",OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); ZdarzeniaXYBeginEnd('*.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); $(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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 8ktlsw3z80283u6d3g8wznb532dktap 436590 436589 2022-08-02T20:28: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ var Common=new Array(); Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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); }; ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); ZdarzeniaXYBeginEnd('*.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); $(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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); ldtmsljfg67fpr8xxix4mit47xrrdyc 436591 436590 2022-08-02T20:29: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ var Common=new Array(); Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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); $(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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); ksf2wipytdes2ni0yet16q3c58kzlnr 436592 436591 2022-08-02T20:30: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 ); /**/ /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ var Common=new Array(); Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 1qpteb3dkb836kno88t2jk5q02qd4rz 436593 436592 2022-08-02T20:49: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','Common.collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','Common.NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 6tsmrg17myyqcg16fzkorl72aw113py 436594 436593 2022-08-02T21:10:14Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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+"\\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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); qp7abwowderzksto9bz732xj9oq2x0u 436595 436594 2022-08-02T21:12:35Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); rv5db2cl2zg0cyyr1mfqt6ucgtyma4u 436597 436595 2022-08-03T09:56: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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#collapsibleTable"+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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 7gs813mskfzq44mzgckm01vsxk3np4e 436598 436597 2022-08-03T09:59:10Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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( "]" ) ); console.log($(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex),"TYTAN"); $(Header.childNodes[0]).has("a#collapsibleTable"+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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); kl4b9klmfnytcxfwibaqubx0vljpzfp 436599 436598 2022-08-03T10:00:47Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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( "]" ) ); console.log($(Header.childNodes[0]),"TYTAN"); $(Header.childNodes[0]).has("a#collapsibleTable"+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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); s2wqcqfixu6khyllkquhc7vwbqsvbm6 436600 436599 2022-08-03T10:07: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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( "]" ) ); console.log($(Header.childNodes[0]).has('a'),"TYTAN") //$(Header.childNodes[0]).has("a").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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 6zjcmqy60hnxdkmr5pyikkvj99b98iz 436601 436600 2022-08-03T10:09:05Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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( "]" ) ); console.log($(Header.childNodes[0]).has('a'+"#collapsibleTable" + tableIndex ),"TYTAN") //$(Header.childNodes[0]).has("a").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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); ikevxnh2y4z8fpcjphcajahzzt383i8 436602 436601 2022-08-03T10:13: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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( "]" ) ); var a_collapsibleTable=$(Header.childNodes[0]).find("a#collapsibleTable" + tableIndex ); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ $(Header.childNodes[0]).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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); naj8oba1s0o1yhrwh9p198ypf6zm678 436603 436602 2022-08-03T10:14:17Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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( "]" ) ); var a_collapsibleTable=$(Header.childNodes[0]).find("a#collapsibleTable" + tableIndex ); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN"); $(Header.childNodes[0]).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 >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); rlfjl0vt67huhbr8xe11ktupff4cmho 436604 436603 2022-08-03T10:27: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); var a_collapsibleTable=$(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex); new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} a_collapsibleTable=$(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex); if((a_collapsibleTable!==null)&&(a_collapsibleTable!==null)){ console.log(a_collapsibleTable,"TYTAN"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); qcaitfebzfkli9xi3vk2km1hh5svb5c 436605 436604 2022-08-03T10:29:08Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); var a_collapsibleTable=$(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex); new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} a_collapsibleTable=$(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 8w40a5weaozu8crrzxnspnovuob0839 436606 436605 2022-08-03T10: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); var a_collapsibleTable=$(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex); new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} a_collapsibleTable=$(Header.childNodes[0]).find("a#collapsibleTable"+tableIndex); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); gixl6leaq3znukdklhcfn73m85o0rte 436607 436606 2022-08-03T10:32: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); var a_collapsibleTable=$(Header.childNodes[0]).has("a#collapsibleTable"+tableIndex); new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(Header.childNodes[0]).find("a#collapsibleTable"+tableIndex); console.log(a_collapsibleTable,"TYTAN1"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN2"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); ia7p5ytrbnx3kqnyf065tvhk7kbtv5w 436608 436607 2022-08-03T10:34:14Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(Header.childNodes[0]).find("a#collapsibleTable"+tableIndex); console.log(Header.childNodes[0],"TYTAN1"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN2"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); ms36o6cva8cgyzv4pekl869ohyfq2wo 436609 436608 2022-08-03T10:37: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0] ); new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(Header.childNodes[0]).children("a#collapsibleTable"+tableIndex); console.log(a_collapsibleTable[0],"TYTAN1"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN2"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 7e86ajy36dk89y2m5wlcqy70r7e7zjy 436610 436609 2022-08-03T10:45:01Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.Promise=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); //console.log(a_collapsibleTable[0],"TYTAN1"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN2"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0],); Common.Promise(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); lfjp28ef33itxkdifvamozoj6gd1pv3 436611 436610 2022-08-03T10:46:01Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.Promise=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); //console.log(a_collapsibleTable[0],"TYTAN1"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN2"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.Promise(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 1e2ph5wfxb4rtesufm47251r997q2wq 436612 436611 2022-08-03T10:46:57Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.Promise=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); //console.log(a_collapsibleTable[0],"TYTAN1"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN2"); resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.Promise(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); lgjggeimnn30h6dvke525d3sojrcqvw 436613 436612 2022-08-03T10:50: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ for(var i=1;i<a_collapsibleTable.length;++i){ $(a_collapsibleTable[i]).remove(); } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.Promise(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); otf6hh4lqsxiz2jbx0n1hisfujszf89 436614 436613 2022-08-03T10:52:27Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); console.log(a_collapsibleTable,"TYTAN"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ for(var i=1;i<a_collapsibleTable.length;++i){ $(a_collapsibleTable[i]).remove(); } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.Promise(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); sldys7g9jcrhhpm14a3vgl90b9r64ag 436615 436614 2022-08-03T10:53:32Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); console.log(a_collapsibleTable,"TYTAN"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ for(var i=1;i<a_collapsibleTable.length;++i){ //$(a_collapsibleTable[i]).remove(); } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.Promise(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 12bwhg3mlxa5aq9005986oz6mo92v6o 436616 436615 2022-08-03T10:54:17Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); console.log(a_collapsibleTable,"TYTAN"); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ for(var i=1;i<a_collapsibleTable.length;++i){ //$(a_collapsibleTable[i]).remove(); } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); ryoa1dhcerih4wf6xawa45th5i6lq5c 436617 436616 2022-08-03T10:54: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ for(var i=1;i<a_collapsibleTable.length;++i){ $(a_collapsibleTable[i]).remove(); } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 20ovwthrdwk5vo3zfnxx03atikmgsrs 436618 436617 2022-08-03T10:56:17Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).has(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ console.log(a_collapsibleTable,"TYTAN"); for(var i=1;i<a_collapsibleTable.length;++i){ } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 2yxw379tr3sn369hnz4q6f2mo44auvo 436619 436618 2022-08-03T10:57:47Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ console.log(a_collapsibleTable,"TYTAN"); for(var i=1;i<a_collapsibleTable.length;++i){ } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); aigpxxqzkg26dwsoehmpi6uqlibp2c6 436620 436619 2022-08-03T10:58: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>0)){ console.log(a_collapsibleTable,"TYTAN"); for(var i=1;i<a_collapsibleTable.length;++i){ } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header.childNodes[0],"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); dubxpgcxtzh2dq7rlbbf65q9hddplog 436621 436620 2022-08-03T11:01: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ console.log(a_collapsibleTable,"TYTAN"); for(var i=1;i<a_collapsibleTable.length;++i){ } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header,"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); pbuzpew0qej08529ihpipisnrfebr4m 436622 436621 2022-08-03T11:04:03Z 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 ); /**/ var Common=new Array(); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 3efb6ra96q2xu5ozo3lnj6k1ocsba1v 436623 436622 2022-08-03T11:07: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ console.log(a_collapsibleTable,"TYTAN"); for(var i=1;i<a_collapsibleTable.length;++i){ } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header,"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); pbuzpew0qej08529ihpipisnrfebr4m 436624 436623 2022-08-03T11:08: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.PromiseBox=function(rodzic,dziecko){ new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ czas+=100; if(czas>=30000){reject();return;} var a_collapsibleTable=$(rodzic).children(dziecko); if((a_collapsibleTable!==null)&&(a_collapsibleTable.length>1)){ console.log(a_collapsibleTable,"TYTAN"); for(var i=1;i<a_collapsibleTable.length;++i){ } resolve(); }else{ setTimeout(Czekaj,100); } }; setTimeout(Czekaj,100); }); } var autoCollapse = 2; var collapseCaption = "ukryj"; var 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 == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = 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( 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header,"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } this.createCollapseButtons=undefined; $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 1zl7a0ib4iviz02q1ft144bs596zh7p 436625 436624 2022-08-03T11:13:42Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** 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.insertBefore( Button, Header.childNodes[0]); Common.PromiseBox(Header,"a#collapseButton"+tableIndex); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } this.createCollapseButtons=undefined; $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + Common.collapseCaption + ']'; var 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); et0025935qif3fwpx4l4gq9wrk9wsa1 436626 436625 2022-08-03T11:14: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } this.createCollapseButtons=undefined; $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + Common.collapseCaption + ']'; var 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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:Commom.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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); g8ahtyth4lyddaq48mun850e426e7k5 436627 436626 2022-08-03T11:17:17Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { collapseTable ( i ); break; } } } } } this.createCollapseButtons=undefined; $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + Common.collapseCaption + ']'; var 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 == 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 = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == 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 = 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 ? NavigationBarShow : NavigationBarHide); $(NavToggle.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); dp9ti5nao834lc8850hu583nrur68yv 436628 436627 2022-08-03T11:22: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }); }); }; /*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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); t934w1be2e5xuhfr4qa8omia72g3auw 436629 436628 2022-08-03T11:23: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 85jjsdr4a3678j5xs1tlilf7fqbw5tl 436630 436629 2022-08-03T11:31:15Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Dodatki); /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 39w79sjr5k52o0vs8poe85it35572zl 436631 436630 2022-08-03T11:32: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ var Common=new Array(); 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 6futuc8lr9ll8nmja0zdr7wzw24uaiv 436632 436631 2022-08-03T11:34: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('div#NavToggle'+indexNavigationBar).remove(); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); f4saiodxs8vv95ix8zjrt4uh9dyadrn 436633 436632 2022-08-03T11:38:57Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); tn5trdidwh286u4g7hqoa3a0dbim6hz 436634 436633 2022-08-03T11:44: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "]" ) ); console.log(Header.childNodes[0],"TYTAN"); 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); htqrbsmrg2hv25ga9xefcl9cbjo0fy6 436635 436634 2022-08-03T11:46:17Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "]" ) ); var c=$(Header.childNodes[0]).has('a#collapseButton' + tableIndex); console.log(c,"TYTAN") 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); hervj3m7493pm4dyncb9cpvj43ez36n 436636 436635 2022-08-03T11:47: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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){ console.log(element); }); 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 8808ejl7owcgpzfg8jjnxwni3ckuyzy 436637 436636 2022-08-03T11:48: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); iyyugqleteazf9pnfis59xckuare3td 436638 436637 2022-08-03T11:51:35Z 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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('div.NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); l9115bb37mk7pyvhwcmw1yq7ggv0txq 436639 436638 2022-08-03T11:52: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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.lastChild).has('a#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); 1ebjgroioldnerxg6tsdjhdm8jcbsyj 436640 436639 2022-08-03T11:56: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. */ // Frame Busting if (top != self) top.location.href = self.location.href; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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); var c=$(NavToggle.lastChild).has('a#NavToggle' + indexNavigationBar);//.each(function(i,element){ //$(element).remove(); //}); console.log(c,"TYTAN") 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); rr1ngykfe4w8rndc3tnla2pyxfd9mjv 436641 436640 2022-08-03T11:58: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; /* * pageInfo, instrukcja obsługi: * pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * pageInfo.name pełna nazwa strony * pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * pageInfo.book tytuł książki * pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * 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); 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(); Common.Dodatki=function(){ if ( mw.config.get('wgPageName') == "Wikibooks:Dodatki" ) { // dodawanie mikropodsumowania // użycie: w [[Wikibooks:Dodatki]] // kod: <span class="microsummary"><span>http://blebleble</span><span>tekst</span></span> var WARNING = "Potrzebujesz przeglądarki obsługującej mikropodsumowania."; function addGenerator(url) { if (typeof window.sidebar == "object" && typeof window.sidebar.addMicrosummaryGenerator == "function") window.sidebar.addMicrosummaryGenerator(url); else alert(WARNING); } $(function() { var elements = document.getElementsByTagName("span"); for ( var i=0; i<elements.length; ++i ) { var el = elements[i]; if ( el.getAttribute("class") == "microsummary" ) { var url = el.firstChild.firstChild.data.replace(/\"/g, "\\\""); // ->span1->text var anchor = document.createElement("a"); anchor.href = 'javascript:addGenerator("' + url + '")'; anchor.appendChild(document.createTextNode(el.lastChild.firstChild.data)); // ->span2->text while ( el.firstChild ) el.removeChild(el.firstChild); el.appendChild(anchor); } } }); } } $(Common.Dodatki); /** 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( "Common.autoCollapse" ) ) ) { collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { 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); var c=$(NavToggle.lastChild).has('a#NavToggle' + indexNavigationBar);//.each(function(i,element){ //$(element).remove(); //}); console.log(c,"TYTAN",NavToggle.lastChild) 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].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google 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 = 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.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); $('body').append(div); var w1 = $('div', div).innerWidth(); div.css('overflow-y', 'scroll'); var w2 = $('div', div).innerWidth(); $(div).remove(); return (w1 - w2); } Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(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){ 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('sctickyXYOld-top');var StickyXYBottomOld=$(element_g).data('sctickyXYOld-bottom'); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('sctickyXYOld-top',((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('sctickyXYOld-bottom',((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('sctickyXYOld-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"; var x_box=undefined; 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"; x_box=((width_box=="width")?"x":"y"); $(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]); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=((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('sctickyXYOld-bottom')+5):(Math.max(0,$(element_g).data('sctickyXYOld-bottom')+5-bottom_ab)))+marginbottom+margintop))*(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(width_box_real>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.maxWidth=comp_element.getPropertyValue('max-width'); element.style.width=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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=(element.scrollWidth+Common.PobierzSzerokoscPaskaPrzewijania()+parseFloat(comp_element.getPropertyValue('padding-left'))+parseFloat(comp_element.getPropertyValue('padding-right')))+"px"; var x_box_right=((width_box=="width")?"y":"x"); 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(szerokosc>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)){ FunStickyXY("width","left","right","height","top","bottom"); }else if((!sticky_x)&&(sticky_y)){ FunStickyXY("height","top","bottom","width","left","right"); }else{ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(window).on('scroll', Common.StickyXY); $(window).on('resize', Common.StickyXY); /*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();') } } }); }).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*/ /*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(width_box_real>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_left=$(element_g).data("optimalXY-old-margin-"+left);var margin_right=$(element_g).data("optimalXY-old-margin-"+right); if(margin_left===undefined){ $(element_g).data("optimalXY-old-margin-"+left,comp.getPropertyValue("margin-"+left)); element_g.style["margin"+(left.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } if(margin_right===undefined){ $(element_g).data("optimalXY-old-margin-"+right,comp.getPropertyValue("margin-"+right)); element_g.style["margin"+(right.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="0"; } var margin_all=parseFloat($(element_g).data("optimalXY-old-margin-"+left))+parseFloat($(element_g).data("optimalXY-old-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').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(szerokosc>width_rodzic){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(window).on("resize",Common.OptimalXY); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i OptimalXY*/ Common.ZdarzeniaXYBeginEnd=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.ZdarzeniaXYBeginEnd("*.mw-sticky-x, *.mw-sticky-y",Common.StickyXY); Common.ZdarzeniaXYBeginEnd('*.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.style.visibility="hidden"; } }); } elements.on('click',StronaStartFun); } $(Common.StronaStart); h1y4ujx07pp38rlf2y072w2wih9m6hr Szablon:Rummikub/opis 10 58652 436584 2022-08-02T19:55:25Z Persino 2851 Utworzono nową stronę "{{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon podręcznika [[Rummikub]] - użycie: * {{s|rummikub|numer|kolor}} == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PON…" wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon podręcznika [[Rummikub]] - użycie: * {{s|rummikub|numer|kolor}} == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony}} </includeonly> bvsq8x58lk34f2h92914764ffqnwgt9 436586 436584 2022-08-02T20:04:48Z Persino 2851 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon podręcznika [[Rummikub]] - użycie: * {{s|rummikub|numer|kolor}} == Opis parametrów == ; Parametry * {{Code|1}} - tekst, * {{Code|kolor}} - kod koloru. == Przykład == ; Przykład pierwszy * {{s|rummikub|czerni|black}} ; Wynik * {{rummikub|czerni|black}} ----- ; Przykład drugi * {{s|rummikub|granacie|#0000FF}} ; Wynik * {{rummikub|granacie|#0000FF}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "description": "Tekst, by go pokolorować i obstawić w ramkę.", "type": "string", "required": true }, "2": { "description": "Kod lub nazwa, koloru.", "type": "unknown", "required": true } }, "description": "Szablon koloruje tekst według kodu lub nazwy koloru i obramowuje go w ramkę z pewnymi wewnętrznymi marginesami." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony}} </includeonly> 3h1lqy4skgpg7tmz80eq58ruvmp7cg6 436587 436586 2022-08-02T20:06:31Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon podręcznika [[Rummikub]] - użycie: * {{s|rummikub|numer|kolor}} == Opis parametrów == ; Parametry * {{Code|1}} - tekst do pokolorowania, * {{Code|kolor}} - kod lub nazwa, koloru. == Przykład == ; Przykład pierwszy * {{s|rummikub|czerni|black}} ; Wynik * {{rummikub|czerni|black}} ----- ; Przykład drugi * {{s|rummikub|granacie|#0000FF}} ; Wynik * {{rummikub|granacie|#0000FF}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "description": "Tekst, by go pokolorować i obstawić w ramkę.", "type": "string", "required": true }, "2": { "description": "Kod lub nazwa, koloru.", "type": "unknown", "required": true } }, "description": "Szablon koloruje tekst według kodu lub nazwy koloru i obramowuje go w ramkę z pewnymi wewnętrznymi marginesami." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony}} </includeonly> 88zu23hzpxgp5q53i28fs51lbt3rl2h